diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..ceb59d7d03 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Classify all '.function' files as C for syntax highlighting purposes +*.function linguist-language=C diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c5804436a4..50a4901c55 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,36 +1,19 @@ -Notes: -* Pull requests cannot be accepted until the PR follows the [contributing guidelines](../CONTRIBUTING.md). In particular, each commit must have at least one `Signed-off-by:` line from the committer to certify that the contribution is made under the terms of the [Developer Certificate of Origin](../dco.txt). -* This is just a template, so feel free to use/remove the unnecessary things ## Description -A few sentences describing the overall goals of the pull request's commits. +Please write a few sentences describing the overall goals of the pull request's commits. -## Status -**READY/IN DEVELOPMENT/HOLD** -## Requires Backporting -When there is a bug fix, it should be backported to all maintained and supported branches. -Changes do not have to be backported if: -- This PR is a new feature\enhancement -- This PR contains changes in the API. If this is true, and there is a need for the fix to be backported, the fix should be handled differently in the legacy branch -Yes | NO -Which branch? +## Gatekeeper checklist -## Migrations -If there is any API change, what's the incentive and logic for it. +- [ ] **changelog** provided, or not required +- [ ] **backport** done, or not required +- [ ] **tests** provided, or not required -YES | NO -## Additional comments -Any additional information that could be of interest -## Todos -- [ ] Tests -- [ ] Documentation -- [ ] Changelog updated -- [ ] Backported +## Notes for the submitter +Please refer to the [contributing guidelines](https://github.com/Mbed-TLS/mbedtls/blob/development/CONTRIBUTING.md), especially the +checklist for PR contributors. -## Steps to test or reproduce -Outline the steps to test or reproduce the PR here. diff --git a/.pylintrc b/.pylintrc index d217ff69c5..10c93f8791 100644 --- a/.pylintrc +++ b/.pylintrc @@ -73,3 +73,7 @@ reports=no # Allow unused variables if their name starts with an underscore. # [unused-argument] dummy-variables-rgx=_.* + +[SIMILARITIES] +# Ignore imports when computing similarities. +ignore-imports=yes diff --git a/.travis.yml b/.travis.yml index 67cb3ca61e..eaf817a7b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,8 +25,40 @@ jobs: - tests/scripts/all.sh -k build_arm_linux_gnueabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus - name: full configuration + os: linux + dist: focal + addons: + apt: + packages: + - clang-10 + - gnutls-bin script: - - tests/scripts/all.sh -k test_full_cmake_gcc_asan + # Do a manual build+test sequence rather than using all.sh, + # because there's no all.sh component that does what we want, + # which is a build with Clang >= 10 and ASan, running all the SSL + # testing. + # - The clang executable in the default PATH is Clang 7 on + # Travis's focal instances, but we want Clang >= 10. + # - Running all the SSL testing requires a specific set of + # OpenSSL and GnuTLS versions and we don't want to bother + # with those on Travis. + # So we explicitly select clang-10 as the compiler, and we + # have ad hoc restrictions on SSL testing based on what is + # passing at the time of writing. We will remove these limitations + # gradually. + - make generated_files + - make CC=clang-10 CFLAGS='-Werror -Wall -Wextra -fsanitize=address,undefined -fno-sanitize-recover=all -O2' LDFLAGS='-Werror -Wall -Wextra -fsanitize=address,undefined -fno-sanitize-recover=all' + - make test + - programs/test/selftest + - tests/scripts/test_psa_constant_names.py + - tests/ssl-opt.sh + # Modern OpenSSL does not support fixed ECDH or null ciphers. + - tests/compat.sh -p OpenSSL -e 'NULL\|ECDH-' + - tests/scripts/travis-log-failure.sh + # GnuTLS supports CAMELLIA but compat.sh doesn't properly enable it. + - tests/compat.sh -p GnuTLS -e 'CAMELLIA' + - tests/scripts/travis-log-failure.sh + - tests/context-info.sh - name: Windows os: windows diff --git a/3rdparty/everest/library/everest.c b/3rdparty/everest/library/everest.c index 82c4e03adb..fefc6a2ce4 100644 --- a/3rdparty/everest/library/everest.c +++ b/3rdparty/everest/library/everest.c @@ -28,12 +28,7 @@ #include "everest/x25519.h" #include "everest/everest.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) diff --git a/BRANCHES.md b/BRANCHES.md index 6240023dc2..c7a6082ec4 100644 --- a/BRANCHES.md +++ b/BRANCHES.md @@ -101,6 +101,6 @@ The following branches are currently maintained: - [`development`](https://github.com/Mbed-TLS/mbedtls/) - [`mbedtls-2.28`](https://github.com/Mbed-TLS/mbedtls/tree/mbedtls-2.28) maintained until at least the end of 2024, see - . + . Users are urged to always use the latest version of a maintained branch. diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d4646d7b8..ea090a692b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,7 +59,7 @@ option(MBEDTLS_FATAL_WARNINGS "Compiler warnings treated as errors" ON) if(CMAKE_HOST_WIN32) option(GEN_FILES "Generate the auto-generated files as needed" OFF) else() - option(GEN_FILES "Generate the auto-generated files as needed" OFF) + option(GEN_FILES "Generate the auto-generated files as needed" ON) endif() option(DISABLE_PACKAGE_CONFIG_AND_INSTALL "Disable package configuration, target export and installation" ${MBEDTLS_AS_SUBPROJECT}) @@ -120,35 +120,33 @@ endif() # Create a symbolic link from ${base_name} in the binary directory # to the corresponding path in the source directory. +# Note: Copies the file(s) on Windows. function(link_to_source base_name) - # Get OS dependent path to use in `execute_process` - if (CMAKE_HOST_WIN32) - #mklink is an internal command of cmd.exe it can only work with \ - string(REPLACE "/" "\\" link "${CMAKE_CURRENT_BINARY_DIR}/${base_name}") - string(REPLACE "/" "\\" target "${CMAKE_CURRENT_SOURCE_DIR}/${base_name}") - else() - set(link "${CMAKE_CURRENT_BINARY_DIR}/${base_name}") - set(target "${CMAKE_CURRENT_SOURCE_DIR}/${base_name}") - endif() + set(link "${CMAKE_CURRENT_BINARY_DIR}/${base_name}") + set(target "${CMAKE_CURRENT_SOURCE_DIR}/${base_name}") - if (NOT EXISTS ${link}) + # Linking to non-existent file is not desirable. At best you will have a + # dangling link, but when building in tree, this can create a symbolic link + # to itself. + if (EXISTS ${target} AND NOT EXISTS ${link}) if (CMAKE_HOST_UNIX) - set(command ln -s ${target} ${link}) + execute_process(COMMAND ln -s ${target} ${link} + RESULT_VARIABLE result + ERROR_VARIABLE output) + + if (NOT ${result} EQUAL 0) + message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}") + endif() else() if (IS_DIRECTORY ${target}) - set(command cmd.exe /c mklink /j ${link} ${target}) + file(GLOB_RECURSE files FOLLOW_SYMLINKS LIST_DIRECTORIES false RELATIVE ${target} "${target}/*") + foreach(file IN LISTS files) + configure_file("${target}/${file}" "${link}/${file}" COPYONLY) + endforeach(file) else() - set(command cmd.exe /c mklink /h ${link} ${target}) + configure_file(${target} ${link} COPYONLY) endif() endif() - - execute_process(COMMAND ${command} - RESULT_VARIABLE result - ERROR_VARIABLE output) - - if (NOT ${result} EQUAL 0) - message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}") - endif() endif() endfunction(link_to_source) @@ -227,7 +225,6 @@ if(CMAKE_COMPILER_IS_IAR) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --warn_about_c_style_casts") set(CMAKE_C_FLAGS_RELEASE "-Ohz") set(CMAKE_C_FLAGS_DEBUG "--debug -On") - set(CMAKE_C_FLAGS_CHECK "--warnings_are_errors") endif(CMAKE_COMPILER_IS_IAR) if(CMAKE_COMPILER_IS_MSVC) @@ -248,6 +245,10 @@ if(MBEDTLS_FATAL_WARNINGS) set(CMAKE_C_FLAGS_ASANDBG "${CMAKE_C_FLAGS_ASANDBG} -Wno-error=cpp") endif(UNSAFE_BUILD) endif(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNU) + + if (CMAKE_COMPILER_IS_IAR) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --warning_are_errors") + endif(CMAKE_COMPILER_IS_IAR) endif(MBEDTLS_FATAL_WARNINGS) if(CMAKE_BUILD_TYPE STREQUAL "Coverage") @@ -351,7 +352,7 @@ if(NOT DISABLE_PACKAGE_CONFIG_AND_INSTALL) write_basic_package_version_file( "cmake/MbedTLSConfigVersion.cmake" COMPATIBILITY SameMajorVersion - VERSION 3.2.1) + VERSION 3.3.0) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/MbedTLSConfig.cmake" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cea12f15d1..d19fe57ccc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,13 +1,20 @@ Contributing ============ -We gratefully accept bug reports and contributions from the community. There are some requirements we need to fulfill in order to be able to integrate contributions: +We gratefully accept bug reports and contributions from the community. All PRs are reviewed by the project team / community, and may need some modifications to +be accepted. - - As with any open source project, contributions will be reviewed by the project team and community and may need some modifications to be accepted. - - The contribution should not break API or ABI, unless there is a real justification for that. If there is an API change, the contribution, if accepted, will be merged only when there will be a major release. +Quick Checklist for PR contributors +----------------------------------- +More details on all of these points may be found in the sections below. + +- [Sign-off](#license-and-copyright): all commits must be signed off. +- [Tests](#tests): please ensure the PR includes adequate tests. +- [Changelog](#documentation): if needed, please provide a changelog entry. +- [Backports](#long-term-support-branches): provide a backport if needed (it's fine to wait until the main PR is accepted). Coding Standards ---------------- -- We would ask that contributions conform to [our coding standards](https://tls.mbed.org/kb/development/mbedtls-coding-standards), and that contributions are fully tested before submission, as mentioned in the [Tests](#tests) and [Continuous Integration](#continuous-integration-tests) sections. +- We would ask that contributions conform to [our coding standards](https://mbed-tls.readthedocs.io/en/latest/kb/development/mbedtls-coding-standards/), and that contributions are fully tested before submission, as mentioned in the [Tests](#tests) and [Continuous Integration](#continuous-integration-tests) sections. - The code should be written in a clean and readable style. - The code should be written in a portable generic way, that will benefit the whole community, and not only your own needs. - The code should be secure, and will be reviewed from a security point of view as well. @@ -19,15 +26,13 @@ Making a Contribution 1. Write a test which shows that the bug was fixed or that the feature works as expected. 1. Send a pull request (PR) and work with us until it gets merged and published. Contributions may need some modifications, so a few rounds of review and fixing may be necessary. We will include your name in the ChangeLog :) 1. For quick merging, the contribution should be short, and concentrated on a single feature or topic. The larger the contribution is, the longer it would take to review it and merge it. -1. All new files should include the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) standard license header where possible. -1. Ensure that each commit has at least one `Signed-off-by:` line from the committer. If anyone else contributes to the commit, they should also add their own `Signed-off-by:` line. By adding this line, contributor(s) certify that the contribution is made under the terms of the [Developer Certificate of Origin](dco.txt). The contribution licensing is described in the [License section of the README](README.md#License). Backwards Compatibility ----------------------- The project aims to minimise the impact on users upgrading to newer versions of the library and it should not be necessary for a user to make any changes to their own code to work with a newer version of the library. Unless the user has made an active decision to use newer features, a newer generation of the library or a change has been necessary due to a security issue or other significant software defect, no modifications to their own code should be necessary. To achieve this, API compatibility is maintained between different versions of Mbed TLS on the main development branch and in LTS (Long Term Support) branches, as described in [BRANCHES.md](BRANCHES.md). -To minimise such disruption to users, where a change to the interface is required, all changes to the ABI or API, even on the main development branch where new features are added, need to be justifiable by either being a significant enhancement, new feature or bug fix which is best resolved by an interface change. +To minimise such disruption to users, where a change to the interface is required, all changes to the ABI or API, even on the main development branch where new features are added, need to be justifiable by either being a significant enhancement, new feature or bug fix which is best resolved by an interface change. If there is an API change, the contribution, if accepted, will be merged only when there will be a major release. Where changes to an existing interface are necessary, functions in the public interface which need to be changed, are marked as 'deprecated'. This is done with the preprocessor symbols `MBEDTLS_DEPRECATED_WARNING` and `MBEDTLS_DEPRECATED_REMOVED`. Then, a new function with a new name but similar if not identical behaviour to the original function containing the necessary changes should be created alongside the existing deprecated function. @@ -56,9 +61,9 @@ Tests ----- As mentioned, tests that show the correctness of the feature or bug fix should be added to the pull request, if no such tests exist. -Mbed TLS includes a comprehensive set of test suites in the `tests/` directory that are dynamically generated to produce the actual test source files (e.g. `test_suite_mpi.c`). These files are generated from a `function file` (e.g. `suites/test_suite_mpi.function`) and a `data file` (e.g. `suites/test_suite_mpi.data`). The function file contains the test functions. The data file contains the test cases, specified as parameters that will be passed to the test function. +Mbed TLS includes a comprehensive set of test suites in the `tests/` directory that are dynamically generated to produce the actual test source files (e.g. `test_suite_rsa.c`). These files are generated from a `function file` (e.g. `suites/test_suite_rsa.function`) and a `data file` (e.g. `suites/test_suite_rsa.data`). The function file contains the test functions. The data file contains the test cases, specified as parameters that will be passed to the test function. -[A Knowledge Base article describing how to add additional tests is available on the Mbed TLS website](https://tls.mbed.org/kb/development/test_suites). +[A Knowledge Base article describing how to add additional tests is available on the Mbed TLS website](https://mbed-tls.readthedocs.io/en/latest/kb/development/test_suites/). A test script `tests/scripts/basic-build-test.sh` is available to show test coverage of the library. New code contributions should provide a similar level of code coverage to that which already exists for the library. @@ -77,5 +82,14 @@ Mbed TLS is well documented, but if you think documentation is needed, speak out 1. All interfaces should be documented through Doxygen. New APIs should introduce Doxygen documentation. 1. Complex parts in the code should include comments. 1. If needed, a Readme file is advised. -1. If a [Knowledge Base (KB)](https://tls.mbed.org/kb) article should be added, write this as a comment in the PR description. +1. If a [Knowledge Base (KB)](https://mbed-tls.readthedocs.io/en/latest/kb/) article should be added, write this as a comment in the PR description. 1. A [ChangeLog](https://github.com/Mbed-TLS/mbedtls/blob/development/ChangeLog.d/00README.md) entry should be added for this contribution. + +License and Copyright +--------------------- + +All new files should include the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) standard license header where possible. For licensing details, please see the [License section of the README](README.md#License). + +The copyright on contributions is retained by the original authors of the code. Where possible for new files, this should be noted in a comment at the top of the file in the form: "Copyright The Mbed TLS Contributors". + +When contributing code to us, the committer and all authors are required to make the submission under the terms of the [Developer Certificate of Origin](dco.txt), confirming that the code submitted can (legally) become part of the project, and be subject to the same Apache 2.0 license. This is done by including the standard Git `Signed-off-by:` line in every commit message. If more than one person contributed to the commit, they should also add their own `Signed-off-by:` line. diff --git a/ChangeLog b/ChangeLog index 6dfb23fa6a..5de864154e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,209 @@ Mbed TLS ChangeLog (Sorted per branch, date) += Mbed TLS 3.3.0 branch released 2022-12-14 + +Default behavior changes + * Previously the macro MBEDTLS_SSL_DTLS_CONNECTION_ID implemented version 05 + of the IETF draft, and was marked experimental and disabled by default. + It is now no longer experimental, and implements the final version from + RFC 9146, which is not interoperable with the draft-05 version. + If you need to communicate with peers that use earlier versions of + Mbed TLS, then you need to define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT + to 1, but then you won't be able to communicate with peers that use the + standard (non-draft) version. + If you need to interoperate with both classes of peers with the + same build of Mbed TLS, please let us know about your situation on the + mailing list or GitHub. + +Requirement changes + * When building with PSA drivers using generate_driver_wrappers.py, or + when building the library from the development branch rather than + from a release, the Python module jsonschema is now necessary, in + addition to jinja2. The official list of required Python modules is + maintained in scripts/basic.requirements.txt and may change again + in the future. + +New deprecations + * Deprecate mbedtls_asn1_free_named_data(). + Use mbedtls_asn1_free_named_data_list() + or mbedtls_asn1_free_named_data_list_shallow(). + +Features + * Support rsa_pss_rsae_* signature algorithms in TLS 1.2. + * make: enable building unversioned shared library, with e.g.: + "SHARED=1 SOEXT_TLS=so SOEXT_X509=so SOEXT_CRYPTO=so make lib" + resulting in library names like "libmbedtls.so" rather than + "libmbedcrypto.so.11". + * Expose the EC J-PAKE functionality through the Draft PSA PAKE Crypto API. + Only the ECC primitive with secp256r1 curve and SHA-256 hash algorithm + are supported in this implementation. + * Some modules can now use PSA drivers for hashes, including with no + built-in implementation present, but only in some configurations. + - RSA OAEP and PSS (PKCS#1 v2.1), PKCS5, PKCS12 and EC J-PAKE now use + hashes from PSA when (and only when) MBEDTLS_MD_C is disabled. + - PEM parsing of encrypted files now uses MD-5 from PSA when (and only + when) MBEDTLS_MD5_C is disabled. + See the documentation of the corresponding macros in mbedtls_config.h for + details. + Note that some modules are not able to use hashes from PSA yet, including + the entropy module. As a consequence, for now the only way to build with + all hashes only provided by drivers (no built-in hash) is to use + MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG. + * When MBEDTLS_USE_PSA_CRYPTO is enabled, X.509, TLS 1.2 and TLS 1.3 now + properly negotiate/accept hashes based on their availability in PSA. + As a consequence, they now work in configurations where the built-in + implementations of (some) hashes are excluded and those hashes are only + provided by PSA drivers. (See previous entry for limitation on RSA-PSS + though: that module only use hashes from PSA when MBEDTLS_MD_C is off). + * Add support for opaque keys as the private keys associated to certificates + for authentication in TLS 1.3. + * Add the LMS post-quantum-safe stateful-hash asymmetric signature scheme. + Signature verification is production-ready, but generation is for testing + purposes only. This currently only supports one parameter set + (LMS_SHA256_M32_H10), meaning that each private key can be used to sign + 1024 messages. As such, it is not intended for use in TLS, but instead + for verification of assets transmitted over an insecure channel, + particularly firmware images. + * Add the LM-OTS post-quantum-safe one-time signature scheme, which is + required for LMS. This can be used independently, but each key can only + be used to sign one message so is impractical for most circumstances. + * Mbed TLS now supports TLS 1.3 key establishment via pre-shared keys. + The pre-shared keys can be provisioned externally or via the ticket + mechanism (session resumption). + The ticket mechanism is supported when the configuration option + MBEDTLS_SSL_SESSION_TICKETS is enabled. + New options MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_xxx_ENABLED + control the support for the three possible TLS 1.3 key exchange modes. + * cert_write: support for setting extended key usage attributes. A + corresponding new public API call has been added in the library, + mbedtls_x509write_crt_set_ext_key_usage(). + * cert_write: support for writing certificate files in either PEM + or DER format. + * The PSA driver wrapper generator generate_driver_wrappers.py now + supports a subset of the driver description language, including + the following entry points: import_key, export_key, export_public_key, + get_builtin_key, copy_key. + * The new functions mbedtls_asn1_free_named_data_list() and + mbedtls_asn1_free_named_data_list_shallow() simplify the management + of memory in named data lists in X.509 structures. + * The TLS 1.2 EC J-PAKE key exchange can now use the PSA Crypto API. + Additional PSA key slots will be allocated in the process of such key + exchange for builds that enable MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED and + MBEDTLS_USE_PSA_CRYPTO. + * Add support for DTLS Connection ID as defined by RFC 9146, controlled by + MBEDTLS_SSL_DTLS_CONNECTION_ID (enabled by default) and configured with + mbedtls_ssl_set_cid(). + * Add a driver dispatch layer for raw key agreement, enabling alternative + implementations of raw key agreement through the key_agreement driver + entry point. This entry point is specified in the proposed PSA driver + interface, but had not yet been implemented. + * Add an ad-hoc key derivation function handling EC J-PAKE to PMS + calculation that can be used to derive the session secret in TLS 1.2, + as described in draft-cragie-tls-ecjpake-01. This can be achieved by + using PSA_ALG_TLS12_ECJPAKE_TO_PMS as the key derivation algorithm. + +Security + * Fix potential heap buffer overread and overwrite in DTLS if + MBEDTLS_SSL_DTLS_CONNECTION_ID is enabled and + MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX. + * An adversary with access to precise enough information about memory + accesses (typically, an untrusted operating system attacking a secure + enclave) could recover an RSA private key after observing the victim + performing a single private-key operation if the window size used for the + exponentiation was 3 or smaller. Found and reported by Zili KOU, + Wenjian HE, Sharad Sinha, and Wei ZHANG. See "Cache Side-channel Attacks + and Defenses of the Sliding Window Algorithm in TEEs" - Design, Automation + and Test in Europe 2023. + +Bugfix + * Refactor mbedtls_aes_context to support shallow-copying. Fixes #2147. + * Fix an issue with in-tree CMake builds in releases with GEN_FILES + turned off: if a shipped file was missing from the working directory, + it could be turned into a symbolic link to itself. + * Fix a long-standing build failure when building x86 PIC code with old + gcc (4.x). The code will be slower, but will compile. We do however + recommend upgrading to a more recent compiler instead. Fixes #1910. + * Fix support for little-endian Microblaze when MBEDTLS_HAVE_ASM is defined. + Contributed by Kazuyuki Kimura to fix #2020. + * Use double quotes to include private header file psa_crypto_cipher.h. + Fixes 'file not found with include' error + when building with Xcode. + * Fix handling of broken symlinks when loading certificates using + mbedtls_x509_crt_parse_path(). Instead of returning an error as soon as a + broken link is encountered, skip the broken link and continue parsing + other certificate files. Contributed by Eduardo Silva in #2602. + * Fix an interoperability failure between an Mbed TLS client with both + TLS 1.2 and TLS 1.3 support, and a TLS 1.2 server that supports + rsa_pss_rsae_* signature algorithms. This failed because Mbed TLS + advertised support for PSS in both TLS 1.2 and 1.3, but only + actually supported PSS in TLS 1.3. + * Fix a compilation error when using CMake with an IAR toolchain. + Fixes #5964. + * Fix a build error due to a missing prototype warning when + MBEDTLS_DEPRECATED_REMOVED is enabled. + * Fix mbedtls_ctr_drbg_free() on an initialized but unseeded context. When + MBEDTLS_AES_ALT is enabled, it could call mbedtls_aes_free() on an + uninitialized context. + * Fix a build issue on Windows using CMake where the source and build + directories could not be on different drives. Fixes #5751. + * Fix bugs and missing dependencies when building and testing + configurations with only one encryption type enabled in TLS 1.2. + * Provide the missing definition of mbedtls_setbuf() in some configurations + with MBEDTLS_PLATFORM_C disabled. Fixes #6118, #6196. + * Fix compilation errors when trying to build with + PSA drivers for AEAD (GCM, CCM, Chacha20-Poly1305). + * Fix memory leak in ssl_parse_certificate_request() caused by + mbedtls_x509_get_name() not freeing allocated objects in case of error. + Change mbedtls_x509_get_name() to clean up allocated objects on error. + * Fix build failure with MBEDTLS_RSA_C and MBEDTLS_PSA_CRYPTO_C but not + MBEDTLS_USE_PSA_CRYPTO or MBEDTLS_PK_WRITE_C. Fixes #6408. + * Fix build failure with MBEDTLS_RSA_C and MBEDTLS_PSA_CRYPTO_C but not + MBEDTLS_PK_PARSE_C. Fixes #6409. + * Fix ECDSA verification, where it was not always validating the + public key. This bug meant that it was possible to verify a + signature with an invalid public key, in some cases. Reported by + Guido Vranken using Cryptofuzz in #4420. + * Fix a possible null pointer dereference if a memory allocation fails + in TLS PRF code. Reported by Michael Madsen in #6516. + * Fix TLS 1.3 session resumption. Fixes #6488. + * Add a configuration check to exclude optional client authentication + in TLS 1.3 (where it is forbidden). + * Fix a bug in which mbedtls_x509_crt_info() would produce non-printable + bytes when parsing certificates containing a binary RFC 4108 + HardwareModuleName as a Subject Alternative Name extension. Hardware + serial numbers are now rendered in hex format. Fixes #6262. + * Fix bug in error reporting in dh_genprime.c where upon failure, + the error code returned by mbedtls_mpi_write_file() is overwritten + and therefore not printed. + * In the bignum module, operations of the form (-A) - (+A) or (-A) - (-A) + with A > 0 created an unintended representation of the value 0 which was + not processed correctly by some bignum operations. Fix this. This had no + consequence on cryptography code, but might affect applications that call + bignum directly and use negative numbers. + * Fix a bug whereby the list of signature algorithms sent as part of + the TLS 1.2 server certificate request would get corrupted, meaning the + first algorithm would not get sent and an entry consisting of two random + bytes would be sent instead. Found by Serban Bejan and Dudek Sebastian. + * Fix undefined behavior (typically harmless in practice) of + mbedtls_mpi_add_mpi(), mbedtls_mpi_add_abs() and mbedtls_mpi_add_int() + when both operands are 0 and the left operand is represented with 0 limbs. + * Fix undefined behavior (typically harmless in practice) when some bignum + functions receive the most negative value of mbedtls_mpi_sint. Credit + to OSS-Fuzz. Fixes #6597. + * Fix undefined behavior (typically harmless in practice) in PSA ECB + encryption and decryption. + * Move some SSL-specific code out of libmbedcrypto where it had been placed + accidentally. + * Fix a build error when compiling the bignum module for some Arm platforms. + Fixes #6089, #6124, #6217. + +Changes + * Add the ability to query PSA_WANT_xxx macros to query_compile_time_config. + * Calling AEAD tag-specific functions for non-AEAD algorithms (which + should not be done - they are documented for use only by AES-GCM and + ChaCha20+Poly1305) now returns MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE + instead of success (0). + = Mbed TLS 3.2.1 branch released 2022-07-12 Bugfix @@ -249,7 +453,7 @@ Bugfix make to break on a clean checkout. Fixes #5340. * Work around an MSVC ARM64 compiler bug causing incorrect behaviour in mbedtls_mpi_exp_mod(). Reported by Tautvydas Žilys in #5467. - * Removed the prompt to exit from all windows build programs that was causing + * Removed the prompt to exit from all windows build programs, which was causing issues in CI/CD environments. Changes @@ -463,7 +667,7 @@ API changes provides better randomness. Instead of HAVEGE, declare OS or hardware RNG interfaces with mbedtls_entropy_add_source() and/or use an entropy seed file created securely during device provisioning. See - https://tls.mbed.org/kb/how-to/add-entropy-sources-to-entropy-pool for + https://mbed-tls.readthedocs.io/en/latest/kb/how-to/add-entropy-sources-to-entropy-pool/ for more information. * Add missing const attributes to API functions. * Remove helpers for the transition from Mbed TLS 1.3 to Mbed TLS 2.0: the diff --git a/ChangeLog.d/LMS.txt b/ChangeLog.d/LMS.txt deleted file mode 100644 index 0f09f01860..0000000000 --- a/ChangeLog.d/LMS.txt +++ /dev/null @@ -1,12 +0,0 @@ -Features - * Add the LMS post-quantum-safe stateful-hash asymmetric signature scheme - as defined in RFC8554 and NIST.SP.200-208. This currently only supports - one parameter set (LMS_SHA256_M32_H10), meaning that each private key can - be used to sign 1024 messages. As such, it is not intended for use in TLS, - but instead for verification of assets transmitted over an insecure - channel, particularly firmware images. This is one of the signature - schemes recommended by the IETF draft SUIT standard for IOT firmware - upgrades (RFC9019). - * Add the LM-OTS post-quantum-safe one-time signature scheme, which is - required for LMS. This can be used independently, but each key can only be - used to sign one message so is impractical for most circumstances. diff --git a/README.md b/README.md index 8978fafb61..1a4edb05cc 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,9 @@ We provide some non-standard configurations focused on specific use cases in the Documentation ------------- -Documentation for the Mbed TLS interfaces in the default library configuration is available as part of the [Mbed TLS documentation](https://tls.mbed.org/api/). +The main Mbed TLS documentation is available via [ReadTheDocs](https://mbed-tls.readthedocs.io/). + +Documentation for the PSA Cryptography API is available [on GitHub](https://arm-software.github.io/psa-api/crypto/). To generate a local copy of the library documentation in HTML format, tailored to your compile-time configuration: @@ -103,9 +105,9 @@ Setting the variable `SHARED` in your environment will build shared libraries in Please note that setting `CFLAGS` overrides its default value of `-O2` and setting `WARNING_CFLAGS` overrides its default value (starting with `-Wall -Wextra`), so if you just want to add some warning options to the default ones, you can do so by setting `CFLAGS=-O2 -Werror` for example. Setting `WARNING_CFLAGS` is useful when you want to get rid of its default content (for example because your compiler doesn't accept `-Wall` as an option). Directory-specific options cannot be overridden from the command line. -Depending on your platform, you might run into some issues. Please check the Makefiles in `library/`, `programs/` and `tests/` for options to manually add or remove for specific platforms. You can also check [the Mbed TLS Knowledge Base](https://tls.mbed.org/kb) for articles on your platform or issue. +Depending on your platform, you might run into some issues. Please check the Makefiles in `library/`, `programs/` and `tests/` for options to manually add or remove for specific platforms. You can also check [the Mbed TLS Knowledge Base](https://mbed-tls.readthedocs.io/en/latest/kb/) for articles on your platform or issue. -In case you find that you need to do something else as well, please let us know what, so we can add it to the [Mbed TLS Knowledge Base](https://tls.mbed.org/kb). +In case you find that you need to do something else as well, please let us know what, so we can add it to the [Mbed TLS Knowledge Base](https://mbed-tls.readthedocs.io/en/latest/kb/). ### CMake @@ -240,7 +242,7 @@ For machines with a Unix shell and OpenSSL (and optionally GnuTLS) installed, ad - `tests/ssl-opt.sh` runs integration tests for various TLS options (renegotiation, resumption, etc.) and tests interoperability of these options with other implementations. - `tests/compat.sh` tests interoperability of every ciphersuite with other implementations. - `tests/scripts/test-ref-configs.pl` test builds in various reduced configurations. -- `tests/scripts/key-exchanges.pl` test builds in configurations with a single key exchange enabled +- `tests/scripts/depends.py` test builds in configurations with a single curve, key exchange, hash, cipher, or pkalg on. - `tests/scripts/all.sh` runs a combination of the above tests, plus some more, with various build options (such as ASan, full `mbedtls_config.h`, etc). Porting Mbed TLS @@ -248,9 +250,9 @@ Porting Mbed TLS Mbed TLS can be ported to many different architectures, OS's and platforms. Before starting a port, you may find the following Knowledge Base articles useful: -- [Porting Mbed TLS to a new environment or OS](https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS) -- [What external dependencies does Mbed TLS rely on?](https://tls.mbed.org/kb/development/what-external-dependencies-does-mbedtls-rely-on) -- [How do I configure Mbed TLS](https://tls.mbed.org/kb/compiling-and-building/how-do-i-configure-mbedtls) +- [Porting Mbed TLS to a new environment or OS](https://mbed-tls.readthedocs.io/en/latest/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS/) +- [What external dependencies does Mbed TLS rely on?](https://mbed-tls.readthedocs.io/en/latest/kb/development/what-external-dependencies-does-mbedtls-rely-on/) +- [How do I configure Mbed TLS](https://mbed-tls.readthedocs.io/en/latest/kb/compiling-and-building/how-do-i-configure-mbedtls/) Mbed TLS is mostly written in portable C99; however, it has a few platform requirements that go beyond the standard, but are met by most modern architectures: @@ -263,11 +265,11 @@ Mbed TLS is mostly written in portable C99; however, it has a few platform requi PSA cryptography API -------------------- -### PSA API design +### PSA API Arm's [Platform Security Architecture (PSA)](https://developer.arm.com/architectures/security-architectures/platform-security-architecture) is a holistic set of threat models, security analyses, hardware and firmware architecture specifications, and an open source firmware reference implementation. PSA provides a recipe, based on industry best practice, that allows security to be consistently designed in, at both a hardware and firmware level. -The [PSA cryptography API](https://armmbed.github.io/mbed-crypto/psa/#application-programming-interface) provides access to a set of cryptographic primitives. It has a dual purpose. First, it can be used in a PSA-compliant platform to build services, such as secure boot, secure storage and secure communication. Second, it can also be used independently of other PSA components on any platform. +The [PSA cryptography API](https://arm-software.github.io/psa-api/crypto/) provides access to a set of cryptographic primitives. It has a dual purpose. First, it can be used in a PSA-compliant platform to build services, such as secure boot, secure storage and secure communication. Second, it can also be used independently of other PSA components on any platform. The design goals of the PSA cryptography API include: @@ -279,10 +281,6 @@ The design goals of the PSA cryptography API include: Arm welcomes feedback on the design of the API. If you think something could be improved, please open an issue on our Github repository. Alternatively, if you prefer to provide your feedback privately, please email us at [`mbed-crypto@arm.com`](mailto:mbed-crypto@arm.com). All feedback received by email is treated confidentially. -### PSA API documentation - -A browsable copy of the PSA Cryptography API documents is available on the [PSA cryptography interfaces documentation portal](https://armmbed.github.io/mbed-crypto/psa/#application-programming-interface) in [PDF](https://armmbed.github.io/mbed-crypto/PSA_Cryptography_API_Specification.pdf) and [HTML](https://armmbed.github.io/mbed-crypto/html/index.html) formats. - ### PSA implementation in Mbed TLS Mbed TLS includes a reference implementation of the PSA Cryptography API. diff --git a/SECURITY.md b/SECURITY.md index 26b77abed9..33bbc2ff30 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,4 +1,4 @@ -## Reporting Vulneratibilities +## Reporting Vulnerabilities If you think you have found an Mbed TLS security vulnerability, then please send an email to the security team at diff --git a/SUPPORT.md b/SUPPORT.md index dab7ac54f2..b550e08e5d 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -2,10 +2,11 @@ Here are some useful sources of information about using Mbed TLS: +- [ReadTheDocs](https://mbed-tls.readthedocs.io/); - API documentation, see the [Documentation section of the - README](README.md#License); + README](README.md#documentation); - the `docs` directory in the source tree; -- the [Mbed TLS knowledge Base](https://tls.mbed.org/kb); +- the [Mbed TLS Knowledge Base](https://mbed-tls.readthedocs.io/en/latest/kb/); - the [Mbed TLS mailing-list archives](https://lists.trustedfirmware.org/archives/list/mbed-tls@lists.trustedfirmware.org/). diff --git a/docs/3.0-migration-guide.md b/docs/3.0-migration-guide.md index b933edfe60..63a13ad876 100644 --- a/docs/3.0-migration-guide.md +++ b/docs/3.0-migration-guide.md @@ -141,7 +141,7 @@ recommended), or users who used it through the entropy module but had it as the only source of entropy. If you're in that case, please declare OS or hardware RNG interfaces with `mbedtls_entropy_add_source()` and/or use an entropy seed file created securely during device provisioning. See - for more + for more information. ### Remove helpers for the transition from Mbed TLS 1.3 to Mbed TLS 2.0 @@ -800,7 +800,7 @@ than just the MFL configuration into account. ### Relaxed semantics for PSK configuration This affects users which call the PSK configuration APIs -`mbedtlsl_ssl_conf_psk()` and `mbedtls_ssl_conf_psk_opaque()` +`mbedtls_ssl_conf_psk()` and `mbedtls_ssl_conf_psk_opaque()` multiple times on the same SSL configuration. In Mbed TLS 2.x, users would observe later calls overwriting diff --git a/docs/architecture/alternative-implementations.md b/docs/architecture/alternative-implementations.md index 7fe6332b47..eacdea7c3a 100644 --- a/docs/architecture/alternative-implementations.md +++ b/docs/architecture/alternative-implementations.md @@ -38,7 +38,7 @@ The general principle of an alternative implementation is: * Create a header file `xxx_alt.h` that defines the context type(s) used by the module. For example, `mbedtls_aes_context` for AES. * Implement all the functions from the module, i.e. the functions declared in `include/mbedtls/xxx.h`. -See https://tls.mbed.org/kb/development/hw_acc_guidelines for a more detailed guide. +See https://mbed-tls.readthedocs.io/en/latest/kb/development/hw_acc_guidelines for a more detailed guide. ### Constraints on context types diff --git a/docs/architecture/psa-crypto-implementation-structure.md b/docs/architecture/psa-crypto-implementation-structure.md index cd4d427bf2..6a0a0953c0 100644 --- a/docs/architecture/psa-crypto-implementation-structure.md +++ b/docs/architecture/psa-crypto-implementation-structure.md @@ -1,4 +1,4 @@ -PSA Cryptograpy API implementation and PSA driver interface +PSA Cryptography API implementation and PSA driver interface =========================================================== ## Introduction diff --git a/docs/architecture/psa-migration/outcome-analysis.sh b/docs/architecture/psa-migration/outcome-analysis.sh new file mode 100755 index 0000000000..9084685482 --- /dev/null +++ b/docs/architecture/psa-migration/outcome-analysis.sh @@ -0,0 +1,132 @@ +#!/bin/sh + +# This script runs tests in various revisions and configurations and analyses +# the results in order to highlight any difference in the set of tests skipped +# in the test suites of interest. +# +# It can be used to ensure the testing criteria mentioned in strategy.md, +# end of section "Supporting builds with drivers without the software +# implementation" are met, namely: +# +# - the sets of tests skipped in the default config and the full config must be +# the same before and after the PR that implements step 3; +# - the set of tests skipped in the driver-only build is the same as in an +# equivalent software-based configuration, or the difference is small enough, +# justified, and a github issue is created to track it. +# This part is verified by tests/scripts/analyze_outcomes.py +# +# WARNING: this script checks out a commit other than the head of the current +# branch; it checks out the current branch again when running successfully, +# but while the script is running, or if it terminates early in error, you +# should be aware that you might be at a different commit than expected. +# +# NOTE: This is only an example/template script, you should make a copy and +# edit it to suit your needs. The part that needs editing is at the top. +# +# Also, you can comment out parts that don't need to be re-done when +# re-running this script (for example "get numbers before this PR"). + +# ----- BEGIN edit this ----- +# Space-separated list of test suites to ignore: +# if SSS is in that list, test_suite_SSS and test_suite_SSS.* are ignored. +IGNORE="md mdx shax" # accelerated +IGNORE="$IGNORE entropy hmac_drbg random" # disabled (ext. RNG) +IGNORE="$IGNORE psa_crypto_init" # needs internal RNG +IGNORE="$IGNORE hkdf" # disabled in the all.sh component tested +# ----- END edit this ----- + +set -eu + +cleanup() { + make clean + git checkout -- include/mbedtls/mbedtls_config.h include/psa/crypto_config.h +} + +record() { + export MBEDTLS_TEST_OUTCOME_FILE="$PWD/outcome-$1.csv" + rm -f $MBEDTLS_TEST_OUTCOME_FILE + make check +} + +# save current HEAD +HEAD=$(git branch --show-current) + +# get the numbers before this PR for default and full +cleanup +git checkout $(git merge-base HEAD development) +record "before-default" + +cleanup +scripts/config.py full +record "before-full" + +# get the numbers now for default and full +cleanup +git checkout $HEAD +record "after-default" + +cleanup +scripts/config.py full +record "after-full" + + +# analysis + +populate_suites () { + SUITES='' + make generated_files >/dev/null + data_files=$(cd tests/suites && echo *.data) + for data in $data_files; do + suite=${data#test_suite_} + suite=${suite%.data} + suite_base=${suite%%.*} + case " $IGNORE " in + *" $suite_base "*) :;; + *) SUITES="$SUITES $suite";; + esac + done + make neat +} + +compare_suite () { + ref="outcome-$1.csv" + new="outcome-$2.csv" + suite="$3" + + pattern_suite=";test_suite_$suite;" + total=$(grep -c "$pattern_suite" "$ref") + sed_cmd="s/^.*$pattern_suite\(.*\);SKIP.*/\1/p" + sed -n "$sed_cmd" "$ref" > skipped-ref + sed -n "$sed_cmd" "$new" > skipped-new + nb_ref=$(wc -l %4d\n" \ + $suite $total $nb_ref $nb_new + if diff skipped-ref skipped-new | grep '^> '; then + ret=1 + else + ret=0 + fi + rm skipped-ref skipped-new + return $ret +} + +compare_builds () { + printf "\n*** Comparing $1 -> $2 ***\n" + failed='' + for suite in $SUITES; do + if compare_suite "$1" "$2" "$suite"; then :; else + failed="$failed $suite" + fi + done + if [ -z "$failed" ]; then + printf "No coverage gap found.\n" + else + printf "Suites with less coverage:%s\n" "$failed" + fi +} + +populate_suites +compare_builds before-default after-default +compare_builds before-full after-full diff --git a/docs/architecture/psa-migration/psa-limitations.md b/docs/architecture/psa-migration/psa-limitations.md index 7b8ec9929f..e565b283e9 100644 --- a/docs/architecture/psa-migration/psa-limitations.md +++ b/docs/architecture/psa-migration/psa-limitations.md @@ -29,11 +29,6 @@ github. [ffdh]: https://github.com/Mbed-TLS/mbedtls/issues/3261 -PSA Crypto has an experimental API for EC J-PAKE, but it's not implemented in -Mbed TLS yet. See the [EC J-PAKE follow-up EPIC][ecjp] on github. - -[ecjp]: https://github.com/orgs/Mbed-TLS/projects/1#column-17950140 - Arbitrary parameters for FFDH ----------------------------- @@ -171,7 +166,7 @@ match a limitation of the PSA API. It is unclear what parameters people use in practice. It looks like by default OpenSSL picks saltlen = keylen - hashlen - 2 (tested with openssl 1.1.1f). -The `certool` command provided by GnuTLS seems to be picking saltlen = hashlen +The `certtool` command provided by GnuTLS seems to be picking saltlen = hashlen by default (tested with GnuTLS 3.6.13). FIPS 186-4 requires 0 <= saltlen <= hashlen. diff --git a/docs/architecture/psa-migration/strategy.md b/docs/architecture/psa-migration/strategy.md index 7bb8247170..0ad5fa0a53 100644 --- a/docs/architecture/psa-migration/strategy.md +++ b/docs/architecture/psa-migration/strategy.md @@ -12,19 +12,14 @@ G3. Allow isolation of short-term secrets (for example, TLS session keys). G4. Have a clean, unified API for Crypto (retire the legacy API). G5. Code size: compile out our implementation when a driver is available. -Currently, some parts of (G1) and (G2) are implemented when +As of Mbed TLS 3.2, most of (G1) and all of (G2) is implemented when `MBEDTLS_USE_PSA_CRYPTO` is enabled. For (G2) to take effect, the application -needs to be changed to use new APIs. +needs to be changed to use new APIs. For a more detailed account of what's +implemented, see `docs/use-psa-crypto.md`, where new APIs are about (G2), and +internal changes implement (G1). Generally speaking, the numbering above doesn't mean that each goal requires -the preceding ones to be completed, for example G2-G5 could be done in any -order; however they all either depend on G1 or are just much more convenient -if G1 is done before (note that this is not a dependency on G1 being complete, -it's more like each bit of G2-G5 is helped by some specific bit in G1). - -So, a solid intermediate goal would be to complete (G1) when -`MBEDTLS_USA_PSA_CRYPTO` is enabled - that is, all crypto operations in X.509 -and TLS would be done via the PSA Crypto API. +the preceding ones to be completed. Compile-time options ==================== @@ -36,27 +31,26 @@ We currently have two compile-time options that are relevant to the migration: - `MBEDTLS_USE_PSA_CRYPTO` - disabled by default (enabled in "full" config), controls usage of PSA Crypto APIs to perform operations in X.509 and TLS (G1 above), as well as the availability of some new APIs (G2 above). +- `PSA_CRYPTO_CONFIG` - disabled by default, supports builds with drivers and + without the corresponding software implementation (G5 above). The reasons why `MBEDTLS_USE_PSA_CRYPTO` is optional and disabled by default are: - it's incompatible with `MBEDTLS_ECP_RESTARTABLE`; -- it does not work well with `MBEDTLS_PSA_CRYPTO_CONFIG` (could compile with - both of them, but then `MBEDTLS_PSA_CRYPTO_CONFIG` won't have the desired -effect) - to avoid a hard/default dependency of TLS, X.509 and PK on `MBEDTLS_PSA_CRYPTO_C`, for backward compatibility reasons: - When `MBEDTLS_PSA_CRYPTO_C` is enabled and used, applications need to call `psa_crypto_init()` before TLS/X.509 uses PSA functions. (This prevents us from even enabling the option by default.) - - `MBEDTLS_PSA_CRYPTO_C` has a hard depend on `MBEDTLS_ENTROPY_C || + - `MBEDTLS_PSA_CRYPTO_C` has a hard dependency on `MBEDTLS_ENTROPY_C || MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG` but it's - currently possible to compilte TLS and X.509 without any of the options. + currently possible to compile TLS and X.509 without any of the options. Also, we can't just auto-enable `MBEDTLS_ENTROPY_C` as it doesn't build out of the box on all platforms, and even less `MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG` as it requires a user-provided RNG function. -The downside of this approach is that until we feel ready to make +The downside of this approach is that until we are able to make `MBDEDTLS_USE_PSA_CRYPTO` non-optional (always enabled), we have to maintain two versions of some parts of the code: one using PSA, the other using the legacy APIs. However, see next section for strategies that can lower that @@ -77,57 +71,19 @@ Crypto does not support restartable operations, there's a clear conflict: the TLS and X.509 layers can't both use only PSA APIs and get restartable behaviour. -Supporting this in PSA is on our roadmap (it's been requested). But it's way -below generalizing support for `MBEDTLS_USE_PSA_CRYPTO` for “mainstream” use -cases on our priority list. So in the medium term `MBEDTLS_ECP_RESTARTABLE` is -incompatible with `MBEDTLS_USE_PSA_CRYPTO`. - -Note: it is possible to make the options compatible at build time simply by -deciding that when `USE_PSA_CRYPTO` is enabled, PSA APIs are used except if -restartable behaviour was requested at run-time (in addition to enabling -`MBEDTLS_ECP_RESTARTABLE` in the build). This would require some work to -dispatch operations as intended, and test. - -Currently (early 2022) the mild consensus seems to be that since we'll need to -implement restartable in PSA anyway, it's probably not worth spending time on -the compatibility issue while waiting for it to get a more satisfying -resolution when PSA starts supporting restartable. - -### `MBEDTLS_PSA_CRYPTO_CONFIG` - -(This section taken from a comment by Gilles.) - -X509 and TLS code use `MBEDTLS_xxx` macros to decide whether an algorithm is -supported. This doesn't make `MBEDTLS_USE_PSA_CRYPTO` incompatible with -`MBEDTLS_PSA_CRYPTO_CONFIG` per se, but it makes it incompatible with most -useful uses of `MBEDTLS_PSA_CRYPTO_CONFIG`. The point of -`MBEDTLS_PSA_CRYPTO_CONFIG` is to be able to build a library with support for -an algorithm through a PSA driver only, without building the software -implementation of that algorithm. But then the TLS code would consider the -algorithm unavailable. - -This is tracked in https://github.com/Mbed-TLS/mbedtls/issues/3674 and -https://github.com/Mbed-TLS/mbedtls/issues/3677. But now that I look at it with -fresh eyes, I don't think the approach we were planning to use would actually -works. This needs more design effort. - -This is something we need to support eventually, and several partners want it. -I don't know what the priority is for `MBEDTLS_USE_PSA_CRYPTO` between -improving driver support and covering more of the protocol. It seems to me -that it'll be less work overall to first implement a good architecture for -`MBEDTLS_USE_PSA_CRYPTO + MBEDTLS_PSA_CRYPTO_CONFIG` and then extend to more -protocol features, because implementing that architecture will require changes -to the existing code and the less code there is at this point the better, -whereas extending to more protocol features will require the same amount of -work either way. - -### Backward compatibility issues with making it always on +Supporting this in PSA is on our roadmap and currently planned for end of +2022, see . + +It will then require follow-up work to make use of the new PSA API in +PK/X.509/TLS in all places where we currently allow restartable operations. + +### Backward compatibility issues with making `MBEDTLS_USE_PSA_CRYPTO` always on 1. Existing applications may not be calling `psa_crypto_init()` before using TLS, X.509 or PK. We can try to work around that by calling (the relevant part of) it ourselves under the hood as needed, but that would likely require splitting init between the parts that can fail and the parts that can't (see -https://github.com/ARM-software/psa-crypto-api/pull/536 for that). + for that). 2. It's currently not possible to enable `MBEDTLS_PSA_CRYPTO_C` in configurations that don't have `MBEDTLS_ENTROPY_C`, and we can't just auto-enable the latter, as it won't build or work out of the box on all @@ -145,7 +101,7 @@ available in entropy-less builds. (Then code using those functions still needs to have one version using it, for entropy-less builds, and one version using the standard function, for driver support in build with entropy.) -See https://github.com/Mbed-TLS/mbedtls/issues/5156 +See . Taking advantage of the existing abstractions layers - or not ============================================================= @@ -256,6 +212,191 @@ Strategies currently (early 2022) used with each abstraction layer: - Cipher (G1): replace calls at each call site - MD (G1): replace calls at each call site + +Supporting builds with drivers without the software implementation +================================================================== + +This section presents a plan towards G5: save code size by compiling out our +software implementation when a driver is available. + +Additionally, we want to save code size by compiling out the +abstractions layers that we are not using when `MBEDTLS_USE_PSA_CRYPTO` is +enabled (see previous section): MD and Cipher. + +Let's expand a bit on the definition of the goal: in such a configuration +(driver used, software implementation and abstraction layer compiled out), +we want: + +a. the library to build in a reasonably-complete configuration, +b. with all tests passing, +c. and no more tests skipped than the same configuration with software + implementation. + +Criterion (c) ensures not only test coverage, but that driver-based builds are +at feature parity with software-based builds. + +We can roughly divide the work needed to get there in the following steps: + +0. Have a working driver interface for the algorithms we want to replace. +1. Have users of these algorithms call to PSA, not the legacy API, for all + operations. (This is G1, and for PK, X.509 and TLS this is controlled by + `MBEDTLS_USE_PSA_CRYPTO`.) This needs to be done in the library and tests. +2. Have users of these algorithms not depend on the legacy API for information + management (getting a size for a given algorithm, etc.) +3. Adapt compile-time guards used to query availability of a given algorithm; + this needs to be done in the library (for crypto operations and data) and +tests. + +Note: the first two steps enable use of drivers, but not by themselves removal +of the software implementation. + +Note: the fact that step 1 is not achieved for all of libmbedcrypto (see +below) is the reason why criterion (a) has "a reasonably-complete +configuration", to allow working around internal crypto dependencies when +working on other parts such as X.509 and TLS - for example, a configuration +without RSA PKCS#1 v2.1 still allows reasonable use of X.509 and TLS. + +Note: this is a conceptual division that will sometimes translate to how the +work is divided into PRs, sometimes not. For example, in situations where it's +not possible to achieve good test coverage at the end of step 1 or step 2, it +is preferable to group with the next step(s) in the same PR until good test +coverage can be reached. + +**Status as of Mbed TLS 3.2:** + +- Step 0 is achieved for most algorithms, with only a few gaps remaining. +- Step 1 is achieved for most of PK, X.509, and TLS when + `MBEDTLS_USE_PSA_CRYPTO` is enabled with only a few gaps remaining (see + docs/use-psa-crypto.md). +- Step 1 is not achieved for a lot of the crypto library including the PSA + core. For example, `entropy.c` calls the legacy API + `mbedtls_sha256` (or `mbedtls_sha512` optionally); `hmac_drbg.c` calls the + legacy API `mbedtls_md` and `ctr_drbg.c` calls the legacy API `mbedtls_aes`; + the PSA core depends on the entropy module and at least one of the DRBG + modules (unless `MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG` is used). Further, several + crypto modules have similar issues, for example RSA PKCS#1 v2.1 calls + `mbedtls_md` directly. +- Step 2 is achieved for most of X.509 and TLS (same gaps as step 1) when + `MBEDTLS_USE_PSA_CRYPTO` is enabled - this was tasks like #5795, #5796, + #5797. It is being done in PK and RSA PKCS#1 v1.5 by PR #6065. +- Step 3 was mostly not started at all before 3.2; it is being done for PK by + PR #6065. + +**Strategy for step 1:** + +Regarding PK, X.509, and TLS, this is mostly achieved with only a few gaps. +(The strategy was outlined in the previous section.) + +Regarding libmbedcrypto, outside of the RNG subsystem, for modules that +currently depend on other legacy crypto modules, this can be achieved without +backwards compatibility issues, by using the software implementation if +available, and "falling back" to PSA only if it's not. The compile-time +dependency changes from the current one (say, `MD_C` or `AES_C`) to "the +previous dependency OR PSA Crypto with needed algorithms". When building +without software implementation, users need to call `psa_crypto_init()` before +calling any function from these modules. This condition does not constitute a +break of backwards compatibility, as it was previously impossible to build in +those configurations, and in configurations were the build was possible, +application code keeps working unchanged. An work-in-progress example of +applying this strategy, for RSA PKCS#1 v2.1, is here: + + +There is a problem with the modules used for the PSA RNG, as currently the RNG +is initialized before drivers and the key store. This part will need further +study, but in the meantime we can proceed with everything that's not the +entropy module of one of the DRBG modules, and that does not depend on one of +those modules. + +**Strategy for step 2:** + +The most satisfying situation here is when we can just use the PSA Crypto API +for information management as well. However sometimes it may not be +convenient, for example in parts of the code that accept old-style identifiers +(such as `mbedtls_md_type_t`) in their API and can't assume PSA to be +compiled in (such as `rsa.c`). + +It is suggested that, as a temporary solution until we clean this up +later when removing the legacy API including its identifiers (G4), we may +occasionally use ad-hoc internal functions, such as the ones introduced by PR +6065 in `library/hash_info.[ch]`. + +An alternative would be to have two different code paths depending on whether +`MBEDTLS_PSA_CRYPTO_C` is defined or not. However this is not great for +readability or testability. + +**Strategy for step 3:** + +There are currently two (complementary) ways for crypto-using code to check if a +particular algorithm is supported: using `MBEDTLS_xxx` macros, and using +`PSA_WANT_xxx` macros. For example, PSA-based code that want to use SHA-256 +will check for `PSA_WANT_ALG_SHA_256`, while legacy-based code that wants to +use SHA-256 will check for `MBEDTLS_SHA256_C` if using the `mbedtls_sha256` +API, or for `MBEDTLS_MD_C && MBEDTLS_SHA256_C` if using the `mbedtls_md` API. + +Code that obeys `MBEDTLS_USE_PSA_CRYPTO` will want to use one of the two +dependencies above depending on whether `MBEDTLS_USE_PSA_CRYPTO` is defined: +if it is, the code want the algorithm available in PSA, otherwise, it wants it +available via the legacy API(s) is it using (MD and/or low-level). + +The strategy for steps 1 and 2 above will introduce new situations: code that +currently compute hashes using MD (resp. a low-level hash module) will gain +the ability to "fall back" to using PSA if the legacy dependency isn't +available. Data related to a certain hash (OID, sizes, translations) should +only be included in the build if it is possible to use that hash in some way. + +In order to cater to these new needs, new families of macros are introduced in +`legacy_or_psa.h`, see its documentation for details. + +It should be noted that there are currently: +- too many different ways of computing a hash (low-level, MD, PSA); +- too many different ways to configure the library that influence which of + these ways is available and will be used (`MBEDTLS_USE_PSA_CRYPTO`, + `MBEDTLS_PSA_CRYPTO_CONFIG`, `mbedtls_config.h` + `psa/crypto_config.h`). + +As a result, we need more families of dependency macros than we'd like to. +This is a temporary situation until we move to a place where everything is +based on PSA Crypto. In the meantime, long and explicit names where chosen for +the new macros in the hope of avoiding confusion. + +Note: the new macros supplement but do not replace the existing macros: +- code that always uses PSA Crypto (for example, code specific to TLS 1.3) + should use `PSA_WANT_xxx`; +- code that always uses the legacy API (for example, crypto modules that have + not undergone step 1 yet) should use `MBEDTLS_xxx_C`; +- code that may use one of the two APIs, either based on + `MBEDTLS_USE_PSA_CRYPTO` (X.509, TLS 1.2, shared between TLS 1.2 and 1.3), + or based on availability (crypto modules after step 1), should use one of + the new macros from `legacy_or_psa.h`. + +Executing step 3 will mostly consist of using the right dependency macros in +the right places (once the previous steps are done). + +**Note on testing** + +Since supporting driver-only builds is not about adding features, but about +supporting existing features in new types of builds, testing will not involve +adding cases to the test suites, but instead adding new components in `all.sh` +that build and run tests in newly-supported configurations. For example, if +we're making some part of the library work with hashes provided only by +drivers when `MBEDTLS_USE_PSA_CRYPTO` is defined, there should be a place in +`all.sh` that builds and run tests in such a configuration. + +There is however a risk, especially in step 3 where we change how dependencies +are expressed (sometimes in bulk), to get things wrong in a way that would +result in more tests being skipped, which is easy to miss. Care must be +taken to ensure this does not happen. The following criteria can be used: + +- the sets of tests skipped in the default config and the full config must be + the same before and after the PR that implements step 3; +- the set of tests skipped in the driver-only build is the same as in an + equivalent software-based configuration, or the difference is small enough, + justified, and a github issue is created to track it. + +Note that the favourable case is when the number of tests skipped is 0 in the +driver-only build. In other cases, analysis of the outcome files is needed, +see the example script `outcome-analysis.sh` in the same directory. + + Migrating away from the legacy API ================================== @@ -265,7 +406,7 @@ mainly as they relate to choices in previous stages. The role of the PK/Cipher/MD APIs in user migration --------------------------------------------------- -We're currently taking advantage of the existing PK and Cipher layers in order +We're currently taking advantage of the existing PK layer in order to reduce the number of places where library code needs to be changed. It's only natural to consider using the same strategy (with the PK, MD and Cipher layers) for facilitating migration of application code. diff --git a/docs/architecture/testing/test-framework.md b/docs/architecture/testing/test-framework.md index d0d4776112..7780949e16 100644 --- a/docs/architecture/testing/test-framework.md +++ b/docs/architecture/testing/test-framework.md @@ -6,7 +6,7 @@ This document is incomplete. You can help by expanding it. ## Unit tests -See +See ### Unit test descriptions diff --git a/docs/architecture/tls13-support.md b/docs/architecture/tls13-support.md index 10da3c5ab2..85482ba9ed 100644 --- a/docs/architecture/tls13-support.md +++ b/docs/architecture/tls13-support.md @@ -28,9 +28,12 @@ Support description - Mbed TLS does not support DHE key establishment. - - Mbed TLS does not support pre-shared keys, including any form of - session resumption. This implies that it does not support sending early - data (0-RTT data). + - Mbed TLS supports pre-shared keys for key establishment, pre-shared keys + provisioned externally as well as provisioned via the ticket mechanism. + + - Mbed TLS supports session resumption via the ticket mechanism. + + - Mbed TLS does not support sending or receiving early data (0-RTT data). - Supported cipher suites: depends on the library configuration. Potentially all of them: @@ -54,8 +57,8 @@ Support description | server_certificate_type | no | | padding | no | | key_share | YES | - | pre_shared_key | no | - | psk_key_exchange_modes | no | + | pre_shared_key | YES | + | psk_key_exchange_modes | YES | | early_data | no | | cookie | no | | supported_versions | YES | @@ -118,7 +121,7 @@ Support description | MBEDTLS_SSL_RENEGOTIATION | n/a | | MBEDTLS_SSL_MAX_FRAGMENT_LENGTH | no | | | | - | MBEDTLS_SSL_SESSION_TICKETS | no | + | MBEDTLS_SSL_SESSION_TICKETS | yes | | MBEDTLS_SSL_SERVER_NAME_INDICATION | yes | | MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH | no | | | | @@ -141,10 +144,33 @@ Support description | MBEDTLS_USE_PSA_CRYPTO | yes | (1) These options must remain in their default state of enabled. - (2) Key exchange configuration options for TLS 1.3 will likely to be - organized around the notion of key exchange mode along the line - of the MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_NONE/PSK/PSK_EPHEMERAL/EPHEMERAL - runtime configuration macros. + (2) See the TLS 1.3 specific build options section below. + +- TLS 1.3 specific build options: + + - MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE enables the support for middlebox + compatibility mode as defined in section D.4 of RFC 8446. + + - MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED enables the support for + the PSK key exchange mode as defined by RFC 8446. If it is the only key + exchange mode enabled, the TLS 1.3 implementation does not contain any code + related to key exchange protocols, certificates and signatures. + + - MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED enables the + support for the ephemeral key exchange mode. If it is the only key exchange + mode enabled, the TLS 1.3 implementation does not contain any code related + to PSK based key exchange. The ephemeral key exchange mode requires at least + one of the key exchange protocol allowed by the TLS 1.3 specification, the + parsing and validation of x509 certificates and at least one signature + algorithm allowed by the TLS 1.3 specification for signature computing and + verification. + + - MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED enables the + support for the PSK ephemeral key exchange mode. If it is the only key + exchange mode enabled, the TLS 1.3 implementation does not contain any code + related to certificates and signatures. The PSK ephemeral key exchange + mode requires at least one of the key exchange protocol allowed by the + TLS 1.3 specification. Prototype upstreaming status @@ -152,8 +178,7 @@ Prototype upstreaming status The following parts of the TLS 1.3 prototype remain to be upstreamed: -- Pre-shared keys, session resumption and 0-RTT data (both client and server - side). +- Sending (client) and receiving (server) early data (0-RTT data). - New TLS Message Processing Stack (MPS) @@ -181,7 +206,7 @@ Coding rules checklist for TLS 1.3 The following coding rules are aimed to be a checklist for TLS 1.3 upstreaming work to reduce review rounds and the number of comments in each round. They come along (do NOT replace) the project coding rules -(https://tls.mbed.org/kb/development/mbedtls-coding-standards). They have been +(https://mbed-tls.readthedocs.io/en/latest/kb/development/mbedtls-coding-standards). They have been established and discussed following the review of #4882 that was the PR upstreaming the first part of TLS 1.3 ClientHello writing code. @@ -453,3 +478,175 @@ outbound message on server side as well. * state change: the state change is done in the main state handler to ease the navigation of the state machine transitions. + + +Writing and reading early or 0-RTT data +--------------------------------------- + +An application function to write and send a buffer of data to a server through +TLS may plausibly look like: + +``` +int write_data( mbedtls_ssl_context *ssl, + const unsigned char *data_to_write, + size_t data_to_write_len, + size_t *data_written ) +{ + *data_written = 0; + + while( *data_written < data_to_write_len ) + { + ret = mbedtls_ssl_write( ssl, data_to_write + *data_written, + data_to_write_len - *data_written ); + + if( ret < 0 && + ret != MBEDTLS_ERR_SSL_WANT_READ && + ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + return( ret ); + } + + *data_written += ret; + } + + return( 0 ); +} +``` +where ssl is the SSL context to use, data_to_write the address of the data +buffer and data_to_write_len the number of data bytes. The handshake may +not be completed, not even started for the SSL context ssl when the function is +called and in that case the mbedtls_ssl_write() API takes care transparently of +completing the handshake before to write and send data to the server. The +mbedtls_ssl_write() may not been able to write and send all data in one go thus +the need for a loop calling it as long as there are still data to write and +send. + +An application function to write and send early data and only early data, +data sent during the first flight of client messages while the handshake is in +its initial phase, would look completely similar but the call to +mbedtls_ssl_write_early_data() instead of mbedtls_ssl_write(). +``` +int write_early_data( mbedtls_ssl_context *ssl, + const unsigned char *data_to_write, + size_t data_to_write_len, + size_t *data_written ) +{ + *data_written = 0; + + while( *data_written < data_to_write_len ) + { + ret = mbedtls_ssl_write_early_data( ssl, data_to_write + *data_written, + data_to_write_len - *data_written ); + + if( ret < 0 && + ret != MBEDTLS_ERR_SSL_WANT_READ && + ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + return( ret ); + } + + *data_written += ret; + } + + return( 0 ); +} +``` +Note that compared to write_data(), write_early_data() can also return +MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA and that should be handled +specifically by the user of write_early_data(). A fresh SSL context (typically +just after a call to mbedtls_ssl_setup() or mbedtls_ssl_session_reset()) would +be expected when calling `write_early_data`. + +All together, code to write and send a buffer of data as long as possible as +early data and then as standard post-handshake application data could +plausibly look like: + +``` +ret = write_early_data( ssl, data_to_write, data_to_write_len, + &early_data_written ); +if( ret < 0 && + ret != MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA ) +{ + goto error; +} + +ret = write_data( ssl, data_to_write + early_data_written, + data_to_write_len - early_data_written, &data_written ); +if( ret < 0 ) + goto error; + +data_written += early_data_written; +``` + +Finally, taking into account that the server may reject early data, application +code to write and send a buffer of data could plausibly look like: +``` +ret = write_early_data( ssl, data_to_write, data_to_write_len, + &early_data_written ); +if( ret < 0 && + ret != MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA ) +{ + goto error; +} + +/* + * Make sure the handshake is completed as it is a requisite to + * mbedtls_ssl_get_early_data_status(). + */ +while( !mbedtls_ssl_is_handshake_over( ssl ) ) +{ + ret = mbedtls_ssl_handshake( ssl ); + if( ret < 0 && + ret != MBEDTLS_ERR_SSL_WANT_READ && + ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + goto error; + } +} + +ret = mbedtls_ssl_get_early_data_status( ssl ); +if( ret < 0 ) + goto error; + +if( ret == MBEDTLS_SSL_EARLY_DATA_STATUS_REJECTED ) + early_data_written = 0; + +ret = write_data( ssl, data_to_write + early_data_written, + data_to_write_len - early_data_written, &data_written ); +if( ret < 0 ) + goto error; + +data_written += early_data_written; +``` + +Basically, the same holds for reading early data on the server side without the +complication of possible rejection. An application function to read early data +into a given buffer could plausibly look like: +``` +int read_early_data( mbedtls_ssl_context *ssl, + unsigned char *buffer, + size_t buffer_size, + size_t *data_len ) +{ + *data_len = 0; + + while( *data_len < buffer_size ) + { + ret = mbedtls_ssl_read_early_data( ssl, buffer + *data_len, + buffer_size - *data_len ); + + if( ret < 0 && + ret != MBEDTLS_ERR_SSL_WANT_READ && + ret != MBEDTLS_ERR_SSL_WANT_WRITE ) + { + return( ret ); + } + + *data_len += ret; + } + + return( 0 ); +} +``` +with again calls to read_early_data() expected to be done with a fresh SSL +context. diff --git a/docs/proposed/psa-driver-developer-guide.md b/docs/proposed/psa-driver-developer-guide.md index 70cb9d397d..b39f5599e3 100644 --- a/docs/proposed/psa-driver-developer-guide.md +++ b/docs/proposed/psa-driver-developer-guide.md @@ -36,6 +36,12 @@ A driver therefore consists of: Mbed TLS calls driver entry points [as specified in the PSA Cryptography Driver Interface specification](psa-driver-interface.html#driver-entry-points) except as otherwise indicated in this section. +## Mbed TLS extensions + +The driver description can include Mbed TLS extensions (marked by the namespace "mbedtls"). Mbed TLS extensions are meant to extend/help integrating the driver into the library's infrastructure. +* `"mbedtls/h_condition"` (optional, string) can include complex preprocessor definitions to conditionally include header files for a given driver. +* `"mbedtls/c_condition"` (optional, string) can include complex preprocessor definitions to conditionally enable dispatch capabilities for a driver. + ## Building and testing your driver diff --git a/docs/proposed/psa-driver-interface.md b/docs/proposed/psa-driver-interface.md index 8147562009..8f02af1829 100644 --- a/docs/proposed/psa-driver-interface.md +++ b/docs/proposed/psa-driver-interface.md @@ -241,7 +241,7 @@ The entry points that implement each step of a multi-part operation are grouped 1. The core calls the `xxx_setup` entry point for this operation family. If this fails, the core destroys the operation context object without calling any other driver entry point on it. 1. The core calls other entry points that manipulate the operation context object, respecting the constraints. 1. If any entry point fails, the core calls the driver's `xxx_abort` entry point for this operation family, then destroys the operation context object without calling any other driver entry point on it. -1. If a “finish” entry point fails, the core destroys the operation context object without calling any other driver entry point on it. The finish entry points are: *prefix*`_mac_sign_finish`, *prefix*`_mac_verify_finish`, *prefix*`_cipher_fnish`, *prefix*`_aead_finish`, *prefix*`_aead_verify`. +1. If a “finish” entry point fails, the core destroys the operation context object without calling any other driver entry point on it. The finish entry points are: *prefix*`_mac_sign_finish`, *prefix*`_mac_verify_finish`, *prefix*`_cipher_finish`, *prefix*`_aead_finish`, *prefix*`_aead_verify`. If a driver implements a multi-part operation but not the corresponding single-part operation, the core calls the driver's multipart operation entry points to perform the single-part operation. diff --git a/docs/proposed/psa-driver-wrappers-codegen-migration-guide.md b/docs/proposed/psa-driver-wrappers-codegen-migration-guide.md index 2a10ca0893..6144aada6a 100644 --- a/docs/proposed/psa-driver-wrappers-codegen-migration-guide.md +++ b/docs/proposed/psa-driver-wrappers-codegen-migration-guide.md @@ -13,20 +13,28 @@ During the process of implementation there might be minor variations wrt version ## Prerequisites -Python3 and Jinja2 rev 2.10.1 +Python3, Jinja2 rev 2.10.1 and jsonschema rev 3.2.0 ## Feature Version -1.0 +1.1 ### What's critical for a migrating user -The Driver Wrapper auto generation project is designed to use a python templating library ( Jinja2 ) to render templates based on drivers that are defined using a Driver descrioption JSON file(s). +The Driver Wrapper auto generation project is designed to use a python templating library ( Jinja2 ) to render templates based on drivers that are defined using a Driver description JSON file(s). -While that is the larger goal, for version 1.0 here's what's changed +While that is the larger goal, for version 1.1 here's what's changed #### What's changed (1) psa_crypto_driver_wrappers.c will from this point on be auto generated. -(2) The auto generation is based on the template file at scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja. -(3) So while all driver wrapper templating support is yet to come in, the library user will need to patch into the template file as needed, this could be read as replacing the template file with the current psa_crypto_driver_wrappers.c file maintained by the library user. +(2) The auto generation is based on the template file at **scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja**. +(3) The driver JSONS to be used for generating the psa_crypto_driver_wrappers.c file can be found at **scripts/data_files/driver_jsons/** as their default location, this path includes the schemas against which the driver schemas will be validated (driver_opaque_schema.json, driver_transparent_schema.json) and a driverlist.json which specifies the drivers to be considered and the order in which they want to be called into. The default location for driverlist.json and driver JSONS can be overloaded by passing an argument --json-dir while running the script generate_driver_wrappers.py. +(4) While the complete driver wrapper templating support is yet to come in, if the library user sees a need to patch psa_crypto_driver_wrappers.c file, the user will need to patch into the template file as needed (psa_crypto_driver_wrappers.c.jinja). + +#### How to set your driver up + +Please refer to psa-driver-interface.md for information on how a driver schema can be written. +One can also refer to the example test drivers/ JSON schemas under **scripts/data_files/driver_jsons/**. + +The JSON file 'driverlist.json' is meant to be edited by the user to reflect the drivers one wants to use on a device. The order in which the drivers are passed is also essential if/when there are multiple transparent drivers on a given system to retain the same order in the templating. diff --git a/docs/use-psa-crypto.md b/docs/use-psa-crypto.md index c849221a21..11442ed66d 100644 --- a/docs/use-psa-crypto.md +++ b/docs/use-psa-crypto.md @@ -18,7 +18,7 @@ module. are specific to TLS 1.3; those parts always use PSA Crypto. The parts of the TLS 1.3 code that are common with TLS 1.2, however, follow this option; currently this is the record protection code, computation of the running -handshake hash, and X.509). You need to enable `MBEDTLS_USE_PSA_CRYPTO` if you +handshake hash, and X.509. You need to enable `MBEDTLS_USE_PSA_CRYPTO` if you want TLS 1.3 to use PSA everywhere. New APIs / API extensions @@ -86,7 +86,6 @@ is enabled, no change required on the application side. Current exceptions: -- EC J-PAKE (when `MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED` is defined) - finite-field (non-EC) Diffie-Hellman (used in key exchanges: DHE-RSA, DHE-PSK) @@ -100,7 +99,7 @@ Current exception: - verification of RSA-PSS signatures with a salt length that is different from the hash length. -Other than the above exceptions, all crypto operations are based on PSA when +Other than the above exception, all crypto operations are based on PSA when `MBEDTLS_USE_PSA_CRYPTO` is enabled. ### PK layer: most crypto operations based on PSA @@ -108,8 +107,8 @@ Other than the above exceptions, all crypto operations are based on PSA when Current exception: - verification of RSA-PSS signatures with a salt length that is different from - the hash length. + the hash length, or with an MGF hash that's different from the message hash. -Other than the above exceptions, all crypto operations are based on PSA when +Other than the above exception, all crypto operations are based on PSA when `MBEDTLS_USE_PSA_CRYPTO` is enabled. diff --git a/doxygen/input/doc_encdec.h b/doxygen/input/doc_encdec.h index 96734bdd80..ec149aef72 100644 --- a/doxygen/input/doc_encdec.h +++ b/doxygen/input/doc_encdec.h @@ -38,7 +38,7 @@ * All symmetric encryption algorithms are accessible via the generic cipher layer * (see \c mbedtls_cipher_setup()). * - * The asymmetric encryptrion algorithms are accessible via the generic public + * The asymmetric encryption algorithms are accessible via the generic public * key layer (see \c mbedtls_pk_init()). * * The following algorithms are provided: diff --git a/doxygen/input/doc_mainpage.h b/doxygen/input/doc_mainpage.h index c05042b87c..7c6464fa96 100644 --- a/doxygen/input/doc_mainpage.h +++ b/doxygen/input/doc_mainpage.h @@ -22,7 +22,7 @@ */ /** - * @mainpage mbed TLS v3.2.1 source code documentation + * @mainpage mbed TLS v3.3.0 source code documentation * * This documentation describes the internal structure of mbed TLS. It was * automatically generated from specially formatted comment blocks in diff --git a/doxygen/mbedtls.doxyfile b/doxygen/mbedtls.doxyfile index f722d2817f..0c744daaa2 100644 --- a/doxygen/mbedtls.doxyfile +++ b/doxygen/mbedtls.doxyfile @@ -1,4 +1,4 @@ -PROJECT_NAME = "mbed TLS v3.2.1" +PROJECT_NAME = "mbed TLS v3.3.0" OUTPUT_DIRECTORY = ../apidoc/ FULL_PATH_NAMES = NO OPTIMIZE_OUTPUT_FOR_C = YES diff --git a/include/mbedtls/aes.h b/include/mbedtls/aes.h index 144bd89e24..1cd20fe06c 100644 --- a/include/mbedtls/aes.h +++ b/include/mbedtls/aes.h @@ -61,11 +61,6 @@ /** Invalid input data. */ #define MBEDTLS_ERR_AES_BAD_INPUT_DATA -0x0021 -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #ifdef __cplusplus extern "C" { #endif @@ -80,7 +75,8 @@ extern "C" { typedef struct mbedtls_aes_context { int MBEDTLS_PRIVATE(nr); /*!< The number of rounds. */ - uint32_t *MBEDTLS_PRIVATE(rk); /*!< AES round keys. */ + size_t MBEDTLS_PRIVATE(rk_offset); /*!< The offset in array elements to AES + round keys in the buffer. */ uint32_t MBEDTLS_PRIVATE(buf)[68]; /*!< Unaligned data buffer. This buffer can hold 32 extra Bytes, which can be used for one of the following purposes: diff --git a/include/mbedtls/asn1.h b/include/mbedtls/asn1.h index be2cae7b5a..5e3f3878c1 100644 --- a/include/mbedtls/asn1.h +++ b/include/mbedtls/asn1.h @@ -24,6 +24,7 @@ #include "mbedtls/private_access.h" #include "mbedtls/build_info.h" +#include "mbedtls/platform_util.h" #include @@ -38,8 +39,9 @@ /** * \name ASN1 Error codes - * These error codes are OR'ed to X509 error codes for + * These error codes are combined with other error codes for * higher error granularity. + * e.g. X.509 and PKCS #7 error codes * ASN1 is a standard to specify data structures. * \{ */ @@ -606,25 +608,41 @@ int mbedtls_asn1_get_alg_null( unsigned char **p, const mbedtls_asn1_named_data *mbedtls_asn1_find_named_data( const mbedtls_asn1_named_data *list, const char *oid, size_t len ); +#if !defined(MBEDTLS_DEPRECATED_REMOVED) /** * \brief Free a mbedtls_asn1_named_data entry * + * \deprecated This function is deprecated and will be removed in a + * future version of the library. + * Please use mbedtls_asn1_free_named_data_list() + * or mbedtls_asn1_free_named_data_list_shallow(). + * * \param entry The named data entry to free. * This function calls mbedtls_free() on * `entry->oid.p` and `entry->val.p`. */ -void mbedtls_asn1_free_named_data( mbedtls_asn1_named_data *entry ); +void MBEDTLS_DEPRECATED mbedtls_asn1_free_named_data( mbedtls_asn1_named_data *entry ); +#endif /* MBEDTLS_DEPRECATED_REMOVED */ /** * \brief Free all entries in a mbedtls_asn1_named_data list. * * \param head Pointer to the head of the list of named data entries to free. - * This function calls mbedtls_asn1_free_named_data() and - * mbedtls_free() on each list element and - * sets \c *head to \c NULL. + * This function calls mbedtls_free() on + * `entry->oid.p` and `entry->val.p` and then on `entry` + * for each list entry, and sets \c *head to \c NULL. */ void mbedtls_asn1_free_named_data_list( mbedtls_asn1_named_data **head ); +/** + * \brief Free all shallow entries in a mbedtls_asn1_named_data list, + * but do not free internal pointer targets. + * + * \param name Head of the list of named data entries to free. + * This function calls mbedtls_free() on each list element. + */ +void mbedtls_asn1_free_named_data_list_shallow( mbedtls_asn1_named_data *name ); + /** \} name Functions to parse ASN.1 data structures */ /** \} addtogroup asn1_module */ diff --git a/include/mbedtls/asn1write.h b/include/mbedtls/asn1write.h index d60ca0daa9..e6f0479ca4 100644 --- a/include/mbedtls/asn1write.h +++ b/include/mbedtls/asn1write.h @@ -86,7 +86,7 @@ int mbedtls_asn1_write_raw_buffer( unsigned char **p, const unsigned char *start #if defined(MBEDTLS_BIGNUM_C) /** - * \brief Write a arbitrary-precision number (#MBEDTLS_ASN1_INTEGER) + * \brief Write an arbitrary-precision number (#MBEDTLS_ASN1_INTEGER) * in ASN.1 format. * * \note This function works backwards in data buffer. @@ -352,7 +352,7 @@ int mbedtls_asn1_write_octet_string( unsigned char **p, const unsigned char *sta * the existing buffer to fit \p val_len. * * \return A pointer to the new / existing entry on success. - * \return \c NULL if if there was a memory allocation error. + * \return \c NULL if there was a memory allocation error. */ mbedtls_asn1_named_data *mbedtls_asn1_store_named_data( mbedtls_asn1_named_data **list, const char *oid, size_t oid_len, diff --git a/include/mbedtls/bignum.h b/include/mbedtls/bignum.h index 5277f56d96..877fbc7ceb 100644 --- a/include/mbedtls/bignum.h +++ b/include/mbedtls/bignum.h @@ -179,6 +179,20 @@ #endif /* !MBEDTLS_NO_UDBL_DIVISION */ #endif /* !MBEDTLS_HAVE_INT64 */ +/** \typedef mbedtls_mpi_uint + * \brief The type of machine digits in a bignum, called _limbs_. + * + * This is always an unsigned integer type with no padding bits. The size + * is platform-dependent. + */ + +/** \typedef mbedtls_mpi_sint + * \brief The signed type corresponding to #mbedtls_mpi_uint. + * + * This is always an signed integer type with no padding bits. The size + * is platform-dependent. + */ + #ifdef __cplusplus extern "C" { #endif @@ -188,9 +202,27 @@ extern "C" { */ typedef struct mbedtls_mpi { - int MBEDTLS_PRIVATE(s); /*!< Sign: -1 if the mpi is negative, 1 otherwise */ - size_t MBEDTLS_PRIVATE(n); /*!< total # of limbs */ - mbedtls_mpi_uint *MBEDTLS_PRIVATE(p); /*!< pointer to limbs */ + /** Sign: -1 if the mpi is negative, 1 otherwise. + * + * The number 0 must be represented with `s = +1`. Although many library + * functions treat all-limbs-zero as equivalent to a valid representation + * of 0 regardless of the sign bit, there are exceptions, so bignum + * functions and external callers must always set \c s to +1 for the + * number zero. + * + * Note that this implies that calloc() or `... = {0}` does not create + * a valid MPI representation. You must call mbedtls_mpi_init(). + */ + int MBEDTLS_PRIVATE(s); + + /** Total number of limbs in \c p. */ + size_t MBEDTLS_PRIVATE(n); + + /** Pointer to limbs. + * + * This may be \c NULL if \c n is 0. + */ + mbedtls_mpi_uint *MBEDTLS_PRIVATE(p); } mbedtls_mpi; @@ -277,7 +309,7 @@ void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y ); * \param Y The MPI to be assigned from. This must point to an * initialized MPI. * \param assign The condition deciding whether to perform the - * assignment or not. Possible values: + * assignment or not. Must be either 0 or 1: * * \c 1: Perform the assignment `X = Y`. * * \c 0: Keep the original value of \p X. * @@ -288,6 +320,10 @@ void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y ); * information through branch prediction and/or memory access * patterns analysis). * + * \warning If \p assign is neither 0 nor 1, the result of this function + * is indeterminate, and the resulting value in \p X might be + * neither its original value nor the value in \p Y. + * * \return \c 0 if successful. * \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed. * \return Another negative error code on other kinds of failure. @@ -300,24 +336,28 @@ int mbedtls_mpi_safe_cond_assign( mbedtls_mpi *X, const mbedtls_mpi *Y, unsigned * * \param X The first MPI. This must be initialized. * \param Y The second MPI. This must be initialized. - * \param assign The condition deciding whether to perform - * the swap or not. Possible values: + * \param swap The condition deciding whether to perform + * the swap or not. Must be either 0 or 1: * * \c 1: Swap the values of \p X and \p Y. * * \c 0: Keep the original values of \p X and \p Y. * * \note This function is equivalent to - * if( assign ) mbedtls_mpi_swap( X, Y ); + * if( swap ) mbedtls_mpi_swap( X, Y ); * except that it avoids leaking any information about whether - * the assignment was done or not (the above code may leak + * the swap was done or not (the above code may leak * information through branch prediction and/or memory access * patterns analysis). * + * \warning If \p swap is neither 0 nor 1, the result of this function + * is indeterminate, and both \p X and \p Y might end up with + * values different to either of the original ones. + * * \return \c 0 if successful. * \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if memory allocation failed. * \return Another negative error code on other kinds of failure. * */ -int mbedtls_mpi_safe_cond_swap( mbedtls_mpi *X, mbedtls_mpi *Y, unsigned char assign ); +int mbedtls_mpi_safe_cond_swap( mbedtls_mpi *X, mbedtls_mpi *Y, unsigned char swap ); /** * \brief Store integer value in MPI. @@ -750,11 +790,11 @@ int mbedtls_mpi_mul_int( mbedtls_mpi *X, const mbedtls_mpi *A, * * \param Q The destination MPI for the quotient. * This may be \c NULL if the value of the - * quotient is not needed. + * quotient is not needed. This must not alias A or B. * \param R The destination MPI for the remainder value. * This may be \c NULL if the value of the - * remainder is not needed. - * \param A The dividend. This must point to an initialized MPi. + * remainder is not needed. This must not alias A or B. + * \param A The dividend. This must point to an initialized MPI. * \param B The divisor. This must point to an initialized MPI. * * \return \c 0 if successful. @@ -771,10 +811,10 @@ int mbedtls_mpi_div_mpi( mbedtls_mpi *Q, mbedtls_mpi *R, const mbedtls_mpi *A, * * \param Q The destination MPI for the quotient. * This may be \c NULL if the value of the - * quotient is not needed. + * quotient is not needed. This must not alias A. * \param R The destination MPI for the remainder value. * This may be \c NULL if the value of the - * remainder is not needed. + * remainder is not needed. This must not alias A. * \param A The dividend. This must point to an initialized MPi. * \param b The divisor. * @@ -829,6 +869,7 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A, * \brief Perform a sliding-window exponentiation: X = A^E mod N * * \param X The destination MPI. This must point to an initialized MPI. + * This must not alias E or N. * \param A The base of the exponentiation. * This must point to an initialized MPI. * \param E The exponent MPI. This must point to an initialized MPI. diff --git a/include/mbedtls/build_info.h b/include/mbedtls/build_info.h index 234debd012..049a120ef1 100644 --- a/include/mbedtls/build_info.h +++ b/include/mbedtls/build_info.h @@ -37,22 +37,28 @@ * Major, Minor, Patchlevel */ #define MBEDTLS_VERSION_MAJOR 3 -#define MBEDTLS_VERSION_MINOR 2 -#define MBEDTLS_VERSION_PATCH 1 +#define MBEDTLS_VERSION_MINOR 3 +#define MBEDTLS_VERSION_PATCH 0 /** * The single version number has the following structure: * MMNNPP00 * Major version | Minor version | Patch version */ -#define MBEDTLS_VERSION_NUMBER 0x03020100 -#define MBEDTLS_VERSION_STRING "3.2.1" -#define MBEDTLS_VERSION_STRING_FULL "mbed TLS 3.2.1" +#define MBEDTLS_VERSION_NUMBER 0x03030000 +#define MBEDTLS_VERSION_STRING "3.3.0" +#define MBEDTLS_VERSION_STRING_FULL "mbed TLS 3.3.0" #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) #define _CRT_SECURE_NO_DEPRECATE 1 #endif +/* Define `inline` on some non-C99-compliant compilers. */ +#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ + !defined(inline) && !defined(__cplusplus) +#define inline __inline +#endif + #if !defined(MBEDTLS_CONFIG_FILE) #include "mbedtls/mbedtls_config.h" #else @@ -74,10 +80,61 @@ #include MBEDTLS_USER_CONFIG_FILE #endif -#if defined(MBEDTLS_PK_C) && defined(MBEDTLS_USE_PSA_CRYPTO) +/* The PK wrappers need pk_write functions to format RSA key objects + * when they are dispatching to the PSA API. This happens under USE_PSA_CRYPTO, + * and also even without USE_PSA_CRYPTO for mbedtls_pk_sign_ext(). + * PSA crypto also needs pk_write to export RSA keys (otherwise the build + * goes through but psa_export_key() and psa_export_public_key() fail on + * RSA keys), and pk_parse to work with RSA keys in almost any way. + */ +#if defined(MBEDTLS_PSA_CRYPTO_C) && defined(MBEDTLS_RSA_C) +#define MBEDTLS_PK_C +#define MBEDTLS_PK_WRITE_C +#define MBEDTLS_PK_PARSE_C +#endif + +/* Under MBEDTLS_USE_PSA_CRYPTO, the pk module needs pk_write functions + * to pass ECC keys to PSA. */ +#if defined(MBEDTLS_PK_C) && \ + defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ECP_C) #define MBEDTLS_PK_WRITE_C #endif -#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) + +#if !defined(MBEDTLS_SSL_PROTO_TLS1_2) +#undef MBEDTLS_KEY_EXCHANGE_RSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED +#undef MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED +#endif + +#if !defined(MBEDTLS_SSL_PROTO_TLS1_3) +#undef MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +#undef MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +#undef MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +#undef MBEDTLS_SSL_EARLY_DATA +#endif + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) || \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED +#endif + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) || \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED +#endif + +/* Make sure all configuration symbols are set before including check_config.h, + * even the ones that are calculated programmatically. */ +#if defined(MBEDTLS_PSA_CRYPTO_CONFIG) /* PSA_WANT_xxx influences MBEDTLS_xxx */ || \ + defined(MBEDTLS_PSA_CRYPTO_C) /* MBEDTLS_xxx influences PSA_WANT_xxx */ #include "mbedtls/config_psa.h" #endif diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h index 86a6efdfee..87f1e767c7 100644 --- a/include/mbedtls/check_config.h +++ b/include/mbedtls/check_config.h @@ -32,6 +32,8 @@ #error "mbed TLS requires a platform with 8-bit chars" #endif +#include + #if defined(_WIN32) #if !defined(MBEDTLS_PLATFORM_C) #error "MBEDTLS_PLATFORM_C is required on Windows" @@ -108,7 +110,8 @@ #endif #if defined(MBEDTLS_ECJPAKE_C) && \ - ( !defined(MBEDTLS_ECP_C) || !defined(MBEDTLS_MD_C) ) + ( !defined(MBEDTLS_ECP_C) || \ + !( defined(MBEDTLS_MD_C) || defined(MBEDTLS_PSA_CRYPTO_C) ) ) #error "MBEDTLS_ECJPAKE_C defined, but not all prerequisites" #endif @@ -153,20 +156,19 @@ #error "MBEDTLS_PKCS12_C defined, but not all prerequisites" #endif -#if defined(MBEDTLS_PKCS5_C) && (!defined(MBEDTLS_MD_C) || \ - !defined(MBEDTLS_CIPHER_C)) +#if defined(MBEDTLS_PKCS5_C) && \ + ( !( defined(MBEDTLS_MD_C) || defined(MBEDTLS_PSA_CRYPTO_C) ) || \ + !defined(MBEDTLS_CIPHER_C) ) #error "MBEDTLS_PKCS5_C defined, but not all prerequisites" #endif -#if defined(MBEDTLS_PKCS12_C) && !defined(MBEDTLS_MD_C) +#if defined(MBEDTLS_PKCS12_C) && \ + !( defined(MBEDTLS_MD_C) || defined(MBEDTLS_PSA_CRYPTO_C) ) #error "MBEDTLS_PKCS12_C defined, but not all prerequisites" #endif -#if defined(MBEDTLS_PKCS1_V15) && !defined(MBEDTLS_MD_C) -#error "MBEDTLS_PKCS1_V15 defined, but not all prerequisites" -#endif - -#if defined(MBEDTLS_PKCS1_V21) && !defined(MBEDTLS_MD_C) +#if defined(MBEDTLS_PKCS1_V21) && \ + !( defined(MBEDTLS_MD_C) || defined(MBEDTLS_PSA_CRYPTO_C) ) #error "MBEDTLS_PKCS1_V21 defined, but not all prerequisites" #endif @@ -320,11 +322,20 @@ #endif #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ - ( !defined(MBEDTLS_ECJPAKE_C) || !defined(MBEDTLS_SHA256_C) || \ + ( !defined(MBEDTLS_ECJPAKE_C) || \ !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) ) #error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" #endif +/* Use of EC J-PAKE in TLS requires SHA-256. + * This will be taken from MD if it is present, or from PSA if MD is absent. + * Note: ECJPAKE_C depends on MD_C || PSA_CRYPTO_C. */ +#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ + !( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA256_C) ) && \ + !( !defined(MBEDTLS_MD_C) && defined(PSA_WANT_ALG_SHA_256) ) +#error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites" +#endif + #if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) && \ !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) && \ ( !defined(MBEDTLS_SHA256_C) && \ @@ -333,14 +344,25 @@ #error "!MBEDTLS_SSL_KEEP_PEER_CERTIFICATE requires MBEDTLS_SHA512_C, MBEDTLS_SHA256_C or MBEDTLS_SHA1_C" #endif -#if defined(MBEDTLS_LMOTS_C) && \ - ( !defined(MBEDTLS_MD_C) ) -#error "MBEDTLS_LMOTS_C requires MBEDTLS_MD_C" +#if defined(MBEDTLS_MD_C) && !( \ + defined(MBEDTLS_MD5_C) || \ + defined(MBEDTLS_RIPEMD160_C) || \ + defined(MBEDTLS_SHA1_C) || \ + defined(MBEDTLS_SHA224_C) || \ + defined(MBEDTLS_SHA256_C) || \ + defined(MBEDTLS_SHA384_C) || \ + defined(MBEDTLS_SHA512_C) ) +#error "MBEDTLS_MD_C defined, but not all prerequisites" #endif #if defined(MBEDTLS_LMS_C) && \ - ( !defined(MBEDTLS_LMOTS_C) || !defined(MBEDTLS_MD_C) ) -#error "MBEDTLS_LMS_C requires MBEDTLS_LMOTS_C and MBEDTLS_MD_C" + ! ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_256) ) +#error "MBEDTLS_LMS_C requires MBEDTLS_PSA_CRYPTO_C and PSA_WANT_ALG_SHA_256" +#endif + +#if defined(MBEDTLS_LMS_PRIVATE) && \ + ( !defined(MBEDTLS_LMS_C) ) +#error "MBEDTLS_LMS_PRIVATE requires MBEDTLS_LMS_C" #endif #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \ @@ -369,7 +391,7 @@ #endif #if defined(MBEDTLS_PK_C) && \ - ( !defined(MBEDTLS_MD_C) || ( !defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_ECP_C) ) ) + !defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_ECP_C) #error "MBEDTLS_PK_C defined, but not all prerequisites" #endif @@ -513,6 +535,20 @@ #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT cannot be defined simultaneously" #endif +#if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C) +#error "MBEDTLS_PLATFORM_VSNPRINTF_ALT defined, but not all prerequisites" +#endif + +#if defined(MBEDTLS_PLATFORM_VSNPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C) +#error "MBEDTLS_PLATFORM_VSNPRINTF_MACRO defined, but not all prerequisites" +#endif + +#if defined(MBEDTLS_PLATFORM_VSNPRINTF_MACRO) &&\ + ( defined(MBEDTLS_PLATFORM_STD_VSNPRINTF) ||\ + defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) ) +#error "MBEDTLS_PLATFORM_VSNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_VSNPRINTF/MBEDTLS_PLATFORM_VSNPRINTF_ALT cannot be defined simultaneously" +#endif + #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) &&\ !defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS) #error "MBEDTLS_PLATFORM_STD_MEM_HDR defined, but not all prerequisites" @@ -744,23 +780,47 @@ #error "MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY defined on non-Aarch64 system" #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && ( !defined(MBEDTLS_SHA1_C) && \ - !defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA512_C) ) +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + !( defined(MBEDTLS_SHA1_C) || defined(MBEDTLS_SHA256_C) || defined(MBEDTLS_SHA512_C) ) #error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites" #endif -/* - * HKDF is mandatory for TLS 1.3. - * Otherwise support for at least one ciphersuite mandates either SHA_256 or - * SHA_384. - */ +/* TLS 1.3 requires separate HKDF parts from PSA */ #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - ( ( !defined(MBEDTLS_HKDF_C) ) || \ - ( !defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA384_C) ) || \ - ( !defined(MBEDTLS_PSA_CRYPTO_C) ) ) + !( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_HKDF_EXTRACT) && defined(PSA_WANT_ALG_HKDF_EXPAND) ) #error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites" #endif +/* TLS 1.3 requires at least one ciphersuite, so at least SHA-256 or SHA-384 */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +/* We always need at least one of the hashes via PSA (for use with HKDF) */ +#if !( defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_384) ) +#error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites" +#endif /* !(PSA_WANT_ALG_SHA_256 || PSA_WANT_ALG_SHA_384) */ +#if !defined(MBEDTLS_USE_PSA_CRYPTO) +/* When USE_PSA_CRYPTO is not defined, we also need SHA-256 or SHA-384 via the + * legacy interface, including via the MD layer, for the parts of the code + * that are shared with TLS 1.2 (running handshake hash). */ +#if !defined(MBEDTLS_MD_C) || \ + !( defined(MBEDTLS_SHA256_C) || defined(MBEDTLS_SHA384_C) ) +#error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites" +#endif /* !MBEDTLS_MD_C || !(MBEDTLS_SHA256_C || MBEDTLS_SHA384_C) */ +#endif /* !MBEDTLS_USE_PSA_CRYPTO */ +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) +#if !( defined(MBEDTLS_ECDH_C) && defined(MBEDTLS_X509_CRT_PARSE_C) && \ + ( defined(MBEDTLS_ECDSA_C) || defined(MBEDTLS_PKCS1_V21) ) ) +#error "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED defined, but not all prerequisites" +#endif +#endif + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) +#if !( defined(MBEDTLS_ECDH_C) ) +#error "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED defined, but not all prerequisites" +#endif +#endif + /* * The current implementation of TLS 1.3 requires MBEDTLS_SSL_KEEP_PEER_CERTIFICATE. */ @@ -784,6 +844,20 @@ "but no key exchange methods defined with MBEDTLS_KEY_EXCHANGE_xxxx" #endif +#if defined(MBEDTLS_SSL_EARLY_DATA) && \ + ( !defined(MBEDTLS_SSL_SESSION_TICKETS) || \ + ( !defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) && \ + !defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) ) ) +#error "MBEDTLS_SSL_EARLY_DATA defined, but not all prerequisites" +#endif + +#if defined(MBEDTLS_SSL_EARLY_DATA) && defined(MBEDTLS_SSL_SRV_C) && \ + ( !defined(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE) || \ + ( MBEDTLS_SSL_MAX_EARLY_DATA_SIZE < 0 ) || \ + ( MBEDTLS_SSL_MAX_EARLY_DATA_SIZE > UINT32_MAX ) ) +#error "MBEDTLS_SSL_MAX_EARLY_DATA_SIZE MUST be defined and in range(0..UINT32_MAX)" +#endif + #if defined(MBEDTLS_SSL_PROTO_DTLS) && \ !defined(MBEDTLS_SSL_PROTO_TLS1_2) #error "MBEDTLS_SSL_PROTO_DTLS defined, but not all prerequisites" @@ -794,7 +868,7 @@ #endif #if defined(MBEDTLS_SSL_TLS_C) && ( !defined(MBEDTLS_CIPHER_C) || \ - !defined(MBEDTLS_MD_C) ) + ( !defined(MBEDTLS_MD_C) && !defined(MBEDTLS_USE_PSA_CRYPTO) ) ) #error "MBEDTLS_SSL_TLS_C defined, but not all prerequisites" #endif @@ -838,6 +912,19 @@ #error "MBEDTLS_SSL_CID_OUT_LEN_MAX too large (max 255)" #endif +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) && \ + !defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) +#error "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT defined, but not all prerequisites" +#endif + +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) && MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT != 0 +#if defined(MBEDTLS_DEPRECATED_REMOVED) +#error "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT is deprecated and will be removed in a future version of Mbed TLS" +#elif defined(MBEDTLS_DEPRECATED_WARNING) +#warning "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT is deprecated and will be removed in a future version of Mbed TLS" +#endif +#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT && MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT != 0 */ + #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \ !defined(MBEDTLS_SSL_PROTO_TLS1_2) #error "MBEDTLS_SSL_ENCRYPT_THEN_MAC defined, but not all prerequisites" @@ -853,6 +940,16 @@ #error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites" #endif +#if defined(MBEDTLS_SSL_TICKET_C) && \ + !( defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CCM_C) || defined(MBEDTLS_CHACHAPOLY_C) ) +#error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites" +#endif + +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH) && \ + MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH >= 256 +#error "MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH must be less than 256" +#endif + #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ !defined(MBEDTLS_X509_CRT_PARSE_C) #error "MBEDTLS_SSL_SERVER_NAME_INDICATION defined, but not all prerequisites" @@ -886,14 +983,16 @@ #endif #if defined(MBEDTLS_X509_USE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ - !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \ - !defined(MBEDTLS_PK_PARSE_C) ) + !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \ + !defined(MBEDTLS_PK_PARSE_C) || \ + ( !defined(MBEDTLS_MD_C) && !defined(MBEDTLS_USE_PSA_CRYPTO) ) ) #error "MBEDTLS_X509_USE_C defined, but not all prerequisites" #endif #if defined(MBEDTLS_X509_CREATE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \ !defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_WRITE_C) || \ - !defined(MBEDTLS_PK_WRITE_C) ) + !defined(MBEDTLS_PK_PARSE_C) || \ + ( !defined(MBEDTLS_MD_C) && !defined(MBEDTLS_USE_PSA_CRYPTO) ) ) #error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites" #endif @@ -934,7 +1033,9 @@ #error "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH defined, but not all prerequisites" #endif - +#if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) && !( defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CCM_C) || defined(MBEDTLS_CHACHAPOLY_C) ) +#error "MBEDTLS_SSL_CONTEXT_SERIALIZATION defined, but not all prerequisites" +#endif /* Reject attempts to enable options that have been removed and that could * cause a build to succeed but with features removed. */ @@ -983,6 +1084,14 @@ #error "MBEDTLS_SSL_TRUNCATED_HMAC was removed in Mbed TLS 3.0. See https://github.com/Mbed-TLS/mbedtls/issues/4341" #endif +#if defined(MBEDTLS_PKCS7_C) && ( ( !defined(MBEDTLS_ASN1_PARSE_C) ) || \ + ( !defined(MBEDTLS_OID_C) ) || ( !defined(MBEDTLS_PK_PARSE_C) ) || \ + ( !defined(MBEDTLS_X509_CRT_PARSE_C) ) ||\ + ( !defined(MBEDTLS_X509_CRL_PARSE_C) ) || ( !defined(MBEDTLS_BIGNUM_C) ) || \ + ( !defined(MBEDTLS_MD_C) ) ) +#error "MBEDTLS_PKCS7_C is defined, but not all prerequisites" +#endif + /* * Avoid warning from -pedantic. This is a convenient place for this * workaround since this is included by every single file before the diff --git a/include/mbedtls/cipher.h b/include/mbedtls/cipher.h index a3f52ea71f..151da1d83e 100644 --- a/include/mbedtls/cipher.h +++ b/include/mbedtls/cipher.h @@ -46,11 +46,6 @@ #define MBEDTLS_CIPHER_MODE_STREAM #endif -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /** The selected feature is not available. */ #define MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE -0x6080 /** Bad input parameters. */ diff --git a/include/mbedtls/config_psa.h b/include/mbedtls/config_psa.h index 3cb89009b9..5727c5eb77 100644 --- a/include/mbedtls/config_psa.h +++ b/include/mbedtls/config_psa.h @@ -7,7 +7,7 @@ * those definitions to define symbols used in the library code. * * Users and integrators should not edit this file, please edit - * include/mbedtls/mbedtls_config.h for MBETLS_XXX settings or + * include/mbedtls/mbedtls_config.h for MBEDTLS_XXX settings or * include/psa/crypto_config.h for PSA_WANT_XXX settings. */ /* @@ -146,6 +146,15 @@ extern "C" { #define MBEDTLS_MD5_C #endif +#if defined(PSA_WANT_ALG_JPAKE) +#define MBEDTLS_PSA_BUILTIN_PAKE 1 +#define MBEDTLS_PSA_BUILTIN_ALG_JPAKE 1 +#define MBEDTLS_ECP_DP_SECP256R1_ENABLED +#define MBEDTLS_BIGNUM_C +#define MBEDTLS_ECP_C +#define MBEDTLS_ECJPAKE_C +#endif /* PSA_WANT_ALG_JPAKE */ + #if defined(PSA_WANT_ALG_RIPEMD160) && !defined(MBEDTLS_PSA_ACCEL_ALG_RIPEMD160) #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 #define MBEDTLS_RIPEMD160_C @@ -158,7 +167,6 @@ extern "C" { #define MBEDTLS_BIGNUM_C #define MBEDTLS_OID_C #define MBEDTLS_PKCS1_V21 -#define MBEDTLS_MD_C #endif /* !MBEDTLS_PSA_ACCEL_ALG_RSA_OAEP */ #endif /* PSA_WANT_ALG_RSA_OAEP */ @@ -179,7 +187,6 @@ extern "C" { #define MBEDTLS_BIGNUM_C #define MBEDTLS_OID_C #define MBEDTLS_PKCS1_V15 -#define MBEDTLS_MD_C #endif /* !MBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIGN */ #endif /* PSA_WANT_ALG_RSA_PKCS1V15_SIGN */ @@ -190,7 +197,6 @@ extern "C" { #define MBEDTLS_BIGNUM_C #define MBEDTLS_OID_C #define MBEDTLS_PKCS1_V21 -#define MBEDTLS_MD_C #endif /* !MBEDTLS_PSA_ACCEL_ALG_RSA_PSS */ #endif /* PSA_WANT_ALG_RSA_PSS */ @@ -231,6 +237,12 @@ extern "C" { #endif /* !MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS */ #endif /* PSA_WANT_ALG_TLS12_PSK_TO_MS */ +#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) +#if !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_ECJPAKE_TO_PMS) +#define MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS 1 +#endif /* !MBEDTLS_PSA_ACCEL_ALG_TLS12_ECJPAKE_TO_PMS */ +#endif /* PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS */ + #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) #if !defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR 1 @@ -623,10 +635,11 @@ extern "C" { #define PSA_WANT_ALG_HKDF_EXPAND 1 #endif /* MBEDTLS_HKDF_C */ -#if defined(MBEDTLS_MD_C) #define MBEDTLS_PSA_BUILTIN_ALG_HMAC 1 #define PSA_WANT_ALG_HMAC 1 #define PSA_WANT_KEY_TYPE_HMAC + +#if defined(MBEDTLS_MD_C) #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF 1 #define PSA_WANT_ALG_TLS12_PRF 1 #define MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS 1 @@ -638,6 +651,12 @@ extern "C" { #define PSA_WANT_ALG_MD5 1 #endif +#if defined(MBEDTLS_ECJPAKE_C) +#define MBEDTLS_PSA_BUILTIN_PAKE 1 +#define MBEDTLS_PSA_BUILTIN_ALG_JPAKE 1 +#define PSA_WANT_ALG_JPAKE 1 +#endif + #if defined(MBEDTLS_RIPEMD160_C) #define MBEDTLS_PSA_BUILTIN_ALG_RIPEMD160 1 #define PSA_WANT_ALG_RIPEMD160 1 @@ -708,6 +727,11 @@ extern "C" { #define MBEDTLS_PSA_BUILTIN_KEY_TYPE_DES 1 #endif +#if defined(MBEDTLS_PSA_BUILTIN_ALG_SHA_256) +#define MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS 1 +#define PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS 1 +#endif + #if defined(MBEDTLS_CHACHA20_C) #define PSA_WANT_KEY_TYPE_CHACHA20 1 #define PSA_WANT_ALG_STREAM_CIPHER 1 diff --git a/include/mbedtls/constant_time.h b/include/mbedtls/constant_time.h index c5de57a01f..fb1f7e98ea 100644 --- a/include/mbedtls/constant_time.h +++ b/include/mbedtls/constant_time.h @@ -1,6 +1,7 @@ /** * Constant-time functions - * + */ +/* * Copyright The Mbed TLS Contributors * SPDX-License-Identifier: Apache-2.0 * diff --git a/include/mbedtls/ecdsa.h b/include/mbedtls/ecdsa.h index 71b73eee54..967f07b9b5 100644 --- a/include/mbedtls/ecdsa.h +++ b/include/mbedtls/ecdsa.h @@ -245,10 +245,8 @@ int mbedtls_ecdsa_sign_det_ext( mbedtls_ecp_group *grp, mbedtls_mpi *r, * This must be initialized. * * \return \c 0 on success. - * \return #MBEDTLS_ERR_ECP_BAD_INPUT_DATA if the signature - * is invalid. * \return An \c MBEDTLS_ERR_ECP_XXX or \c MBEDTLS_MPI_XXX - * error code on failure for any other reason. + * error code on failure. */ int mbedtls_ecdsa_verify( mbedtls_ecp_group *grp, const unsigned char *buf, size_t blen, diff --git a/include/mbedtls/ecjpake.h b/include/mbedtls/ecjpake.h index 7853a6a837..3dd3361a1b 100644 --- a/include/mbedtls/ecjpake.h +++ b/include/mbedtls/ecjpake.h @@ -70,7 +70,7 @@ typedef enum { */ typedef struct mbedtls_ecjpake_context { - const mbedtls_md_info_t *MBEDTLS_PRIVATE(md_info); /**< Hash to use */ + mbedtls_md_type_t MBEDTLS_PRIVATE(md_type); /**< Hash to use */ mbedtls_ecp_group MBEDTLS_PRIVATE(grp); /**< Elliptic curve */ mbedtls_ecjpake_role MBEDTLS_PRIVATE(role); /**< Are we client or server? */ int MBEDTLS_PRIVATE(point_format); /**< Format for point export */ @@ -113,7 +113,7 @@ void mbedtls_ecjpake_init( mbedtls_ecjpake_context *ctx ); * \param curve The identifier of the elliptic curve to use, * for example #MBEDTLS_ECP_DP_SECP256R1. * \param secret The pre-shared secret (passphrase). This must be - * a readable buffer of length \p len Bytes. It need + * a readable not empty buffer of length \p len Bytes. It need * only be valid for the duration of this call. * \param len The length of the pre-shared secret \p secret. * @@ -258,6 +258,29 @@ int mbedtls_ecjpake_derive_secret( mbedtls_ecjpake_context *ctx, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ); +/** + * \brief Write the shared key material to be passed to a Key + * Derivation Function as described in RFC8236. + * + * \param ctx The ECJPAKE context to use. This must be initialized, + * set up and have performed both round one and two. + * \param buf The buffer to write the derived secret to. This must + * be a writable buffer of length \p len Bytes. + * \param len The length of \p buf in Bytes. + * \param olen The address at which to store the total number of bytes + * written to \p buf. This must not be \c NULL. + * \param f_rng The RNG function to use. This must not be \c NULL. + * \param p_rng The RNG parameter to be passed to \p f_rng. This + * may be \c NULL if \p f_rng doesn't use a context. + * + * \return \c 0 if successful. + * \return A negative error code on failure. + */ +int mbedtls_ecjpake_write_shared_key( mbedtls_ecjpake_context *ctx, + unsigned char *buf, size_t len, size_t *olen, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng ); + /** * \brief This clears an ECJPAKE context and frees any * embedded data structure. diff --git a/include/mbedtls/ecp.h b/include/mbedtls/ecp.h index ac8b7c0daf..0c1790d521 100644 --- a/include/mbedtls/ecp.h +++ b/include/mbedtls/ecp.h @@ -918,7 +918,7 @@ int mbedtls_ecp_tls_write_group( const mbedtls_ecp_group *grp, * \note To prevent timing attacks, this function * executes the exact same sequence of base-field * operations for any valid \p m. It avoids any if-branch or - * array index depending on the value of \p m. If also uses + * array index depending on the value of \p m. It also uses * \p f_rng to randomize some intermediate results. * * \param grp The ECP group to use. diff --git a/include/mbedtls/error.h b/include/mbedtls/error.h index 73d61dbc63..4a97d652be 100644 --- a/include/mbedtls/error.h +++ b/include/mbedtls/error.h @@ -26,11 +26,6 @@ #include -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /** * Error code layout. * @@ -82,8 +77,7 @@ * POLY1305 3 0x0057-0x005B * CHACHAPOLY 2 0x0054-0x0056 * PLATFORM 2 0x0070-0x0072 - * LMOTS 2 0x0076-0x0078 - * LMS 2 0x0011-0x0017 + * LMS 5 0x0011-0x0019 * * High-level module nr (3 bits - 0x0...-0x7...) * Name ID Nr of Errors @@ -97,6 +91,7 @@ * ECP 4 10 (Started from top) * MD 5 5 * HKDF 5 1 (Started from top) + * PKCS7 5 12 (Started from 0x5300) * SSL 5 2 (Started from 0x5F00) * CIPHER 6 8 (Started from 0x6080) * SSL 6 22 (Started from top, plus 0x6000) diff --git a/include/mbedtls/legacy_or_psa.h b/include/mbedtls/legacy_or_psa.h new file mode 100644 index 0000000000..f872ddaf1f --- /dev/null +++ b/include/mbedtls/legacy_or_psa.h @@ -0,0 +1,215 @@ +/** + * Macros to express dependencies for code and tests that may use either the + * legacy API or PSA in various builds. This whole header file is currently + * for internal use only and both the header file and the macros it defines + * may change or be removed without notice. + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * Note: applications that are targeting a specific configuration do not need + * to use these macros; instead they should directly use the functions they + * know are available in their configuration. + * + * Note: code that is purely based on PSA Crypto (psa_xxx() functions) + * does not need to use these macros; instead it should use the relevant + * PSA_WANT_xxx macros. + * + * Note: code that is purely based on the legacy crypto APIs (mbedtls_xxx()) + * does not need to use these macros; instead it should use the relevant + * MBEDTLS_xxx macros. + * + * These macros are for code that wants to use and will do so + * using or PSA depending on , where: + * - will generally be an algorithm (SHA-256, ECDH) but may + * also be a key type (AES, RSA, EC) or domain parameters (elliptic curve); + * - will be either: + * - low-level module API (aes.h, sha256.h), or + * - an abstraction layer (md.h, cipher.h); + * - will be either: + * - depending on what's available in the build: + * legacy API used if available, PSA otherwise + * (this is done to ensure backwards compatibility); or + * - depending on whether MBEDTLS_USE_PSA_CRYPTO is defined. + * + * Examples: + * - TLS 1.2 will compute hashes using either mbedtls_md_xxx() (and + * mbedtls_sha256_xxx()) or psa_aead_xxx() depending on whether + * MBEDTLS_USE_PSA_CRYPTO is defined; + * - RSA PKCS#1 v2.1 will compute hashes (for padding) using either + * `mbedtls_md()` if it's available, or `psa_hash_compute()` otherwise; + * - PEM decoding of PEM-encrypted keys will compute MD5 hashes using either + * `mbedtls_md5_xxx()` if it's available, or `psa_hash_xxx()` otherwise. + * + * Note: the macros are essential to express test dependencies. Inside code, + * we could instead just use the equivalent pre-processor condition, but + * that's not possible in test dependencies where we need a single macro. + * Hopefully, using these macros in code will also help with consistency. + * + * The naming scheme for these macros is: + * MBEDTLS_HAS_feature_VIA_legacy_OR_PSA(_condition) + * where: + * - feature is expressed the same way as in PSA_WANT macros, for example: + * KEY_TYPE_AES, ALG_SHA_256, ECC_SECP_R1_256; + * - legacy is either LOWLEVEL or the name of the layer: MD, CIPHER; + * - condition is omitted if it's based on availability, else it's + * BASED_ON_USE_PSA. + * + * Coming back to the examples above: + * - TLS 1.2 will determine if it can use SHA-256 using + * MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA + * for the purposes of negotiation, and in test dependencies; + * - RSA PKCS#1 v2.1 tests that used SHA-256 will depend on + * MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA + * - PEM decoding code and its associated tests will depend on + * MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA + * + * Note: every time it's possible to use, say SHA-256, via the MD API, then + * it's also possible to use it via the low-level API. So, code that wants to + * use SHA-256 via both APIs only needs to depend on the MD macro. Also, it + * just so happens that all the code choosing which API to use based on + * MBEDTLS_USE_PSA_CRYPTO (X.509, TLS 1.2/shared), always uses the abstraction + * layer (sometimes in addition to the low-level API), so we don't need the + * MBEDTLS_HAS_feature_VIA_LOWLEVEL_OR_PSA_BASED_ON_USE_PSA macros. + * (PK, while obeying MBEDTLS_USE_PSA_CRYPTO, doesn't compute hashes itself, + * even less makes use of ciphers.) + * + * Note: the macros MBEDTLS_HAS_feature_VIA_LOWLEVEL_OR_PSA are the minimal + * condition for being able to use at all. As such, they should be + * used for guarding data about , such as OIDs or size. For example, + * OID values related to SHA-256 are only useful when SHA-256 can be used at + * least in some way. + */ + +#ifndef MBEDTLS_OR_PSA_HELPERS_H +#define MBEDTLS_OR_PSA_HELPERS_H + +#include "mbedtls/build_info.h" +#if defined(MBEDTLS_PSA_CRYPTO_C) +#include "psa/crypto.h" +#endif /* MBEDTLS_PSA_CRYPTO_C */ + +/* + * Hashes + */ + +/* Hashes using low-level or PSA based on availability */ +#if defined(MBEDTLS_MD5_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_MD5) ) +#define MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_RIPEMD160_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_RIPEMD160) ) +#define MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_SHA1_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_1) ) +#define MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_SHA224_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_224) ) +#define MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_SHA256_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_256) ) +#define MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_SHA384_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_384) ) +#define MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA +#endif +#if defined(MBEDTLS_SHA512_C) || \ + ( defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_512) ) +#define MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA +#endif + +/* Hashes using MD or PSA based on availability */ +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_MD5_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_MD5) ) +#define MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_RIPEMD160_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_RIPEMD160) ) +#define MBEDTLS_HAS_ALG_RIPEMD160_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA1_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_1) ) +#define MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA224_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_224) ) +#define MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA256_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_256) ) +#define MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA384_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_384) ) +#define MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +#endif +#if ( defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA512_C) ) || \ + ( !defined(MBEDTLS_MD_C) && \ + defined(MBEDTLS_PSA_CRYPTO_C) && defined(PSA_WANT_ALG_SHA_512) ) +#define MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +#endif + +/* Hashes using MD or PSA based on MBEDTLS_USE_PSA_CRYPTO */ +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_MD5_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_MD5) ) +#define MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_RIPEMD160_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_RIPEMD160) ) +#define MBEDTLS_HAS_ALG_RIPEMD160_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA1_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_1) ) +#define MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA224_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_224) ) +#define MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA256_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_256) ) +#define MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA384_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_384) ) +#define MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif +#if ( !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_MD_C) && defined(MBEDTLS_SHA512_C) ) || \ + ( defined(MBEDTLS_USE_PSA_CRYPTO) && defined(PSA_WANT_ALG_SHA_512) ) +#define MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA +#endif + +#endif /* MBEDTLS_OR_PSA_HELPERS_H */ diff --git a/include/mbedtls/lms.h b/include/mbedtls/lms.h index 77559e24b7..1179cd1b3d 100644 --- a/include/mbedtls/lms.h +++ b/include/mbedtls/lms.h @@ -2,7 +2,11 @@ * \file lms.h * * \brief This file provides an API for the LMS post-quantum-safe stateful-hash - * public-key signature scheme. + public-key signature scheme as defined in RFC8554 and NIST.SP.200-208. + * This implementation currently only supports a single parameter set + * MBEDTLS_LMS_SHA256_M32_H10 in order to reduce complexity. This is one + * of the signature schemes recommended by the IETF draft SUIT standard + * for IOT firmware upgrades (RFC9019). */ /* * Copyright The Mbed TLS Contributors @@ -27,134 +31,282 @@ #include #include "mbedtls/private_access.h" -#include "mbedtls/lmots.h" +#include "mbedtls/build_info.h" #define MBEDTLS_ERR_LMS_BAD_INPUT_DATA -0x0011 /**< Bad data has been input to an LMS function */ -#define MBEDTLS_ERR_LMS_OUT_OF_PRIV_KEYS -0x0013 /**< Specified LMS key has utilised all of its private keys */ +#define MBEDTLS_ERR_LMS_OUT_OF_PRIVATE_KEYS -0x0013 /**< Specified LMS key has utilised all of its private keys */ #define MBEDTLS_ERR_LMS_VERIFY_FAILED -0x0015 /**< LMS signature verification failed */ #define MBEDTLS_ERR_LMS_ALLOC_FAILED -0x0017 /**< LMS failed to allocate space for a private key */ +#define MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL -0x0019 /**< Input/output buffer is too small to contain requited data */ + +/* Currently only defined for SHA256, 32 is the max hash output size */ +#define MBEDTLS_LMOTS_N_HASH_LEN_MAX (32u) +#define MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX (34u) +#define MBEDTLS_LMOTS_N_HASH_LEN(type) ((type) == MBEDTLS_LMOTS_SHA256_N32_W8 ? 32u : 0) +#define MBEDTLS_LMOTS_I_KEY_ID_LEN (16u) +#define MBEDTLS_LMOTS_Q_LEAF_ID_LEN (4u) +#define MBEDTLS_LMOTS_TYPE_LEN (4u) +#define MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(type) ((type) == MBEDTLS_LMOTS_SHA256_N32_W8 ? 34u : 0) +#define MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(type) (MBEDTLS_LMOTS_N_HASH_LEN(type)) + +#define MBEDTLS_LMOTS_SIG_LEN(type) (MBEDTLS_LMOTS_TYPE_LEN + \ + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(type) + \ + (MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(type) * \ + MBEDTLS_LMOTS_N_HASH_LEN(type))) + #define MBEDTLS_LMS_TYPE_LEN (4) -#define MBEDTLS_LMS_H_TREE_HEIGHT (10) -#define MBEDTLS_LMS_M_NODE_BYTES (32) +#define MBEDTLS_LMS_H_TREE_HEIGHT(type) ((type) == MBEDTLS_LMS_SHA256_M32_H10 ? 10u : 0) -#define MBEDTLS_LMS_SIG_LEN (MBEDTLS_LMOTS_Q_LEAF_ID_LEN + MBEDTLS_LMOTS_SIG_LEN + \ - MBEDTLS_LMS_TYPE_LEN + MBEDTLS_LMS_H_TREE_HEIGHT * MBEDTLS_LMS_M_NODE_BYTES) +/* The length of a hash output, Currently only implemented for SHA256. + * Max is 32 bytes. + */ +#define MBEDTLS_LMS_M_NODE_BYTES(type) ((type) == MBEDTLS_LMS_SHA256_M32_H10 ? 32 : 0) +#define MBEDTLS_LMS_M_NODE_BYTES_MAX 32 -#define MBEDTLS_LMS_PUBKEY_LEN (MBEDTLS_LMS_TYPE_LEN + MBEDTLS_LMOTS_TYPE_LEN + \ - MBEDTLS_LMOTS_I_KEY_ID_LEN + MBEDTLS_LMS_M_NODE_BYTES) +#define MBEDTLS_LMS_SIG_LEN(type, otstype) (MBEDTLS_LMOTS_Q_LEAF_ID_LEN + \ + MBEDTLS_LMOTS_SIG_LEN(otstype) + \ + MBEDTLS_LMS_TYPE_LEN + \ + (MBEDTLS_LMS_H_TREE_HEIGHT(type) * \ + MBEDTLS_LMS_M_NODE_BYTES(type))) -#define MBEDTLS_LMS_SIG_Q_LEAF_ID_OFFSET (0) -#define MBEDTLS_LMS_SIG_OTS_SIG_OFFSET (MBEDTLS_LMS_SIG_Q_LEAF_ID_OFFSET + MBEDTLS_LMOTS_Q_LEAF_ID_LEN) -#define MBEDTLS_LMS_SIG_TYPE_OFFSET (MBEDTLS_LMS_SIG_OTS_SIG_OFFSET + MBEDTLS_LMOTS_SIG_LEN) -#define MBEDTLS_LMS_SIG_PATH_OFFSET (MBEDTLS_LMS_SIG_TYPE_OFFSET + MBEDTLS_LMS_TYPE_LEN) +#define MBEDTLS_LMS_PUBLIC_KEY_LEN(type) (MBEDTLS_LMS_TYPE_LEN + \ + MBEDTLS_LMOTS_TYPE_LEN + \ + MBEDTLS_LMOTS_I_KEY_ID_LEN + \ + MBEDTLS_LMS_M_NODE_BYTES(type)) -#define MBEDTLS_LMS_PUBKEY_TYPE_OFFSET (0) -#define MBEDTLS_LMS_PUBKEY_OTSTYPE_OFFSET (MBEDTLS_LMS_PUBKEY_TYPE_OFFSET + MBEDTLS_LMS_TYPE_LEN) -#define MBEDTLS_LMS_PUBKEY_I_KEY_ID_OFFSET (MBEDTLS_LMS_PUBKEY_OTSTYPE_OFFSET + MBEDTLS_LMOTS_TYPE_LEN) -#define MBEDTLS_LMS_PUBKEY_ROOT_NODE_OFFSET (MBEDTLS_LMS_PUBKEY_I_KEY_ID_OFFSET + MBEDTLS_LMOTS_I_KEY_ID_LEN) #ifdef __cplusplus extern "C" { #endif -/* https://www.iana.org/assignments/leighton-micali-signatures/leighton-micali-signatures.xhtml - * We are only implementing a subset of the types, particularly H10, for the sake of simplicty. +/** The Identifier of the LMS parameter set, as per + * https://www.iana.org/assignments/leighton-micali-signatures/leighton-micali-signatures.xhtml + * We are only implementing a subset of the types, particularly H10, for the sake of simplicity. */ typedef enum { MBEDTLS_LMS_SHA256_M32_H10 = 0x6, } mbedtls_lms_algorithm_type_t; +/** The Identifier of the LMOTS parameter set, as per + * https://www.iana.org/assignments/leighton-micali-signatures/leighton-micali-signatures.xhtml. + * We are only implementing a subset of the types, particularly N32_W8, for the sake of simplicity. + */ +typedef enum { + MBEDTLS_LMOTS_SHA256_N32_W8 = 4 +} mbedtls_lmots_algorithm_type_t; + +/** LMOTS parameters structure. + * + * This contains the metadata associated with an LMOTS key, detailing the + * algorithm type, the key ID, and the leaf identifier should be key be part of + * a LMS key. + */ +typedef struct { + unsigned char MBEDTLS_PRIVATE(I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN]); /*!< The key + identifier. */ + unsigned char MBEDTLS_PRIVATE(q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN]); /*!< Which + leaf of the LMS key this is. + 0 if the key is not part of an LMS key. */ + mbedtls_lmots_algorithm_type_t MBEDTLS_PRIVATE(type); /*!< The LM-OTS key type identifier as + per IANA. Only SHA256_N32_W8 is + currently supported. */ +} mbedtls_lmots_parameters_t; +/** LMOTS public context structure. + * + * A LMOTS public key is a hash output, and the applicable parameter set. + * + * The context must be initialized before it is used. A public key must either + * be imported or generated from a private context. + * + * \dot + * digraph lmots_public_t { + * UNINITIALIZED -> INIT [label="init"]; + * HAVE_PUBLIC_KEY -> INIT [label="free"]; + * INIT -> HAVE_PUBLIC_KEY [label="import_public_key"]; + * INIT -> HAVE_PUBLIC_KEY [label="calculate_public_key from private key"]; + * HAVE_PUBLIC_KEY -> HAVE_PUBLIC_KEY [label="export_public_key"]; + * } + * \enddot + */ typedef struct { - unsigned char MBEDTLS_PRIVATE(have_privkey); /*!< Whether the context contains a private key. + mbedtls_lmots_parameters_t MBEDTLS_PRIVATE(params); + unsigned char MBEDTLS_PRIVATE(public_key)[MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + unsigned char MBEDTLS_PRIVATE(have_public_key); /*!< Whether the context contains a public key. Boolean values only. */ - unsigned char MBEDTLS_PRIVATE(have_pubkey); /*!< Whether the context contains a public key. +} mbedtls_lmots_public_t; + +#if defined(MBEDTLS_LMS_PRIVATE) +/** LMOTS private context structure. + * + * A LMOTS private key is one hash output for each of digit of the digest + + * checksum, and the applicable parameter set. + * + * The context must be initialized before it is used. A public key must either + * be imported or generated from a private context. + * + * \dot + * digraph lmots_public_t { + * UNINITIALIZED -> INIT [label="init"]; + * HAVE_PRIVATE_KEY -> INIT [label="free"]; + * INIT -> HAVE_PRIVATE_KEY [label="generate_private_key"]; + * HAVE_PRIVATE_KEY -> INIT [label="sign"]; + * } + * \enddot + */ +typedef struct { + mbedtls_lmots_parameters_t MBEDTLS_PRIVATE(params); + unsigned char MBEDTLS_PRIVATE(private_key)[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX][MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + unsigned char MBEDTLS_PRIVATE(have_private_key); /*!< Whether the context contains a private key. Boolean values only. */ - unsigned char MBEDTLS_PRIVATE(I_key_identifier)[MBEDTLS_LMOTS_I_KEY_ID_LEN]; /*!< The key +} mbedtls_lmots_private_t; +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ + + +/** LMS parameters structure. + * + * This contains the metadata associated with an LMS key, detailing the + * algorithm type, the type of the underlying OTS algorithm, and the key ID. + */ +typedef struct { + unsigned char MBEDTLS_PRIVATE(I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN]); /*!< The key identifier. */ - mbedtls_lms_algorithm_type_t MBEDTLS_PRIVATE(type); /*!< The LMS key type identifier as per - IANA. Only SHA256_M32_H10 is currently - supported. */ mbedtls_lmots_algorithm_type_t MBEDTLS_PRIVATE(otstype); /*!< The LM-OTS key type identifier as - per IANA. Only SHA256_N32_W8 is currently - supported. */ - unsigned int MBEDTLS_PRIVATE(q_next_usable_key); /*!< The index of the next OTS key that has not - been used. */ - mbedtls_lmots_context *MBEDTLS_PRIVATE(priv_keys); /*!< The private key material. One OTS key - for each leaf node in the merkle tree. */ - unsigned char MBEDTLS_PRIVATE(T_1_pub_key)[MBEDTLS_LMS_M_NODE_BYTES]; /*!< The public key, in - the form of the merkle tree root node. */ -} mbedtls_lms_context; + per IANA. Only SHA256_N32_W8 is + currently supported. */ + mbedtls_lms_algorithm_type_t MBEDTLS_PRIVATE(type); /*!< The LMS key type identifier as per + IANA. Only SHA256_M32_H10 is currently + supported. */ +} mbedtls_lms_parameters_t; + +/** LMS public context structure. + * + *A LMS public key is the hash output that is the root of the Merkle tree, and + * the applicable parameter set + * + * The context must be initialized before it is used. A public key must either + * be imported or generated from a private context. + * + * \dot + * digraph lms_public_t { + * UNINITIALIZED -> INIT [label="init"]; + * HAVE_PUBLIC_KEY -> INIT [label="free"]; + * INIT -> HAVE_PUBLIC_KEY [label="import_public_key"]; + * INIT -> HAVE_PUBLIC_KEY [label="calculate_public_key from private key"]; + * HAVE_PUBLIC_KEY -> HAVE_PUBLIC_KEY [label="export_public_key"]; + * } + * \enddot + */ +typedef struct { + mbedtls_lms_parameters_t MBEDTLS_PRIVATE(params); + unsigned char MBEDTLS_PRIVATE(T_1_pub_key)[MBEDTLS_LMS_M_NODE_BYTES_MAX]; /*!< The public key, in + the form of the Merkle tree root node. */ + unsigned char MBEDTLS_PRIVATE(have_public_key); /*!< Whether the context contains a public key. + Boolean values only. */ +} mbedtls_lms_public_t; + +#if defined(MBEDTLS_LMS_PRIVATE) +/** LMS private context structure. + * + * A LMS private key is a set of LMOTS private keys, an index to the next usable + * key, and the applicable parameter set. + * + * The context must be initialized before it is used. A public key must either + * be imported or generated from a private context. + * + * \dot + * digraph lms_public_t { + * UNINITIALIZED -> INIT [label="init"]; + * HAVE_PRIVATE_KEY -> INIT [label="free"]; + * INIT -> HAVE_PRIVATE_KEY [label="generate_private_key"]; + * } + * \enddot + */ +typedef struct { + mbedtls_lms_parameters_t MBEDTLS_PRIVATE(params); + uint32_t MBEDTLS_PRIVATE(q_next_usable_key); /*!< The index of the next OTS key that has not + been used. */ + mbedtls_lmots_private_t *MBEDTLS_PRIVATE(ots_private_keys); /*!< The private key material. One OTS key + for each leaf node in the Merkle tree. NULL + when have_private_key is 0 and non-NULL otherwise. + is 2^MBEDTLS_LMS_H_TREE_HEIGHT(type) in length. */ + mbedtls_lmots_public_t *MBEDTLS_PRIVATE(ots_public_keys); /*!< The OTS key public keys, used to + build the Merkle tree. NULL + when have_private_key is 0 and + non-NULL otherwise. + Is 2^MBEDTLS_LMS_H_TREE_HEIGHT(type) + in length. */ + unsigned char MBEDTLS_PRIVATE(have_private_key); /*!< Whether the context contains a private key. + Boolean values only. */ +} mbedtls_lms_private_t; +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ /** - * \brief This function initializes an LMS context + * \brief This function initializes an LMS public context * * \param ctx The uninitialized LMS context that will then be * initialized. */ -void mbedtls_lms_init( mbedtls_lms_context *ctx ); +void mbedtls_lms_public_init( mbedtls_lms_public_t *ctx ); /** - * \brief This function uninitializes an LMS context + * \brief This function uninitializes an LMS public context * * \param ctx The initialized LMS context that will then be * uninitialized. */ -void mbedtls_lms_free( mbedtls_lms_context *ctx ); +void mbedtls_lms_public_free( mbedtls_lms_public_t *ctx ); /** - * \brief This function sets the type of an LMS context + * \brief This function imports an LMS public key into a + * public LMS context. + * + * \note Before this function is called, the context must + * have been initialized. + * + * \note See IETF RFC8554 for details of the encoding of + * this public key. * - * \note The parameter set in the context will then be used - * for keygen operations etc. + * \param ctx The initialized LMS context store the key in. + * \param key The buffer from which the key will be read. + * #MBEDTLS_LMS_PUBLIC_KEY_LEN bytes will be read from + * this. + * \param key_size The size of the key being imported. * - * \param ctx The initialized LMS context. - * \param type The type that will be set in the context. - * \param otstype The type of the LMOTS implementation used by this - * context. + * \return \c 0 on success. + * \return A non-zero error code on failure. */ -int mbedtls_lms_set_algorithm_type( mbedtls_lms_context *ctx, - mbedtls_lms_algorithm_type_t type, - mbedtls_lmots_algorithm_type_t otstype); +int mbedtls_lms_import_public_key( mbedtls_lms_public_t *ctx, + const unsigned char *key, size_t key_size ); /** - * \brief This function creates a LMS signature, using a - * LMOTS context that contains a private key. - * - * \note This function is intended for _testing purposes - * only_, due to complexities around updating stateful - * keys. + * \brief This function exports an LMS public key from a + * LMS public context that already contains a public + * key. * * \note Before this function is called, the context must - * have been initialized and must contain a private - * key. + * have been initialized and the context must contain + * a public key. * - * \note Each of the LMOTS private keys inside a LMS private - * key can only be used once. If they are reused, then - * attackers may be able to forge signatures with that - * key. This is all handled transparently, but it is - * important to not perform copy operations on LMS - * contexts that contain private key material. + * \note See IETF RFC8554 for details of the encoding of + * this public key. * - * \param ctx The initialized LMS context from which the - * private key will be read. - * \param f_rng The RNG function to be used for signature - * generation. - * \param p_rng The RNG context to be passed to f_rng - * \param msg The buffer from which the message will be read. - * \param msg_len The size of the message that will be read. - * \param sig The buf into which the signature will be stored. - * Must be at least #MBEDTLS_LMOTS_SIG_LEN in size. + * \param ctx The initialized LMS public context that contains + * the public key. + * \param key The buffer into which the key will be output. Must + * be at least #MBEDTLS_LMS_PUBLIC_KEY_LEN in size. + * \param key_size The size of the key buffer. + * \param key_len If not NULL, will be written with the size of the + * key. * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lms_sign( mbedtls_lms_context *ctx, - int (*f_rng)(void *, unsigned char *, size_t), - void* p_rng, unsigned char *msg, unsigned int msg_len, - unsigned char *sig); +int mbedtls_lms_export_public_key( const mbedtls_lms_public_t *ctx, + unsigned char *key, size_t key_size, + size_t *key_len ); /** * \brief This function verifies a LMS signature, using a @@ -164,105 +316,133 @@ int mbedtls_lms_sign( mbedtls_lms_context *ctx, * have been initialized and must contain a public key * (either by import or generation). * - * \param ctx The initialized LMS context from which the public - * key will be read. + * \param ctx The initialized LMS public context from which the + * public key will be read. * \param msg The buffer from which the message will be read. - * \param msg_len The size of the message that will be read. + * \param msg_size The size of the message that will be read. * \param sig The buf from which the signature will be read. * #MBEDTLS_LMS_SIG_LEN bytes will be read from * this. + * \param sig_size The size of the signature to be verified. * * \return \c 0 on successful verification. * \return A non-zero error code on failure. */ -int mbedtls_lms_verify( const mbedtls_lms_context *ctx, - const unsigned char *msg, unsigned int msg_len, - const unsigned char *sig ); +int mbedtls_lms_verify( const mbedtls_lms_public_t *ctx, + const unsigned char *msg, size_t msg_size, + const unsigned char *sig, size_t sig_size ); +#if defined(MBEDTLS_LMS_PRIVATE) /** - * \brief This function imports an LMOTS public key into a - * LMS context. - * - * \note Before this function is called, the context must - * have been initialized. + * \brief This function initializes an LMS private context * - * \note See IETF RFC8554 for details of the encoding of - * this public key. - * - * \param ctx The initialized LMS context store the key in. - * \param key The buffer from which the key will be read. - * #MBEDTLS_LMS_PUBKEY_LEN bytes will be read from - * this. + * \param ctx The uninitialized LMS private context that will + * then be initialized. */ +void mbedtls_lms_private_init( mbedtls_lms_private_t *ctx ); + +/** + * \brief This function uninitializes an LMS private context * - * \return \c 0 on success. - * \return A non-zero error code on failure. + * \param ctx The initialized LMS private context that will then + * be uninitialized. */ -int mbedtls_lms_import_pubkey( mbedtls_lms_context *ctx, - const unsigned char *key ); +void mbedtls_lms_private_free( mbedtls_lms_private_t *ctx ); /** - * \brief This function exports an LMOTS public key from a - * LMS context that already contains a public key. + * \brief This function generates an LMS private key, and + * stores in into an LMS private context. * - * \note Before this function is called, the context must - * have been initialized and the context must contain - * a public key. + * \warning This function is **not intended for use in + * production**, due to as-yet unsolved problems with + * handling stateful keys. The API for this function + * may change considerably in future versions. * - * \note See IETF RFC8554 for details of the encoding of - * this public key. + * \note The seed must have at least 256 bits of entropy. * - * \param ctx The initialized LMS context that contains the - * publc key. - * \param key The buffer into which the key will be output. Must - * be at least #MBEDTLS_LMS_PUBKEY_LEN in size. + * \param ctx The initialized LMOTS context to generate the key + * into. + * \param type The LMS parameter set identifier. + * \param otstype The LMOTS parameter set identifier. + * \param f_rng The RNG function to be used to generate the key ID. + * \param p_rng The RNG context to be passed to f_rng + * \param seed The seed used to deterministically generate the + * key. + * \param seed_size The length of the seed. * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lms_export_pubkey( mbedtls_lms_context *ctx, - unsigned char *key ); +int mbedtls_lms_generate_private_key( mbedtls_lms_private_t *ctx, + mbedtls_lms_algorithm_type_t type, + mbedtls_lmots_algorithm_type_t otstype, + int (*f_rng)(void *, unsigned char *, size_t), + void* p_rng, const unsigned char *seed, + size_t seed_size ); /** - * \brief This function generates an LMS public key from a + * \brief This function calculates an LMS public key from a * LMS context that already contains a private key. * * \note Before this function is called, the context must * have been initialized and the context must contain * a private key. * - * \param ctx The initialized LMS context to generate the key + * \param ctx The initialized LMS public context to calculate the key * from and store it into. * + * \param priv_ctx The LMS private context to read the private key + * from. This must have been initialized and contain a + * private key. + * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lms_gen_pubkey( mbedtls_lms_context *ctx ); +int mbedtls_lms_calculate_public_key( mbedtls_lms_public_t *ctx, + const mbedtls_lms_private_t *priv_ctx ); /** - * \brief This function generates an LMS private key, and - * stores in into an LMS context. + * \brief This function creates a LMS signature, using a + * LMS context that contains unused private keys. + * + * \warning This function is **not intended for use in + * production**, due to as-yet unsolved problems with + * handling stateful keys. The API for this function + * may change considerably in future versions. * * \note Before this function is called, the context must - * have been initialized and the type of the LMS - * context set using mbedtls_lmots_set_algorithm_type + * have been initialized and must contain a private + * key. * - * \note The seed must have at least 256 bits of entropy. + * \note Each of the LMOTS private keys inside a LMS private + * key can only be used once. If they are reused, then + * attackers may be able to forge signatures with that + * key. This is all handled transparently, but it is + * important to not perform copy operations on LMS + * contexts that contain private key material. * - * \param ctx The initialized LMOTS context to generate the key - * into. - * \param f_rng The RNG function to be used to generate the key ID. + * \param ctx The initialized LMS private context from which the + * private key will be read. + * \param f_rng The RNG function to be used for signature + * generation. * \param p_rng The RNG context to be passed to f_rng - * \param seed The seed used to deterministically generate the - * key. - * \param seed_len The length of the seed. + * \param msg The buffer from which the message will be read. + * \param msg_size The size of the message that will be read. + * \param sig The buf into which the signature will be stored. + * Must be at least #MBEDTLS_LMS_SIG_LEN in size. + * \param sig_size The size of the buffer the signature will be + * written into. + * \param sig_len If not NULL, will be written with the size of the + * signature. * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lms_gen_privkey( mbedtls_lms_context *ctx, - int (*f_rng)(void *, unsigned char *, size_t), - void* p_rng, unsigned char *seed, - size_t seed_len ); +int mbedtls_lms_sign( mbedtls_lms_private_t *ctx, + int (*f_rng)(void *, unsigned char *, size_t), + void* p_rng, const unsigned char *msg, + unsigned int msg_size, unsigned char *sig, size_t sig_size, + size_t *sig_len ); +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ #ifdef __cplusplus } diff --git a/include/mbedtls/mbedtls_config.h b/include/mbedtls/mbedtls_config.h index dd28414590..78c3635433 100644 --- a/include/mbedtls/mbedtls_config.h +++ b/include/mbedtls/mbedtls_config.h @@ -958,7 +958,7 @@ * might still happen. For this reason, this is disabled by default. * * Requires: MBEDTLS_ECJPAKE_C - * MBEDTLS_SHA256_C + * SHA-256 (via MD if present, or via PSA, see MBEDTLS_ECJPAKE_C) * MBEDTLS_ECP_DP_SECP256R1_ENABLED * * This enables the following ciphersuites (if other requisites are @@ -1110,7 +1110,7 @@ * Include backtrace information with each allocated block. * * Requires: MBEDTLS_MEMORY_BUFFER_ALLOC_C - * GLIBC-compatible backtrace() an backtrace_symbols() support + * GLIBC-compatible backtrace() and backtrace_symbols() support * * Uncomment this macro to include backtrace information */ @@ -1130,7 +1130,7 @@ * * Enable support for PKCS#1 v1.5 encoding. * - * Requires: MBEDTLS_MD_C, MBEDTLS_RSA_C + * Requires: MBEDTLS_RSA_C * * This enables support for PKCS#1 v1.5 operations. */ @@ -1141,7 +1141,15 @@ * * Enable support for PKCS#1 v2.1 encoding. * - * Requires: MBEDTLS_MD_C, MBEDTLS_RSA_C + * Requires: MBEDTLS_RSA_C and (MBEDTLS_MD_C or MBEDTLS_PSA_CRYPTO_C). + * + * \warning If building without MBEDTLS_MD_C, you must call psa_crypto_init() + * before doing any PKCS#1 v2.1 operation. + * + * \warning When building with MBEDTLS_MD_C, all hashes used with this + * need to be available as built-ins (that is, for SHA-256, MBEDTLS_SHA256_C, + * etc.) as opposed to just PSA drivers. So far, PSA drivers are only used by + * this module in builds where MBEDTLS_MD_C is disabled. * * This enables support for RSAES-OAEP and RSASSA-PSS operations. */ @@ -1317,21 +1325,16 @@ /** * \def MBEDTLS_SSL_DTLS_CONNECTION_ID * - * Enable support for the DTLS Connection ID extension - * (version draft-ietf-tls-dtls-connection-id-05, - * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05) + * Enable support for the DTLS Connection ID (CID) extension, * which allows to identify DTLS connections across changes - * in the underlying transport. + * in the underlying transport. The CID functionality is described + * in RFC 9146. * * Setting this option enables the SSL APIs `mbedtls_ssl_set_cid()`, * mbedtls_ssl_get_own_cid()`, `mbedtls_ssl_get_peer_cid()` and * `mbedtls_ssl_conf_cid()`. See the corresponding documentation for * more information. * - * \warning The Connection ID extension is still in draft state. - * We make no stability promises for the availability - * or the shape of the API controlled by this option. - * * The maximum lengths of outgoing and incoming CIDs can be configured * through the options * - MBEDTLS_SSL_CID_OUT_LEN_MAX @@ -1341,7 +1344,30 @@ * * Uncomment to enable the Connection ID extension. */ -//#define MBEDTLS_SSL_DTLS_CONNECTION_ID +#define MBEDTLS_SSL_DTLS_CONNECTION_ID + + +/** + * \def MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT + * + * Defines whether RFC 9146 (default) or the legacy version + * (version draft-ietf-tls-dtls-connection-id-05, + * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05) + * is used. + * + * Set the value to 0 for the standard version, and + * 1 for the legacy draft version. + * + * \deprecated Support for the legacy version of the DTLS + * Connection ID feature is deprecated. Please + * switch to the standardized version defined + * in RFC 9146 enabled by utilizing + * MBEDTLS_SSL_DTLS_CONNECTION_ID without use + * of MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT. + * + * Requires: MBEDTLS_SSL_DTLS_CONNECTION_ID + */ +#define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT 0 /** * \def MBEDTLS_SSL_ASYNC_PRIVATE @@ -1377,6 +1403,8 @@ * saved after the handshake to allow for more efficient serialization, so if * you don't need this feature you'll save RAM by disabling it. * + * Requires: MBEDTLS_GCM_C or MBEDTLS_CCM_C or MBEDTLS_CHACHAPOLY_C + * * Comment to disable the context serialization APIs. */ #define MBEDTLS_SSL_CONTEXT_SERIALIZATION @@ -1489,8 +1517,14 @@ * * Enable support for TLS 1.2 (and DTLS 1.2 if DTLS is enabled). * - * Requires: MBEDTLS_SHA1_C or MBEDTLS_SHA256_C or MBEDTLS_SHA512_C - * (Depends on ciphersuites) + * Requires: Without MBEDTLS_USE_PSA_CRYPTO: MBEDTLS_MD_C and + * (MBEDTLS_SHA1_C or MBEDTLS_SHA256_C or MBEDTLS_SHA512_C) + * With MBEDTLS_USE_PSA_CRYPTO: + * PSA_WANT_ALG_SHA_1 or PSA_WANT_ALG_SHA_256 or + * PSA_WANT_ALG_SHA_512 + * + * \warning If building with MBEDTLS_USE_PSA_CRYPTO, you must call + * psa_crypto_init() before doing any TLS operations. * * Comment this macro to disable support for TLS 1.2 / DTLS 1.2 */ @@ -1509,11 +1543,11 @@ * Requires: MBEDTLS_SSL_KEEP_PEER_CERTIFICATE * Requires: MBEDTLS_PSA_CRYPTO_C * - * Note: even though TLS 1.3 depends on PSA Crypto, if you want it to only use - * PSA for all crypto operations, you need to also enable - * MBEDTLS_USE_PSA_CRYPTO; otherwise X.509 operations, and functions that are - * common with TLS 1.2 (record protection, running handshake hash) will still - * use non-PSA crypto. + * Note: even though TLS 1.3 depends on PSA Crypto, and uses it unconditionally + * for most operations, if you want it to only use PSA for all crypto + * operations, you need to also enable MBEDTLS_USE_PSA_CRYPTO; otherwise X.509 + * operations, and functions that are common with TLS 1.2 (record protection, + * running handshake hash) will still use non-PSA crypto. * * Uncomment this macro to enable the support for TLS 1.3. */ @@ -1541,6 +1575,121 @@ */ //#define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +/** + * \def MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + * + * Enable TLS 1.3 PSK key exchange mode. + * + * Comment to disable support for the PSK key exchange mode in TLS 1.3. If + * MBEDTLS_SSL_PROTO_TLS1_3 is not enabled, this option does not have any + * effect on the build. + * + */ +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + +/** + * \def MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + * + * Enable TLS 1.3 ephemeral key exchange mode. + * + * Requires: MBEDTLS_ECDH_C, MBEDTLS_X509_CRT_PARSE_C, MBEDTLS_ECDSA_C or + * MBEDTLS_PKCS1_V21 + * + * Comment to disable support for the ephemeral key exchange mode in TLS 1.3. + * If MBEDTLS_SSL_PROTO_TLS1_3 is not enabled, this option does not have any + * effect on the build. + * + */ +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + +/** + * \def MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED + * + * Enable TLS 1.3 PSK ephemeral key exchange mode. + * + * Requires: MBEDTLS_ECDH_C + * + * Comment to disable support for the PSK ephemeral key exchange mode in + * TLS 1.3. If MBEDTLS_SSL_PROTO_TLS1_3 is not enabled, this option does not + * have any effect on the build. + * + */ +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED + +/** + * \def MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE + * + * Maximum time difference in milliseconds tolerated between the age of a + * ticket from the server and client point of view. + * From the client point of view, the age of a ticket is the time difference + * between the time when the client proposes to the server to use the ticket + * (time of writing of the Pre-Shared Key Extension including the ticket) and + * the time the client received the ticket from the server. + * From the server point of view, the age of a ticket is the time difference + * between the time when the server receives a proposition from the client + * to use the ticket and the time when the ticket was created by the server. + * The server age is expected to be always greater than the client one and + * MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE defines the + * maximum difference tolerated for the server to accept the ticket. + * This is not used in TLS 1.2. + * + */ +#define MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE 6000 + +/** + * \def MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH + * + * Size in bytes of a ticket nonce. This is not used in TLS 1.2. + * + * This must be less than 256. + */ +#define MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH 32 + +/** + * \def MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS + * + * Default number of NewSessionTicket messages to be sent by a TLS 1.3 server + * after handshake completion. This is not used in TLS 1.2 and relevant only if + * the MBEDTLS_SSL_SESSION_TICKETS option is enabled. + * + */ +#define MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS 1 + +/** +* \def MBEDTLS_SSL_EARLY_DATA +* +* Enable support for RFC 8446 TLS 1.3 early data. +* +* Requires: MBEDTLS_SSL_SESSION_TICKETS and either +* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED or +* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +* +* Comment this to disable support for early data. If MBEDTLS_SSL_PROTO_TLS1_3 +* is not enabled, this option does not have any effect on the build. +* +* This feature is experimental, not completed and thus not ready for +* production. +* +*/ +//#define MBEDTLS_SSL_EARLY_DATA + +/** + * \def MBEDTLS_SSL_MAX_EARLY_DATA_SIZE + * + * The default maximum amount of 0-RTT data. See the documentation of + * \c mbedtls_ssl_tls13_conf_max_early_data_size() for more information. + * + * It must be positive and smaller than UINT32_MAX. + * + * If MBEDTLS_SSL_EARLY_DATA is not defined, this default value does not + * have any impact on the build. + * + * This feature is experimental, not completed and thus not ready for + * production. + * + */ +#define MBEDTLS_SSL_MAX_EARLY_DATA_SIZE 1024 + /** * \def MBEDTLS_SSL_PROTO_DTLS * @@ -2001,6 +2150,9 @@ * Enable the multi-precision integer library. * * Module: library/bignum.c + * library/bignum_core.c + * library/bignum_mod.c + * library/bignum_mod_raw.c * Caller: library/dhm.c * library/ecp.c * library/ecdsa.c @@ -2317,7 +2469,15 @@ * This module is used by the following key exchanges: * ECJPAKE * - * Requires: MBEDTLS_ECP_C, MBEDTLS_MD_C + * Requires: MBEDTLS_ECP_C and either MBEDTLS_MD_C or MBEDTLS_PSA_CRYPTO_C + * + * \warning If building without MBEDTLS_MD_C, you must call psa_crypto_init() + * before doing any EC J-PAKE operations. + * + * \warning When building with MBEDTLS_MD_C, all hashes used with this + * need to be available as built-ins (that is, for SHA-256, MBEDTLS_SHA256_C, + * etc.) as opposed to just PSA drivers. So far, PSA drivers are only used by + * this module in builds where MBEDTLS_MD_C is disabled. */ #define MBEDTLS_ECJPAKE_C @@ -2406,32 +2566,30 @@ #define MBEDTLS_HMAC_DRBG_C /** - * \def MBEDTLS_LMOTS_C + * \def MBEDTLS_LMS_C * - * Enable the LMOTS one-time asymmetric hash signature algorithm. + * Enable the LMS stateful-hash asymmetric signature algorithm. * - * Module: library/lm_ots.c + * Module: library/lms.c * Caller: * - * Requires: MBEDTLS_SHA256_C + * Requires: MBEDTLS_PSA_CRYPTO_C * - * Uncomment to enable the LMOTS signature algorithm. + * Uncomment to enable the LMS verification algorithm and public key operations. */ -#define MBEDTLS_LMOTS_C +#define MBEDTLS_LMS_C /** - * \def MBEDTLS_LMS_C + * \def MBEDTLS_LMS_PRIVATE * - * Enable the LMS stateful-hash asymmetric signature algorithm. - * - * Module: library/lms.c - * Caller: + * Enable LMS private-key operations and signing code. Functions enabled by this + * option are experimental, and should not be used in production. * * Requires: MBEDTLS_LMS_C * - * Uncomment to enable the LMS signature algorithm. + * Uncomment to enable the LMS signature algorithm and private key operations. */ -#define MBEDTLS_LMS_C +//#define MBEDTLS_LMS_PRIVATE /** * \def MBEDTLS_NIST_KW_C @@ -2451,6 +2609,9 @@ * * Enable the generic message digest layer. * + * Requires: one of: MBEDTLS_MD5_C, MBEDTLS_RIPEMD160_C, MBEDTLS_SHA1_C, + * MBEDTLS_SHA224_C, MBEDTLS_SHA256_C, MBEDTLS_SHA384_C, + * MBEDTLS_SHA512_C. * Module: library/md.c * Caller: library/constant_time.c * library/ecdsa.c @@ -2523,7 +2684,7 @@ * * \note See also our Knowledge Base article about porting to a new * environment: - * https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS + * https://mbed-tls.readthedocs.io/en/latest/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS * * Module: library/net_sockets.c * @@ -2656,12 +2817,40 @@ * * Module: library/pkcs5.c * - * Requires: MBEDTLS_CIPHER_C, MBEDTLS_MD_C + * Requires: MBEDTLS_CIPHER_C and either MBEDTLS_MD_C or MBEDTLS_PSA_CRYPTO_C. + * + * \warning If building without MBEDTLS_MD_C, you must call psa_crypto_init() + * before doing any PKCS5 operation. + * + * \warning When building with MBEDTLS_MD_C, all hashes used with this + * need to be available as built-ins (that is, for SHA-256, MBEDTLS_SHA256_C, + * etc.) as opposed to just PSA drivers. So far, PSA drivers are only used by + * this module in builds where MBEDTLS_MD_C is disabled. * * This module adds support for the PKCS#5 functions. */ #define MBEDTLS_PKCS5_C +/** + * \def MBEDTLS_PKCS7_C + * + * This feature is a work in progress and not ready for production. Testing and + * validation is incomplete, and handling of malformed inputs may not be robust. + * The API may change. + * + * Enable PKCS7 core for using PKCS7 formatted signatures. + * RFC Link - https://tools.ietf.org/html/rfc2315 + * + * Module: library/pkcs7.c + * + * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_OID_C, MBEDTLS_PK_PARSE_C, + * MBEDTLS_X509_CRT_PARSE_C MBEDTLS_X509_CRL_PARSE_C, + * MBEDTLS_BIGNUM_C, MBEDTLS_MD_C + * + * This module is required for the PKCS7 parsing modules. + */ +//#define MBEDTLS_PKCS7_C + /** * \def MBEDTLS_PKCS12_C * @@ -2671,7 +2860,16 @@ * Module: library/pkcs12.c * Caller: library/pkparse.c * - * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_CIPHER_C, MBEDTLS_MD_C + * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_CIPHER_C and either + * MBEDTLS_MD_C or MBEDTLS_PSA_CRYPTO_C. + * + * \warning If building without MBEDTLS_MD_C, you must call psa_crypto_init() + * before doing any PKCS12 operation. + * + * \warning When building with MBEDTLS_MD_C, all hashes used with this + * need to be available as built-ins (that is, for SHA-256, MBEDTLS_SHA256_C, + * etc.) as opposed to just PSA drivers. So far, PSA drivers are only used by + * this module in builds where MBEDTLS_MD_C is disabled. * * This module enables PKCS#12 functions. */ @@ -2688,7 +2886,7 @@ * above to be specified at runtime or compile time respectively. * * \note This abstraction layer must be enabled on Windows (including MSYS2) - * as other module rely on it for a fixed snprintf implementation. + * as other modules rely on it for a fixed snprintf implementation. * * Module: library/platform.c * Caller: Most other .c files @@ -3016,7 +3214,8 @@ * Module: library/ssl_ticket.c * Caller: * - * Requires: MBEDTLS_CIPHER_C || MBEDTLS_USE_PSA_CRYPTO + * Requires: (MBEDTLS_CIPHER_C || MBEDTLS_USE_PSA_CRYPTO) && + * (MBEDTLS_GCM_C || MBEDTLS_CCM_C || MBEDTLS_CHACHAPOLY_C) */ #define MBEDTLS_SSL_TICKET_C @@ -3072,7 +3271,7 @@ * contexts are not shared between threads. If you do intend to use contexts * between threads, you will need to enable this layer to prevent race * conditions. See also our Knowledge Base article about threading: - * https://tls.mbed.org/kb/development/thread-safety-and-multi-threading + * https://mbed-tls.readthedocs.io/en/latest/kb/development/thread-safety-and-multi-threading * * Module: library/threading.c * @@ -3104,7 +3303,7 @@ * * \note See also our Knowledge Base article about porting to a new * environment: - * https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS + * https://mbed-tls.readthedocs.io/en/latest/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS * * Module: library/timing.c */ @@ -3131,8 +3330,11 @@ * library/x509_crt.c * library/x509_csr.c * - * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_BIGNUM_C, MBEDTLS_OID_C, - * MBEDTLS_PK_PARSE_C + * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_BIGNUM_C, MBEDTLS_OID_C, MBEDTLS_PK_PARSE_C, + * (MBEDTLS_MD_C or MBEDTLS_USE_PSA_CRYPTO) + * + * \warning If building with MBEDTLS_USE_PSA_CRYPTO, you must call + * psa_crypto_init() before doing any X.509 operation. * * This module is required for the X.509 parsing modules. */ @@ -3189,7 +3391,11 @@ * * Module: library/x509_create.c * - * Requires: MBEDTLS_BIGNUM_C, MBEDTLS_OID_C, MBEDTLS_PK_WRITE_C + * Requires: MBEDTLS_BIGNUM_C, MBEDTLS_OID_C, MBEDTLS_PK_PARSE_C, + * (MBEDTLS_MD_C or MBEDTLS_USE_PSA_CRYPTO) + * + * \warning If building with MBEDTLS_USE_PSA_CRYPTO, you must call + * psa_crypto_init() before doing any X.509 create operation. * * This module is the basis for creating X.509 certificates and CSRs. */ @@ -3530,17 +3736,6 @@ //#define MBEDTLS_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ //#define MBEDTLS_SSL_COOKIE_TIMEOUT 60 /**< Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued */ -/** \def MBEDTLS_TLS_EXT_CID - * - * At the time of writing, the CID extension has not been assigned its - * final value. Set this configuration option to make Mbed TLS use a - * different value. - * - * A future minor revision of Mbed TLS may change the default value of - * this option to match evolving standards and usage. - */ -//#define MBEDTLS_TLS_EXT_CID 254 - /** * Complete list of ciphersuites to use, in order of preference. * diff --git a/include/mbedtls/md.h b/include/mbedtls/md.h index 612061d152..fbf938dd1c 100644 --- a/include/mbedtls/md.h +++ b/include/mbedtls/md.h @@ -199,7 +199,7 @@ MBEDTLS_CHECK_RETURN_TYPICAL int mbedtls_md_setup( mbedtls_md_context_t *ctx, const mbedtls_md_info_t *md_info, int hmac ); /** - * \brief This function clones the state of an message-digest + * \brief This function clones the state of a message-digest * context. * * \note You must call mbedtls_md_setup() on \c dst before calling diff --git a/include/mbedtls/oid.h b/include/mbedtls/oid.h index a031fe2ddb..e5c4b92493 100644 --- a/include/mbedtls/oid.h +++ b/include/mbedtls/oid.h @@ -34,9 +34,7 @@ #include "mbedtls/cipher.h" #endif -#if defined(MBEDTLS_MD_C) #include "mbedtls/md.h" -#endif /** OID is not found. */ #define MBEDTLS_ERR_OID_NOT_FOUND -0x002E @@ -222,6 +220,7 @@ #define MBEDTLS_OID_PKCS MBEDTLS_OID_RSA_COMPANY "\x01" /**< pkcs OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) 1 } */ #define MBEDTLS_OID_PKCS1 MBEDTLS_OID_PKCS "\x01" /**< pkcs-1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 } */ #define MBEDTLS_OID_PKCS5 MBEDTLS_OID_PKCS "\x05" /**< pkcs-5 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 5 } */ +#define MBEDTLS_OID_PKCS7 MBEDTLS_OID_PKCS "\x07" /**< pkcs-7 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 7 } */ #define MBEDTLS_OID_PKCS9 MBEDTLS_OID_PKCS "\x09" /**< pkcs-9 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 } */ #define MBEDTLS_OID_PKCS12 MBEDTLS_OID_PKCS "\x0c" /**< pkcs-12 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 12 } */ @@ -302,6 +301,16 @@ #define MBEDTLS_OID_PKCS5_PBE_SHA1_DES_CBC MBEDTLS_OID_PKCS5 "\x0a" /**< pbeWithSHA1AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 10} */ #define MBEDTLS_OID_PKCS5_PBE_SHA1_RC2_CBC MBEDTLS_OID_PKCS5 "\x0b" /**< pbeWithSHA1AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 11} */ +/* + * PKCS#7 OIDs + */ +#define MBEDTLS_OID_PKCS7_DATA MBEDTLS_OID_PKCS7 "\x01" /**< Content type is Data OBJECT IDENTIFIER ::= {pkcs-7 1} */ +#define MBEDTLS_OID_PKCS7_SIGNED_DATA MBEDTLS_OID_PKCS7 "\x02" /**< Content type is Signed Data OBJECT IDENTIFIER ::= {pkcs-7 2} */ +#define MBEDTLS_OID_PKCS7_ENVELOPED_DATA MBEDTLS_OID_PKCS7 "\x03" /**< Content type is Enveloped Data OBJECT IDENTIFIER ::= {pkcs-7 3} */ +#define MBEDTLS_OID_PKCS7_SIGNED_AND_ENVELOPED_DATA MBEDTLS_OID_PKCS7 "\x04" /**< Content type is Signed and Enveloped Data OBJECT IDENTIFIER ::= {pkcs-7 4} */ +#define MBEDTLS_OID_PKCS7_DIGESTED_DATA MBEDTLS_OID_PKCS7 "\x05" /**< Content type is Digested Data OBJECT IDENTIFIER ::= {pkcs-7 5} */ +#define MBEDTLS_OID_PKCS7_ENCRYPTED_DATA MBEDTLS_OID_PKCS7 "\x06" /**< Content type is Encrypted Data OBJECT IDENTIFIER ::= {pkcs-7 6} */ + /* * PKCS#8 OIDs */ @@ -519,7 +528,6 @@ int mbedtls_oid_get_oid_by_ec_grp( mbedtls_ecp_group_id grp_id, const char **oid, size_t *olen ); #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_MD_C) /** * \brief Translate SignatureAlgorithm OID into md_type and pk_type * @@ -556,25 +564,24 @@ int mbedtls_oid_get_oid_by_sig_alg( mbedtls_pk_type_t pk_alg, mbedtls_md_type_t const char **oid, size_t *olen ); /** - * \brief Translate hash algorithm OID into md_type + * \brief Translate hmac algorithm OID into md_type * * \param oid OID to use - * \param md_alg place to store message digest algorithm + * \param md_hmac place to store message hmac algorithm * * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND */ -int mbedtls_oid_get_md_alg( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg ); +int mbedtls_oid_get_md_hmac( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_hmac ); /** - * \brief Translate hmac algorithm OID into md_type + * \brief Translate hash algorithm OID into md_type * * \param oid OID to use - * \param md_hmac place to store message hmac algorithm + * \param md_alg place to store message digest algorithm * * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND */ -int mbedtls_oid_get_md_hmac( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_hmac ); -#endif /* MBEDTLS_MD_C */ +int mbedtls_oid_get_md_alg( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg ); #if !defined(MBEDTLS_X509_REMOVE_INFO) /** diff --git a/include/mbedtls/pem.h b/include/mbedtls/pem.h index c75a1246ad..a4c6fb89f9 100644 --- a/include/mbedtls/pem.h +++ b/include/mbedtls/pem.h @@ -27,11 +27,6 @@ #include -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /** * \name PEM Error codes * These error codes are returned in case of errors reading the diff --git a/include/mbedtls/pk.h b/include/mbedtls/pk.h index 867961d329..db0bfacab3 100644 --- a/include/mbedtls/pk.h +++ b/include/mbedtls/pk.h @@ -44,11 +44,6 @@ #include "psa/crypto.h" #endif -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /** Memory allocation failed. */ #define MBEDTLS_ERR_PK_ALLOC_FAILED -0x3F80 /** Type mismatch, eg attempt to encrypt with an ECDSA key */ diff --git a/include/mbedtls/pkcs12.h b/include/mbedtls/pkcs12.h index 1b87aea925..327996a9ed 100644 --- a/include/mbedtls/pkcs12.h +++ b/include/mbedtls/pkcs12.h @@ -94,7 +94,7 @@ int mbedtls_pkcs12_pbe( mbedtls_asn1_buf *pbe_params, int mode, * no byte order mark and with a null terminator (i.e. the * last two bytes should be 0x00 0x00). * \param pwdlen length of the password (may be 0). - * \param salt Salt buffer to use This may only be \c NULL when + * \param salt Salt buffer to use. This may only be \c NULL when * \p saltlen is 0. * \param saltlen length of the salt (may be zero) * \param mbedtls_md mbedtls_md type to use during the derivation diff --git a/include/mbedtls/pkcs5.h b/include/mbedtls/pkcs5.h index 71d716be71..cf156644dc 100644 --- a/include/mbedtls/pkcs5.h +++ b/include/mbedtls/pkcs5.h @@ -70,9 +70,33 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, #endif /* MBEDTLS_ASN1_PARSE_C */ +/** + * \brief PKCS#5 PBKDF2 using HMAC without using the HMAC context + * + * \param md_type Hash algorithm used + * \param password Password to use when generating key + * \param plen Length of password + * \param salt Salt to use when generating key + * \param slen Length of salt + * \param iteration_count Iteration count + * \param key_length Length of generated key in bytes + * \param output Generated key. Must be at least as big as key_length + * + * \returns 0 on success, or a MBEDTLS_ERR_XXX code if verification fails. + */ +int mbedtls_pkcs5_pbkdf2_hmac_ext( mbedtls_md_type_t md_type, + const unsigned char *password, + size_t plen, const unsigned char *salt, size_t slen, + unsigned int iteration_count, + uint32_t key_length, unsigned char *output ); + +#if defined(MBEDTLS_MD_C) +#if !defined(MBEDTLS_DEPRECATED_REMOVED) /** * \brief PKCS#5 PBKDF2 using HMAC * + * \deprecated Superseded by mbedtls_pkcs5_pbkdf2_hmac_ext(). + * * \param ctx Generic HMAC context * \param password Password to use when generating key * \param plen Length of password @@ -84,11 +108,13 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, * * \returns 0 on success, or a MBEDTLS_ERR_XXX code if verification fails. */ -int mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, const unsigned char *password, +int MBEDTLS_DEPRECATED mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, + const unsigned char *password, size_t plen, const unsigned char *salt, size_t slen, unsigned int iteration_count, uint32_t key_length, unsigned char *output ); - +#endif /* !MBEDTLS_DEPRECATED_REMOVED */ +#endif /* MBEDTLS_MD_C */ #if defined(MBEDTLS_SELF_TEST) /** diff --git a/include/mbedtls/pkcs7.h b/include/mbedtls/pkcs7.h new file mode 100644 index 0000000000..bf61a63a03 --- /dev/null +++ b/include/mbedtls/pkcs7.h @@ -0,0 +1,268 @@ +/** + * \file pkcs7.h + * + * \brief PKCS7 generic defines and structures + * https://tools.ietf.org/html/rfc2315 + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * This feature is a work in progress and not ready for production. The API may + * change. Furthermore, please note that the implementation has only been + * validated with well-formed inputs, not yet with untrusted inputs (which is + * almost always the case in practice). + * + * Note: For the time being, this implementation of the PKCS7 cryptographic + * message syntax is a partial implementation of RFC 2315. + * Differences include: + * - The RFC specifies 6 different content types. The only type currently + * supported in Mbed TLS is the signed data content type. + * - The only supported PKCS7 Signed Data syntax version is version 1 + * - The RFC specifies support for BER. This implementation is limited to + * DER only. + * - The RFC specifies that multiple digest algorithms can be specified + * in the Signed Data type. Only one digest algorithm is supported in Mbed TLS. + * - The RFC specifies the Signed Data type can contain multiple X509 or PKCS6 + * certificates. In Mbed TLS, this list can only contain 0 or 1 certificates + * and they must be in X509 format. + * - The RFC specifies the Signed Data type can contain + * certificate-revocation lists (crls). This implementation has no support + * for crls so it is assumed to be an empty list. + * - The RFC allows for SignerInfo structure to optionally contain + * unauthenticatedAttributes and authenticatedAttributes. In Mbed TLS it is + * assumed these fields are empty. + */ + +#ifndef MBEDTLS_PKCS7_H +#define MBEDTLS_PKCS7_H + +#include "mbedtls/private_access.h" + +#include "mbedtls/build_info.h" + +#include "mbedtls/asn1.h" +#include "mbedtls/x509.h" +#include "mbedtls/x509_crt.h" + +/** + * \name PKCS7 Module Error codes + * \{ + */ +#define MBEDTLS_ERR_PKCS7_INVALID_FORMAT -0x5300 /**< The format is invalid, e.g. different type expected. */ +#define MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE -0x5380 /**< Unavailable feature, e.g. anything other than signed data. */ +#define MBEDTLS_ERR_PKCS7_INVALID_VERSION -0x5400 /**< The PKCS7 version element is invalid or cannot be parsed. */ +#define MBEDTLS_ERR_PKCS7_INVALID_CONTENT_INFO -0x5480 /**< The PKCS7 content info invalid or cannot be parsed. */ +#define MBEDTLS_ERR_PKCS7_INVALID_ALG -0x5500 /**< The algorithm tag or value is invalid or cannot be parsed. */ +#define MBEDTLS_ERR_PKCS7_INVALID_CERT -0x5580 /**< The certificate tag or value is invalid or cannot be parsed. */ +#define MBEDTLS_ERR_PKCS7_INVALID_SIGNATURE -0x5600 /**< Error parsing the signature */ +#define MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO -0x5680 /**< Error parsing the signer's info */ +#define MBEDTLS_ERR_PKCS7_BAD_INPUT_DATA -0x5700 /**< Input invalid. */ +#define MBEDTLS_ERR_PKCS7_ALLOC_FAILED -0x5780 /**< Allocation of memory failed. */ +#define MBEDTLS_ERR_PKCS7_VERIFY_FAIL -0x5800 /**< Verification Failed */ +#define MBEDTLS_ERR_PKCS7_CERT_DATE_INVALID -0x5880 /**< The PKCS7 date issued/expired dates are invalid */ +/* \} name */ + +/** + * \name PKCS7 Supported Version + * \{ + */ +#define MBEDTLS_PKCS7_SUPPORTED_VERSION 0x01 +/* \} name */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Type-length-value structure that allows for ASN1 using DER. + */ +typedef mbedtls_asn1_buf mbedtls_pkcs7_buf; + +/** + * Container for ASN1 named information objects. + * It allows for Relative Distinguished Names (e.g. cn=localhost,ou=code,etc.). + */ +typedef mbedtls_asn1_named_data mbedtls_pkcs7_name; + +/** + * Container for a sequence of ASN.1 items + */ +typedef mbedtls_asn1_sequence mbedtls_pkcs7_sequence; + +/** + * PKCS7 types + */ +typedef enum { + MBEDTLS_PKCS7_NONE=0, + MBEDTLS_PKCS7_DATA, + MBEDTLS_PKCS7_SIGNED_DATA, + MBEDTLS_PKCS7_ENVELOPED_DATA, + MBEDTLS_PKCS7_SIGNED_AND_ENVELOPED_DATA, + MBEDTLS_PKCS7_DIGESTED_DATA, + MBEDTLS_PKCS7_ENCRYPTED_DATA, +} +mbedtls_pkcs7_type; + +/** + * Structure holding PKCS7 signer info + */ +typedef struct mbedtls_pkcs7_signer_info +{ + int MBEDTLS_PRIVATE(version); + mbedtls_x509_buf MBEDTLS_PRIVATE(serial); + mbedtls_x509_name MBEDTLS_PRIVATE(issuer); + mbedtls_x509_buf MBEDTLS_PRIVATE(issuer_raw); + mbedtls_x509_buf MBEDTLS_PRIVATE(alg_identifier); + mbedtls_x509_buf MBEDTLS_PRIVATE(sig_alg_identifier); + mbedtls_x509_buf MBEDTLS_PRIVATE(sig); + struct mbedtls_pkcs7_signer_info *MBEDTLS_PRIVATE(next); +} +mbedtls_pkcs7_signer_info; + +/** + * Structure holding attached data as part of PKCS7 signed data format + */ +typedef struct mbedtls_pkcs7_data +{ + mbedtls_pkcs7_buf MBEDTLS_PRIVATE(oid); + mbedtls_pkcs7_buf MBEDTLS_PRIVATE(data); +} +mbedtls_pkcs7_data; + +/** + * Structure holding the signed data section + */ +typedef struct mbedtls_pkcs7_signed_data +{ + int MBEDTLS_PRIVATE(version); + mbedtls_pkcs7_buf MBEDTLS_PRIVATE(digest_alg_identifiers); + struct mbedtls_pkcs7_data MBEDTLS_PRIVATE(content); + int MBEDTLS_PRIVATE(no_of_certs); + mbedtls_x509_crt MBEDTLS_PRIVATE(certs); + int MBEDTLS_PRIVATE(no_of_crls); + mbedtls_x509_crl MBEDTLS_PRIVATE(crl); + int MBEDTLS_PRIVATE(no_of_signers); + mbedtls_pkcs7_signer_info MBEDTLS_PRIVATE(signers); +} +mbedtls_pkcs7_signed_data; + +/** + * Structure holding PKCS7 structure, only signed data for now + */ +typedef struct mbedtls_pkcs7 +{ + mbedtls_pkcs7_buf MBEDTLS_PRIVATE(raw); + mbedtls_pkcs7_buf MBEDTLS_PRIVATE(content_type_oid); + mbedtls_pkcs7_signed_data MBEDTLS_PRIVATE(signed_data); +} +mbedtls_pkcs7; + +/** + * \brief Initialize pkcs7 structure. + * + * \param pkcs7 pkcs7 structure. + */ +void mbedtls_pkcs7_init( mbedtls_pkcs7 *pkcs7 ); + +/** + * \brief Parse a single DER formatted pkcs7 content. + * + * \param pkcs7 The pkcs7 structure to be filled by parser for the output. + * \param buf The buffer holding the DER encoded pkcs7. + * \param buflen The size in bytes of \p buf. + * + * \note This function makes an internal copy of the PKCS7 buffer + * \p buf. In particular, \p buf may be destroyed or reused + * after this call returns. + * + * \return The \c mbedtls_pkcs7_type of \p buf, if successful. + * \return A negative error code on failure. + */ +int mbedtls_pkcs7_parse_der( mbedtls_pkcs7 *pkcs7, const unsigned char *buf, + const size_t buflen ); + +/** + * \brief Verification of PKCS7 signature against a caller-supplied + * certificate. + * + * For each signer in the PKCS structure, this function computes + * a signature over the supplied data, using the supplied + * certificate and the same digest algorithm as specified by the + * signer. It then compares this signature against the + * signer's signature; verification succeeds if any comparison + * matches. + * + * This function does not use the certificates held within the + * PKCS7 structure itself. + * + * \param pkcs7 PKCS7 structure containing signature. + * \param cert Certificate containing key to verify signature. + * \param data Plain data on which signature has to be verified. + * \param datalen Length of the data. + * + * \note This function internally calculates the hash on the supplied + * plain data for signature verification. + * + * \return 0 if the signature verifies, or a negative error code on failure. + */ +int mbedtls_pkcs7_signed_data_verify( mbedtls_pkcs7 *pkcs7, + const mbedtls_x509_crt *cert, + const unsigned char *data, + size_t datalen ); + +/** + * \brief Verification of PKCS7 signature against a caller-supplied + * certificate. + * + * For each signer in the PKCS structure, this function computes + * a signature over the supplied hash, using the supplied + * certificate and the same digest algorithm as specified by the + * signer. It then compares this signature against the + * signer's signature; verification succeeds if any comparison + * matches. + * + * This function does not use the certificates held within the + * PKCS7 structure itself. + * + * \param pkcs7 PKCS7 structure containing signature. + * \param cert Certificate containing key to verify signature. + * \param hash Hash of the plain data on which signature has to be verified. + * \param hashlen Length of the hash. + * + * \note This function is different from mbedtls_pkcs7_signed_data_verify() + * in a way that it directly receives the hash of the data. + * + * \return 0 if the signature verifies, or a negative error code on failure. + */ +int mbedtls_pkcs7_signed_hash_verify( mbedtls_pkcs7 *pkcs7, + const mbedtls_x509_crt *cert, + const unsigned char *hash, size_t hashlen); + +/** + * \brief Unallocate all PKCS7 data and zeroize the memory. + * It doesn't free pkcs7 itself. It should be done by the caller. + * + * \param pkcs7 PKCS7 structure to free. + */ +void mbedtls_pkcs7_free( mbedtls_pkcs7 *pkcs7 ); + +#ifdef __cplusplus +} +#endif + +#endif /* pkcs7.h */ diff --git a/include/mbedtls/platform.h b/include/mbedtls/platform.h index a5a43ac6d2..62e12d267c 100644 --- a/include/mbedtls/platform.h +++ b/include/mbedtls/platform.h @@ -11,6 +11,13 @@ * implementations of these functions, or implementations specific to * their platform, which can be statically linked to the library or * dynamically configured at runtime. + * + * When all compilation options related to platform abstraction are + * disabled, this header just defines `mbedtls_xxx` function names + * as aliases to the standard `xxx` function. + * + * Most modules in the library and example programs are expected to + * include this header. */ /* * Copyright The Mbed TLS Contributors diff --git a/include/mbedtls/psa_util.h b/include/mbedtls/psa_util.h index 8dd47f6445..f030bea94e 100644 --- a/include/mbedtls/psa_util.h +++ b/include/mbedtls/psa_util.h @@ -124,35 +124,38 @@ static inline psa_key_usage_t mbedtls_psa_translate_cipher_operation( /* Translations for hashing. */ +/* Note: this function should not be used from inside the library, use + * mbedtls_hash_info_psa_from_md() from the internal hash_info.h instead. + * It is kept only for compatibility in case applications were using it. */ static inline psa_algorithm_t mbedtls_psa_translate_md( mbedtls_md_type_t md_alg ) { switch( md_alg ) { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_MD5_C) || defined(PSA_WANT_ALG_MD5) case MBEDTLS_MD_MD5: return( PSA_ALG_MD5 ); #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_SHA1_C) || defined(PSA_WANT_ALG_SHA_1) case MBEDTLS_MD_SHA1: return( PSA_ALG_SHA_1 ); #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_SHA224_C) || defined(PSA_WANT_ALG_SHA_224) case MBEDTLS_MD_SHA224: return( PSA_ALG_SHA_224 ); #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_SHA256_C) || defined(PSA_WANT_ALG_SHA_256) case MBEDTLS_MD_SHA256: return( PSA_ALG_SHA_256 ); #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_SHA384_C) || defined(PSA_WANT_ALG_SHA_384) case MBEDTLS_MD_SHA384: return( PSA_ALG_SHA_384 ); #endif -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_SHA512_C) || defined(PSA_WANT_ALG_SHA_512) case MBEDTLS_MD_SHA512: return( PSA_ALG_SHA_512 ); #endif -#if defined(MBEDTLS_RIPEMD160_C) +#if defined(MBEDTLS_RIPEMD160_C) || defined(PSA_WANT_ALG_RIPEMD160) case MBEDTLS_MD_RIPEMD160: return( PSA_ALG_RIPEMD160 ); #endif diff --git a/include/mbedtls/ripemd160.h b/include/mbedtls/ripemd160.h index 9132a83be3..397ec841cc 100644 --- a/include/mbedtls/ripemd160.h +++ b/include/mbedtls/ripemd160.h @@ -66,7 +66,7 @@ void mbedtls_ripemd160_init( mbedtls_ripemd160_context *ctx ); void mbedtls_ripemd160_free( mbedtls_ripemd160_context *ctx ); /** - * \brief Clone (the state of) an RIPEMD-160 context + * \brief Clone (the state of) a RIPEMD-160 context * * \param dst The destination context * \param src The context to be cloned diff --git a/include/mbedtls/rsa.h b/include/mbedtls/rsa.h index e43ef9694c..2bfaf8f711 100644 --- a/include/mbedtls/rsa.h +++ b/include/mbedtls/rsa.h @@ -239,7 +239,7 @@ int mbedtls_rsa_import( mbedtls_rsa_context *ctx, * \param N The RSA modulus. This may be \c NULL. * \param N_len The Byte length of \p N; it is ignored if \p N == NULL. * \param P The first prime factor of \p N. This may be \c NULL. - * \param P_len The Byte length of \p P; it ns ignored if \p P == NULL. + * \param P_len The Byte length of \p P; it is ignored if \p P == NULL. * \param Q The second prime factor of \p N. This may be \c NULL. * \param Q_len The Byte length of \p Q; it is ignored if \p Q == NULL. * \param D The private exponent. This may be \c NULL. @@ -479,7 +479,7 @@ int mbedtls_rsa_check_pubkey( const mbedtls_rsa_context *ctx ); * the current function does not have access to them, * and therefore cannot check them. See mbedtls_rsa_complete(). * If you want to check the consistency of the entire - * content of an PKCS1-encoded RSA private key, for example, you + * content of a PKCS1-encoded RSA private key, for example, you * should use mbedtls_rsa_validate_params() before setting * up the RSA context. * Additionally, if the implementation performs empirical checks, diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h index b3b5d47f84..3f48377b6d 100644 --- a/include/mbedtls/ssl.h +++ b/include/mbedtls/ssl.h @@ -52,9 +52,7 @@ #include "mbedtls/platform_time.h" #endif -#if defined(MBEDTLS_USE_PSA_CRYPTO) #include "psa/crypto.h" -#endif /* MBEDTLS_USE_PSA_CRYPTO */ /* * SSL Error codes @@ -99,9 +97,15 @@ /** Processing of the Certificate handshake message failed. */ #define MBEDTLS_ERR_SSL_BAD_CERTIFICATE -0x7A00 /* Error space gap */ -/* Error space gap */ -/* Error space gap */ -/* Error space gap */ +/** + * Received NewSessionTicket Post Handshake Message. + * This error code is experimental and may be changed or removed without notice. + */ +#define MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET -0x7B00 +/** Not possible to read early data */ +#define MBEDTLS_ERR_SSL_CANNOT_READ_EARLY_DATA -0x7B80 +/** Not possible to write early data */ +#define MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA -0x7C00 /* Error space gap */ /* Error space gap */ /* Error space gap */ @@ -169,6 +173,15 @@ /** Invalid value in SSL config */ #define MBEDTLS_ERR_SSL_BAD_CONFIG -0x5E80 +/* + * Constants from RFC 8446 for TLS 1.3 PSK modes + * + * Those are used in the Pre-Shared Key Exchange Modes extension. + * See Section 4.2.9 in RFC 8446. + */ +#define MBEDTLS_SSL_TLS1_3_PSK_MODE_PURE 0 /* Pure PSK-based exchange */ +#define MBEDTLS_SSL_TLS1_3_PSK_MODE_ECDHE 1 /* PSK+ECDHE-based exchange */ + /* * TLS 1.3 NamedGroup values * @@ -239,12 +252,14 @@ ( MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL | \ MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL ) /*!< All ephemeral TLS 1.3 key exchanges */ +#define MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_NONE ( 0 ) + /* * Various constants */ #if !defined(MBEDTLS_DEPRECATED_REMOVED) -/* These are the high an low bytes of ProtocolVersion as defined by: +/* These are the high and low bytes of ProtocolVersion as defined by: * - RFC 5246: ProtocolVersion version = { 3, 3 }; // TLS v1.2 * - RFC 8446: see section 4.2.1 */ @@ -318,12 +333,22 @@ #define MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED 1 #define MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED 0 +#define MBEDTLS_SSL_EARLY_DATA_DISABLED 0 +#define MBEDTLS_SSL_EARLY_DATA_ENABLED 1 + #define MBEDTLS_SSL_DTLS_SRTP_MKI_UNSUPPORTED 0 #define MBEDTLS_SSL_DTLS_SRTP_MKI_SUPPORTED 1 #define MBEDTLS_SSL_SRV_CIPHERSUITE_ORDER_CLIENT 1 #define MBEDTLS_SSL_SRV_CIPHERSUITE_ORDER_SERVER 0 +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(PSA_WANT_ALG_SHA_384) +#define MBEDTLS_SSL_TLS1_3_TICKET_RESUMPTION_KEY_LEN 48 +#elif defined(PSA_WANT_ALG_SHA_256) +#define MBEDTLS_SSL_TLS1_3_TICKET_RESUMPTION_KEY_LEN 32 +#endif +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */ /* * Default range for DTLS retransmission timer value, in milliseconds. * RFC 6347 4.2.4.1 says from 1 second to 60 seconds. @@ -383,6 +408,14 @@ /** \} name SECTION: Module settings */ +/* + * Default to standard CID mode + */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ + !defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) +#define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT 0 +#endif + /* * Length of the verify data for secure renegotiation */ @@ -551,15 +584,10 @@ #define MBEDTLS_TLS_EXT_SIG_ALG_CERT 50 /* RFC 8446 TLS 1.3 */ #define MBEDTLS_TLS_EXT_KEY_SHARE 51 /* RFC 8446 TLS 1.3 */ -/* The value of the CID extension is still TBD as of - * draft-ietf-tls-dtls-connection-id-05 - * (https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05). - * - * A future minor revision of Mbed TLS may change the default value of - * this option to match evolving standards and usage. - */ -#if !defined(MBEDTLS_TLS_EXT_CID) -#define MBEDTLS_TLS_EXT_CID 254 /* TBD */ +#if MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT == 0 +#define MBEDTLS_TLS_EXT_CID 54 /* RFC 9146 DTLS 1.2 CID */ +#else +#define MBEDTLS_TLS_EXT_CID 254 /* Pre-RFC 9146 DTLS 1.2 CID */ #endif #define MBEDTLS_TLS_EXT_ECJPAKE_KKPP 256 /* experimental */ @@ -609,7 +637,8 @@ union mbedtls_ssl_premaster_secret #define MBEDTLS_PREMASTER_SIZE sizeof( union mbedtls_ssl_premaster_secret ) -#define MBEDTLS_TLS1_3_MD_MAX_SIZE MBEDTLS_MD_MAX_SIZE +#define MBEDTLS_TLS1_3_MD_MAX_SIZE PSA_HASH_MAX_SIZE + /* Length in number of bytes of the TLS sequence number */ #define MBEDTLS_SSL_SEQUENCE_NUMBER_LEN 8 @@ -639,8 +668,8 @@ typedef enum MBEDTLS_SSL_SERVER_FINISHED, MBEDTLS_SSL_FLUSH_BUFFERS, MBEDTLS_SSL_HANDSHAKE_WRAPUP, - MBEDTLS_SSL_HANDSHAKE_OVER, - MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET, + + MBEDTLS_SSL_NEW_SESSION_TICKET, MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT, MBEDTLS_SSL_HELLO_RETRY_REQUEST, MBEDTLS_SSL_ENCRYPTED_EXTENSIONS, @@ -649,6 +678,9 @@ typedef enum MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO, MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO, MBEDTLS_SSL_SERVER_CCS_AFTER_HELLO_RETRY_REQUEST, + MBEDTLS_SSL_HANDSHAKE_OVER, + MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET, + MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH, } mbedtls_ssl_states; @@ -735,7 +767,7 @@ typedef int mbedtls_ssl_recv_timeout_t( void *ctx, * for the associated \c mbedtls_ssl_get_timer_t callback to * return correct information. * - * \note If using a event-driven style of programming, an event must + * \note If using an event-driven style of programming, an event must * be generated when the final delay is passed. The event must * cause a call to \c mbedtls_ssl_handshake() with the proper * SSL context to be scheduled. Care must be taken to ensure @@ -778,6 +810,21 @@ typedef struct mbedtls_ssl_key_cert mbedtls_ssl_key_cert; typedef struct mbedtls_ssl_flight_item mbedtls_ssl_flight_item; #endif +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) +typedef uint8_t mbedtls_ssl_tls13_ticket_flags; + +#define MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_RESUMPTION \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK /* 1U << 0 */ +#define MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_EPHEMERAL_RESUMPTION \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL /* 1U << 2 */ +#define MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA ( 1U << 3 ) + +#define MBEDTLS_SSL_TLS1_3_TICKET_FLAGS_MASK \ + ( MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_RESUMPTION | \ + MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_PSK_EPHEMERAL_RESUMPTION | \ + MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA ) +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */ + /** * \brief Callback type: server-side session cache getter * @@ -1138,7 +1185,6 @@ struct mbedtls_ssl_session mbedtls_time_t MBEDTLS_PRIVATE(start); /*!< starting time */ #endif int MBEDTLS_PRIVATE(ciphersuite); /*!< chosen ciphersuite */ - int MBEDTLS_PRIVATE(compression); /*!< chosen compression */ size_t MBEDTLS_PRIVATE(id_len); /*!< session id length */ unsigned char MBEDTLS_PRIVATE(id)[32]; /*!< session identifier */ unsigned char MBEDTLS_PRIVATE(master)[48]; /*!< the master secret */ @@ -1162,6 +1208,23 @@ struct mbedtls_ssl_session uint32_t MBEDTLS_PRIVATE(ticket_lifetime); /*!< ticket lifetime hint */ #endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) + uint8_t MBEDTLS_PRIVATE(endpoint); /*!< 0: client, 1: server */ + uint8_t MBEDTLS_PRIVATE(ticket_flags); /*!< Ticket flags */ + uint32_t MBEDTLS_PRIVATE(ticket_age_add); /*!< Randomly generated value used to obscure the age of the ticket */ + uint8_t MBEDTLS_PRIVATE(resumption_key_len); /*!< resumption_key length */ + unsigned char MBEDTLS_PRIVATE(resumption_key)[MBEDTLS_SSL_TLS1_3_TICKET_RESUMPTION_KEY_LEN]; + +#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && defined(MBEDTLS_SSL_CLI_C) + char *MBEDTLS_PRIVATE(hostname); /*!< host name binded with tickets */ +#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION && MBEDTLS_SSL_CLI_C */ + +#if defined(MBEDTLS_HAVE_TIME) && defined(MBEDTLS_SSL_CLI_C) + mbedtls_time_t MBEDTLS_PRIVATE(ticket_received); /*!< time ticket was received */ +#endif /* MBEDTLS_HAVE_TIME && MBEDTLS_SSL_CLI_C */ + +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */ + #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) int MBEDTLS_PRIVATE(encrypt_then_mac); /*!< flag for EtM activation */ #endif @@ -1291,9 +1354,17 @@ struct mbedtls_ssl_config #if defined(MBEDTLS_SSL_RENEGOTIATION) uint8_t MBEDTLS_PRIVATE(disable_renegotiation); /*!< disable renegotiation? */ #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) - uint8_t MBEDTLS_PRIVATE(session_tickets); /*!< use session tickets? */ +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_CLI_C) + uint8_t MBEDTLS_PRIVATE(session_tickets); /*!< use session tickets? */ #endif + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_SRV_C) && \ + defined(MBEDTLS_SSL_PROTO_TLS1_3) + uint16_t MBEDTLS_PRIVATE(new_session_tickets_count); /*!< number of NewSessionTicket */ +#endif + #if defined(MBEDTLS_SSL_SRV_C) uint8_t MBEDTLS_PRIVATE(cert_req_ca_list); /*!< enable sending CA list in Certificate Request messages? */ @@ -1349,11 +1420,13 @@ struct mbedtls_ssl_config void *MBEDTLS_PRIVATE(p_vrfy); /*!< context for X.509 verify calllback */ #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) +#if defined(MBEDTLS_SSL_SRV_C) /** Callback to retrieve PSK key from identity */ int (*MBEDTLS_PRIVATE(f_psk))(void *, mbedtls_ssl_context *, const unsigned char *, size_t); void *MBEDTLS_PRIVATE(p_psk); /*!< context for PSK callback */ #endif +#endif #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C) /** Callback to create & write a cookie for ClientHello verification */ @@ -1398,13 +1471,13 @@ struct mbedtls_ssl_config void *MBEDTLS_PRIVATE(p_async_config_data); /*!< Configuration data set by mbedtls_ssl_conf_async_private_cb(). */ #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) const int *MBEDTLS_PRIVATE(sig_hashes); /*!< allowed signature hashes */ #endif const uint16_t *MBEDTLS_PRIVATE(sig_algs); /*!< allowed signature algorithms */ -#endif +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_ECP_C) && !defined(MBEDTLS_DEPRECATED_REMOVED) const mbedtls_ecp_group_id *MBEDTLS_PRIVATE(curve_list); /*!< allowed curves */ @@ -1417,7 +1490,7 @@ struct mbedtls_ssl_config mbedtls_mpi MBEDTLS_PRIVATE(dhm_G); /*!< generator for DHM */ #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t MBEDTLS_PRIVATE(psk_opaque); /*!< PSA key slot holding opaque PSK. This field @@ -1448,7 +1521,19 @@ struct mbedtls_ssl_config * Its value is non-zero if and only if * \c psk is not \c NULL or \c psk_opaque * is not \c 0. */ -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_EARLY_DATA) + int MBEDTLS_PRIVATE(early_data_enabled); /*!< Early data enablement: + * - MBEDTLS_SSL_EARLY_DATA_DISABLED, + * - MBEDTLS_SSL_EARLY_DATA_ENABLED */ + +#if defined(MBEDTLS_SSL_SRV_C) + /* The maximum amount of 0-RTT data. RFC 8446 section 4.6.1 */ + uint32_t MBEDTLS_PRIVATE(max_early_data_size); +#endif /* MBEDTLS_SSL_SRV_C */ + +#endif /* MBEDTLS_SSL_EARLY_DATA */ #if defined(MBEDTLS_SSL_ALPN) const char **MBEDTLS_PRIVATE(alpn_list); /*!< ordered list of protocols */ @@ -1728,6 +1813,10 @@ struct mbedtls_ssl_context * and #MBEDTLS_SSL_CID_DISABLED. */ #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +#if defined(MBEDTLS_SSL_EARLY_DATA) && defined(MBEDTLS_SSL_CLI_C) + int MBEDTLS_PRIVATE(early_data_status); +#endif /* MBEDTLS_SSL_EARLY_DATA && MBEDTLS_SSL_CLI_C */ + /** Callback to export key block and master secret */ mbedtls_ssl_export_keys_t *MBEDTLS_PRIVATE(f_export_keys); void *MBEDTLS_PRIVATE(p_export_keys); /*!< context for key export callback */ @@ -1859,6 +1948,59 @@ void mbedtls_ssl_conf_transport( mbedtls_ssl_config *conf, int transport ); */ void mbedtls_ssl_conf_authmode( mbedtls_ssl_config *conf, int authmode ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_EARLY_DATA) +/** +* \brief Set the early data mode +* Default: disabled on server and client +* +* \param conf The SSL configuration to use. +* \param early_data_enabled can be: +* +* MBEDTLS_SSL_EARLY_DATA_DISABLED: early data functionality is disabled +* This is the default on client and server. +* +* MBEDTLS_SSL_EARLY_DATA_ENABLED: early data functionality is enabled and +* may be negotiated in the handshake. Application using +* early data functionality needs to be aware of the +* lack of replay protection of the early data application +* payloads. +* +* \warning This interface is experimental and may change without notice. +* +*/ +void mbedtls_ssl_tls13_conf_early_data( mbedtls_ssl_config *conf, + int early_data_enabled ); + +#if defined(MBEDTLS_SSL_SRV_C) +/** + * \brief Set the maximum amount of 0-RTT data in bytes + * Default: #MBEDTLS_SSL_MAX_EARLY_DATA_SIZE + * + * This function sets the value of the max_early_data_size + * field of the early data indication extension included in + * the NewSessionTicket messages that the server may send. + * + * The value defines the maximum amount of 0-RTT data + * in bytes that a client will be allowed to send when using + * one of the tickets defined by the NewSessionTicket messages. + * + * \note When resuming a session using a ticket, if the server receives more + * early data than allowed for the ticket, it terminates the connection. + * The maximum amount of 0-RTT data should thus be large enough + * to allow a minimum of early data to be exchanged. + * + * \param[in] conf The SSL configuration to use. + * \param[in] max_early_data_size The maximum amount of 0-RTT data. + * + * \warning This interface is experimental and may change without notice. + * + */ +void mbedtls_ssl_tls13_conf_max_early_data_size( + mbedtls_ssl_config *conf, uint32_t max_early_data_size ); +#endif /* MBEDTLS_SSL_SRV_C */ + +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_EARLY_DATA */ + #if defined(MBEDTLS_X509_CRT_PARSE_C) /** * \brief Set the verification callback (Optional). @@ -1970,8 +2112,9 @@ void mbedtls_ssl_set_bio( mbedtls_ssl_context *ssl, * \brief Configure the use of the Connection ID (CID) * extension in the next handshake. * - * Reference: draft-ietf-tls-dtls-connection-id-05 + * Reference: RFC 9146 (or draft-ietf-tls-dtls-connection-id-05 * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05 + * for legacy version) * * The DTLS CID extension allows the reliable association of * DTLS records to DTLS connections across changes in the @@ -2028,7 +2171,7 @@ void mbedtls_ssl_set_bio( mbedtls_ssl_context *ssl, * the `ServerHello` contains the CID extension, too, * the CID extension will actually be put to use. * - On the Server, enabling the use of the CID through - * this call implies that that the server will look for + * this call implies that the server will look for * the CID extension in a `ClientHello` from the client, * and, if present, reply with a CID extension in its * `ServerHello`. @@ -2282,7 +2425,7 @@ int mbedtls_ssl_check_record( mbedtls_ssl_context const *ssl, * here, except if using an event-driven style. * * \note See also the "DTLS tutorial" article in our knowledge base. - * https://tls.mbed.org/kb/how-to/dtls-tutorial + * https://mbed-tls.readthedocs.io/en/latest/kb/how-to/dtls-tutorial */ void mbedtls_ssl_set_timer_cb( mbedtls_ssl_context *ssl, void *p_timer, @@ -2474,7 +2617,7 @@ static inline uintptr_t mbedtls_ssl_conf_get_user_data_n( * \note The library stores \c p without accessing it. It is the responsibility * of the caller to ensure that the pointer remains valid. * - * \param ssl The SSL context context to modify. + * \param ssl The SSL context to modify. * \param p The new value of the user data. */ static inline void mbedtls_ssl_set_user_data_p( @@ -2488,7 +2631,7 @@ static inline void mbedtls_ssl_set_user_data_p( * * You can retrieve this value later with mbedtls_ssl_get_user_data_n(). * - * \param ssl The SSL context context to modify. + * \param ssl The SSL context to modify. * \param n The new value of the user data. */ static inline void mbedtls_ssl_set_user_data_n( @@ -2505,7 +2648,7 @@ static inline void mbedtls_ssl_set_user_data_n( * called. The value is undefined if mbedtls_ssl_set_user_data_n() has * been called without a subsequent call to mbedtls_ssl_set_user_data_p(). * - * \param ssl The SSL context context to modify. + * \param ssl The SSL context to modify. * \return The current value of the user data. */ static inline void *mbedtls_ssl_get_user_data_p( @@ -2521,7 +2664,7 @@ static inline void *mbedtls_ssl_get_user_data_p( * called. The value is undefined if mbedtls_ssl_set_user_data_p() has * been called without a subsequent call to mbedtls_ssl_set_user_data_n(). * - * \param ssl The SSL context context to modify. + * \param ssl The SSL context to modify. * \return The current value of the user data. */ static inline uintptr_t mbedtls_ssl_get_user_data_n( @@ -3250,7 +3393,7 @@ int mbedtls_ssl_conf_own_cert( mbedtls_ssl_config *conf, mbedtls_pk_context *pk_key ); #endif /* MBEDTLS_X509_CRT_PARSE_C */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) /** * \brief Configure pre-shared keys (PSKs) and their * identities to be used in PSK-based ciphersuites. @@ -3375,6 +3518,7 @@ int mbedtls_ssl_set_hs_psk_opaque( mbedtls_ssl_context *ssl, mbedtls_svc_key_id_t psk ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ +#if defined(MBEDTLS_SSL_SRV_C) /** * \brief Set the PSK callback (server-side only). * @@ -3417,7 +3561,8 @@ void mbedtls_ssl_conf_psk_cb( mbedtls_ssl_config *conf, int (*f_psk)(void *, mbedtls_ssl_context *, const unsigned char *, size_t), void *p_psk ); -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_SRV_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_SSL_SRV_C) /** @@ -3550,7 +3695,7 @@ void MBEDTLS_DEPRECATED mbedtls_ssl_conf_curves( mbedtls_ssl_config *conf, void mbedtls_ssl_conf_groups( mbedtls_ssl_config *conf, const uint16_t *groups ); -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) && defined(MBEDTLS_SSL_PROTO_TLS1_2) /** * \brief Set the allowed hashes for signatures during the handshake. @@ -3596,7 +3741,7 @@ void MBEDTLS_DEPRECATED mbedtls_ssl_conf_sig_hashes( mbedtls_ssl_config *conf, */ void mbedtls_ssl_conf_sig_algs( mbedtls_ssl_config *conf, const uint16_t* sig_algs ); -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_X509_CRT_PARSE_C) /** @@ -3743,9 +3888,10 @@ void mbedtls_ssl_conf_sni( mbedtls_ssl_config *conf, * \note The SSL context needs to be already set up. The right place * to call this function is between \c mbedtls_ssl_setup() or * \c mbedtls_ssl_reset() and \c mbedtls_ssl_handshake(). + * Password cannot be empty (see RFC 8236). * * \param ssl SSL context - * \param pw EC J-PAKE password (pre-shared secret) + * \param pw EC J-PAKE password (pre-shared secret). It cannot be empty * \param pw_len length of pw in bytes * * \return 0 on success, or a negative error code. @@ -4071,7 +4217,8 @@ int mbedtls_ssl_conf_max_frag_len( mbedtls_ssl_config *conf, unsigned char mfl_c void mbedtls_ssl_conf_preference_order( mbedtls_ssl_config *conf, int order ); #endif /* MBEDTLS_SSL_SRV_C */ -#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_CLI_C) /** * \brief Enable / Disable session tickets (client only). * (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.) @@ -4083,7 +4230,34 @@ void mbedtls_ssl_conf_preference_order( mbedtls_ssl_config *conf, int order ); * MBEDTLS_SSL_SESSION_TICKETS_DISABLED) */ void mbedtls_ssl_conf_session_tickets( mbedtls_ssl_config *conf, int use_tickets ); -#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ +#endif /* MBEDTLS_SSL_SESSION_TICKETS && + MBEDTLS_SSL_CLI_C */ + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_SRV_C) && \ + defined(MBEDTLS_SSL_PROTO_TLS1_3) +/** + * \brief Number of NewSessionTicket messages for the server to send + * after handshake completion. + * + * \note The default value is + * \c MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS. + * + * \note In case of a session resumption, this setting only partially apply. + * At most one ticket is sent in that case to just renew the pool of + * tickets of the client. The rationale is to avoid the number of + * tickets on the server to become rapidly out of control when the + * server has the same configuration for all its connection instances. + * + * \param conf SSL configuration + * \param num_tickets Number of NewSessionTicket. + * + */ +void mbedtls_ssl_conf_new_session_tickets( mbedtls_ssl_config *conf, + uint16_t num_tickets ); +#endif /* MBEDTLS_SSL_SESSION_TICKETS && + MBEDTLS_SSL_SRV_C && + MBEDTLS_SSL_PROTO_TLS1_3*/ #if defined(MBEDTLS_SSL_RENEGOTIATION) /** @@ -4515,7 +4689,7 @@ int mbedtls_ssl_handshake( mbedtls_ssl_context *ssl ); */ static inline int mbedtls_ssl_is_handshake_over( mbedtls_ssl_context *ssl ) { - return( ssl->MBEDTLS_PRIVATE( state ) == MBEDTLS_SSL_HANDSHAKE_OVER ); + return( ssl->MBEDTLS_PRIVATE( state ) >= MBEDTLS_SSL_HANDSHAKE_OVER ); } /** @@ -4703,7 +4877,7 @@ int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len ) * * \note When this function returns #MBEDTLS_ERR_SSL_WANT_WRITE/READ, * it must be called later with the *same* arguments, - * until it returns a value greater that or equal to 0. When + * until it returns a value greater than or equal to 0. When * the function returns #MBEDTLS_ERR_SSL_WANT_WRITE there may be * some partial data in the output buffer, however this is not * yet sent. @@ -4755,6 +4929,151 @@ int mbedtls_ssl_send_alert_message( mbedtls_ssl_context *ssl, */ int mbedtls_ssl_close_notify( mbedtls_ssl_context *ssl ); +#if defined(MBEDTLS_SSL_EARLY_DATA) + +#if defined(MBEDTLS_SSL_SRV_C) +/** + * \brief Read at most 'len' application data bytes while performing + * the handshake (early data). + * + * \note This function behaves mainly as mbedtls_ssl_read(). The + * specification of mbedtls_ssl_read() relevant to TLS 1.3 + * (thus not the parts specific to (D)TLS 1.2) applies to this + * function and the present documentation is restricted to the + * differences with mbedtls_ssl_read(). + * + * \param ssl SSL context + * \param buf buffer that will hold the data + * \param len maximum number of bytes to read + * + * \return One additional specific return value: + * #MBEDTLS_ERR_SSL_CANNOT_READ_EARLY_DATA. + * + * #MBEDTLS_ERR_SSL_CANNOT_READ_EARLY_DATA is returned when it + * is not possible to read early data for the SSL context + * \p ssl. + * + * It may have been possible and it is not possible + * anymore because the server received the End of Early Data + * message or the maximum number of allowed early data for the + * PSK in use has been reached. + * + * It may never have been possible and will never be possible + * for the SSL context \p ssl because the use of early data + * is disabled for that context or more generally the context + * is not suitably configured to enable early data or the + * client does not use early data or the first call to the + * function was done while the handshake was already too + * advanced to gather and accept early data. + * + * It is not possible to read early data for the SSL context + * \p ssl but this does not preclude for using it with + * mbedtls_ssl_write(), mbedtls_ssl_read() or + * mbedtls_ssl_handshake(). + * + * \note When a server wants to retrieve early data, it is expected + * that this function starts the handshake for the SSL context + * \p ssl. But this is not mandatory. + * + */ +int mbedtls_ssl_read_early_data( mbedtls_ssl_context *ssl, + unsigned char *buf, size_t len ); +#endif /* MBEDTLS_SSL_SRV_C */ + +#if defined(MBEDTLS_SSL_CLI_C) +/** + * \brief Try to write exactly 'len' application data bytes while + * performing the handshake (early data). + * + * \note This function behaves mainly as mbedtls_ssl_write(). The + * specification of mbedtls_ssl_write() relevant to TLS 1.3 + * (thus not the parts specific to (D)TLS1.2) applies to this + * function and the present documentation is restricted to the + * differences with mbedtls_ssl_write(). + * + * \param ssl SSL context + * \param buf buffer holding the data + * \param len how many bytes must be written + * + * \return One additional specific return value: + * #MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA. + * + * #MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA is returned when it + * is not possible to write early data for the SSL context + * \p ssl. + * + * It may have been possible and it is not possible + * anymore because the client received the server Finished + * message, the server rejected early data or the maximum + * number of allowed early data for the PSK in use has been + * reached. + * + * It may never have been possible and will never be possible + * for the SSL context \p ssl because the use of early data + * is disabled for that context or more generally the context + * is not suitably configured to enable early data or the first + * call to the function was done while the handshake was + * already completed. + * + * It is not possible to write early data for the SSL context + * \p ssl but this does not preclude for using it with + * mbedtls_ssl_write(), mbedtls_ssl_read() or + * mbedtls_ssl_handshake(). + * + * \note This function may write early data only if the SSL context + * has been configured for the handshake with a PSK for which + * early data is allowed. + * + * \note To maximize the number of early data that can be written in + * the course of the handshake, it is expected that this + * function starts the handshake for the SSL context \p ssl. + * But this is not mandatory. + * + * \note This function does not provide any information on whether + * the server has accepted or will accept early data or not. + * When it returns a positive value, it just means that it + * has written early data to the server. To know whether the + * server has accepted early data or not, you should call + * mbedtls_ssl_get_early_data_status() with the handshake + * completed. + */ +int mbedtls_ssl_write_early_data( mbedtls_ssl_context *ssl, + const unsigned char *buf, size_t len ); + +#define MBEDTLS_SSL_EARLY_DATA_STATUS_NOT_SENT 0 +#define MBEDTLS_SSL_EARLY_DATA_STATUS_ACCEPTED 1 +#define MBEDTLS_SSL_EARLY_DATA_STATUS_REJECTED 2 +/** + * \brief Get the status of the negotiation of the use of early data. + * + * \param ssl The SSL context to query + * + * \return #MBEDTLS_ERR_SSL_BAD_INPUT_DATA if this function is called + * from the server-side. + * + * \return #MBEDTLS_ERR_SSL_BAD_INPUT_DATA if this function is called + * prior to completion of the handshake. + * + * \return #MBEDTLS_SSL_EARLY_DATA_STATUS_NOT_SENT if the client has + * not indicated the use of early data to the server. + * + * \return #MBEDTLS_SSL_EARLY_DATA_STATUS_ACCEPTED if the client has + * indicated the use of early data and the server has accepted + * it. + * + * \return #MBEDTLS_SSL_EARLY_DATA_STATUS_REJECTED if the client has + * indicated the use of early data but the server has rejected + * it. In this situation, the client may want to re-send the + * early data it may have tried to send by calling + * mbedtls_ssl_write_early_data() as ordinary post-handshake + * application data by calling mbedtls_ssl_write(). + * + */ +int mbedtls_ssl_get_early_data_status( mbedtls_ssl_context *ssl ); +#endif /* MBEDTLS_SSL_CLI_C */ + +#endif /* MBEDTLS_SSL_EARLY_DATA */ + /** * \brief Free referenced items in an SSL context and clear memory * diff --git a/include/mbedtls/ssl_ciphersuites.h b/include/mbedtls/ssl_ciphersuites.h index cd6ccbc90a..b46116e0df 100644 --- a/include/mbedtls/ssl_ciphersuites.h +++ b/include/mbedtls/ssl_ciphersuites.h @@ -292,6 +292,11 @@ typedef enum { #define MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED #endif +#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) || \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) +#define MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED +#endif + /* Key exchanges allowing client certificate requests */ #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \ defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ @@ -341,6 +346,11 @@ typedef enum { #define MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED #endif +#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) || \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +#define MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED +#endif + /* Key exchanges using DHE */ #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) diff --git a/include/mbedtls/ssl_ticket.h b/include/mbedtls/ssl_ticket.h index 98fd287079..b8a8a246fe 100644 --- a/include/mbedtls/ssl_ticket.h +++ b/include/mbedtls/ssl_ticket.h @@ -34,6 +34,10 @@ #include "mbedtls/ssl.h" #include "mbedtls/cipher.h" +#if defined(MBEDTLS_HAVE_TIME) +#include "mbedtls/platform_time.h" +#endif + #if defined(MBEDTLS_USE_PSA_CRYPTO) #include "psa/crypto.h" #endif @@ -56,7 +60,9 @@ typedef struct mbedtls_ssl_ticket_key { unsigned char MBEDTLS_PRIVATE(name)[MBEDTLS_SSL_TICKET_KEY_NAME_BYTES]; /*!< random key identifier */ - uint32_t MBEDTLS_PRIVATE(generation_time); /*!< key generation timestamp (seconds) */ +#if defined(MBEDTLS_HAVE_TIME) + mbedtls_time_t MBEDTLS_PRIVATE(generation_time); /*!< key generation timestamp (seconds) */ +#endif #if !defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_cipher_context_t MBEDTLS_PRIVATE(ctx); /*!< context for auth enc/decryption */ #else diff --git a/include/mbedtls/x509_crt.h b/include/mbedtls/x509_crt.h index aa45957061..d2b7648c41 100644 --- a/include/mbedtls/x509_crt.h +++ b/include/mbedtls/x509_crt.h @@ -24,6 +24,7 @@ #include "mbedtls/private_access.h" #include "mbedtls/build_info.h" +#include "mbedtls/legacy_or_psa.h" #include "mbedtls/x509.h" #include "mbedtls/x509_crl.h" @@ -515,7 +516,7 @@ int mbedtls_x509_crt_parse_der_with_ext_cb( mbedtls_x509_crt *chain, * mbedtls_x509_crt_init(). * \param buf The address of the readable buffer holding the DER encoded * certificate to use. On success, this buffer must be - * retained and not be changed for the liftetime of the + * retained and not be changed for the lifetime of the * CRT chain \p chain, that is, until \p chain is destroyed * through a call to mbedtls_x509_crt_free(). * \param buflen The size in Bytes of \p buf. @@ -1108,7 +1109,7 @@ int mbedtls_x509write_crt_set_extension( mbedtls_x509write_cert *ctx, int mbedtls_x509write_crt_set_basic_constraints( mbedtls_x509write_cert *ctx, int is_ca, int max_pathlen ); -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) /** * \brief Set the subjectKeyIdentifier extension for a CRT * Requires that mbedtls_x509write_crt_set_subject_key() has been @@ -1130,7 +1131,7 @@ int mbedtls_x509write_crt_set_subject_key_identifier( mbedtls_x509write_cert *ct * \return 0 if successful, or a MBEDTLS_ERR_X509_ALLOC_FAILED */ int mbedtls_x509write_crt_set_authority_key_identifier( mbedtls_x509write_cert *ctx ); -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA */ /** * \brief Set the Key Usage Extension flags @@ -1144,6 +1145,19 @@ int mbedtls_x509write_crt_set_authority_key_identifier( mbedtls_x509write_cert * int mbedtls_x509write_crt_set_key_usage( mbedtls_x509write_cert *ctx, unsigned int key_usage ); +/** + * \brief Set the Extended Key Usage Extension + * (e.g. MBEDTLS_OID_SERVER_AUTH) + * + * \param ctx CRT context to use + * \param exts extended key usage extensions to set, a sequence of + * MBEDTLS_ASN1_OID objects + * + * \return 0 if successful, or MBEDTLS_ERR_X509_ALLOC_FAILED + */ +int mbedtls_x509write_crt_set_ext_key_usage( mbedtls_x509write_cert *ctx, + const mbedtls_asn1_sequence *exts ); + /** * \brief Set the Netscape Cert Type flags * (e.g. MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT | MBEDTLS_X509_NS_CERT_TYPE_EMAIL) diff --git a/include/psa/crypto.h b/include/psa/crypto.h index 211ea8acd4..03181ed33e 100644 --- a/include/psa/crypto.h +++ b/include/psa/crypto.h @@ -525,7 +525,7 @@ psa_status_t psa_copy_key(mbedtls_svc_key_id_t source_key, * * This function destroys a key from both volatile * memory and, if applicable, non-volatile storage. Implementations shall - * make a best effort to ensure that that the key material cannot be recovered. + * make a best effort to ensure that the key material cannot be recovered. * * This function also erases any metadata such as policies and frees * resources associated with the key. @@ -545,7 +545,7 @@ psa_status_t psa_copy_key(mbedtls_svc_key_id_t source_key, * \retval #PSA_ERROR_INVALID_HANDLE * \p key is not a valid identifier nor \c 0. * \retval #PSA_ERROR_COMMUNICATION_FAILURE - * There was an failure in communication with the cryptoprocessor. + * There was a failure in communication with the cryptoprocessor. * The key material may still be present in the cryptoprocessor. * \retval #PSA_ERROR_DATA_INVALID * This error is typically a result of either storage corruption on a @@ -3823,7 +3823,7 @@ psa_status_t psa_key_derivation_verify_bytes( * compares those bytes to an expected value, provided as key of type * #PSA_KEY_TYPE_PASSWORD_HASH. * If you view the key derivation's output as a stream of bytes, this - * function destructively reads the number of bytes corresponding the the + * function destructively reads the number of bytes corresponding to the * length of the expected value from the stream before comparing them. * The operation's capacity decreases by the number of bytes read. * diff --git a/include/psa/crypto_compat.h b/include/psa/crypto_compat.h index 1d3253cb28..89c13f1c10 100644 --- a/include/psa/crypto_compat.h +++ b/include/psa/crypto_compat.h @@ -44,7 +44,7 @@ typedef mbedtls_svc_key_id_t psa_key_handle_t; #define PSA_KEY_HANDLE_INIT MBEDTLS_SVC_KEY_ID_INIT -/** Check whether an handle is null. +/** Check whether a handle is null. * * \param handle Handle * diff --git a/include/psa/crypto_config.h b/include/psa/crypto_config.h index 991be96ef4..5ab4fdef3a 100644 --- a/include/psa/crypto_config.h +++ b/include/psa/crypto_config.h @@ -65,6 +65,7 @@ #define PSA_WANT_ALG_ECB_NO_PADDING 1 #define PSA_WANT_ALG_ECDH 1 #define PSA_WANT_ALG_ECDSA 1 +#define PSA_WANT_ALG_JPAKE 1 #define PSA_WANT_ALG_GCM 1 #define PSA_WANT_ALG_HKDF 1 #define PSA_WANT_ALG_HKDF_EXTRACT 1 @@ -88,6 +89,8 @@ #define PSA_WANT_ALG_STREAM_CIPHER 1 #define PSA_WANT_ALG_TLS12_PRF 1 #define PSA_WANT_ALG_TLS12_PSK_TO_MS 1 +#define PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS 1 + /* PBKDF2-HMAC is not yet supported via the PSA API in Mbed TLS. * Note: when adding support, also adjust include/mbedtls/config_psa.h */ //#define PSA_WANT_ALG_XTS 1 diff --git a/include/psa/crypto_extra.h b/include/psa/crypto_extra.h index 73da364bc6..33e2e77b99 100644 --- a/include/psa/crypto_extra.h +++ b/include/psa/crypto_extra.h @@ -359,7 +359,7 @@ psa_status_t mbedtls_psa_inject_entropy(const uint8_t *seed, */ #define PSA_KEY_TYPE_DSA_KEY_PAIR ((psa_key_type_t)0x7002) -/** Whether a key type is an DSA key (pair or public-only). */ +/** Whether a key type is a DSA key (pair or public-only). */ #define PSA_KEY_TYPE_IS_DSA(type) \ (PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR(type) == PSA_KEY_TYPE_DSA_PUBLIC_KEY) @@ -1287,7 +1287,7 @@ static void psa_pake_cs_set_hash( psa_pake_cipher_suite_t *cipher_suite, * Implementation details can change in future versions without notice. */ typedef struct psa_pake_operation_s psa_pake_operation_t; -/** Return an initial value for an PAKE operation object. +/** Return an initial value for a PAKE operation object. */ static psa_pake_operation_t psa_pake_operation_init( void ); @@ -1760,7 +1760,16 @@ psa_status_t psa_pake_abort( psa_pake_operation_t * operation ); * recognized, or the parameters are incompatible, * return 0. */ -#define PSA_PAKE_OUTPUT_SIZE(alg, primitive, output_step) 0 +#define PSA_PAKE_OUTPUT_SIZE(alg, primitive, output_step) \ + ( alg == PSA_ALG_JPAKE && \ + primitive == PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, \ + PSA_ECC_FAMILY_SECP_R1, 256) ? \ + ( \ + output_step == PSA_PAKE_STEP_KEY_SHARE ? 65 : \ + output_step == PSA_PAKE_STEP_ZK_PUBLIC ? 65 : \ + 32 \ + ) : \ + 0 ) /** A sufficient input buffer size for psa_pake_input(). * @@ -1781,7 +1790,16 @@ psa_status_t psa_pake_abort( psa_pake_operation_t * operation ); * the input type or PAKE algorithm is not recognized, or * the parameters are incompatible, return 0. */ -#define PSA_PAKE_INPUT_SIZE(alg, primitive, input_step) 0 +#define PSA_PAKE_INPUT_SIZE(alg, primitive, input_step) \ + ( alg == PSA_ALG_JPAKE && \ + primitive == PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, \ + PSA_ECC_FAMILY_SECP_R1, 256) ? \ + ( \ + input_step == PSA_PAKE_STEP_KEY_SHARE ? 65 : \ + input_step == PSA_PAKE_STEP_ZK_PUBLIC ? 65 : \ + 32 \ + ) : \ + 0 ) /** Output buffer size for psa_pake_output() for any of the supported PAKE * algorithm and primitive suites and output step. @@ -1790,7 +1808,7 @@ psa_status_t psa_pake_abort( psa_pake_operation_t * operation ); * * See also #PSA_PAKE_OUTPUT_SIZE(\p alg, \p primitive, \p step). */ -#define PSA_PAKE_OUTPUT_MAX_SIZE 0 +#define PSA_PAKE_OUTPUT_MAX_SIZE 65 /** Input buffer size for psa_pake_input() for any of the supported PAKE * algorithm and primitive suites and input step. @@ -1799,7 +1817,7 @@ psa_status_t psa_pake_abort( psa_pake_operation_t * operation ); * * See also #PSA_PAKE_INPUT_SIZE(\p alg, \p primitive, \p step). */ -#define PSA_PAKE_INPUT_MAX_SIZE 0 +#define PSA_PAKE_INPUT_MAX_SIZE 65 /** Returns a suitable initializer for a PAKE cipher suite object of type * psa_pake_cipher_suite_t. @@ -1809,7 +1827,14 @@ psa_status_t psa_pake_abort( psa_pake_operation_t * operation ); /** Returns a suitable initializer for a PAKE operation object of type * psa_pake_operation_t. */ -#define PSA_PAKE_OPERATION_INIT {PSA_ALG_NONE, {0}} +#if defined(MBEDTLS_PSA_BUILTIN_PAKE) +#define PSA_PAKE_OPERATION_INIT {PSA_ALG_NONE, 0, 0, 0, 0, \ + NULL, 0 , \ + PSA_PAKE_ROLE_NONE, {0}, 0, 0, \ + {.dummy = 0}} +#else +#define PSA_PAKE_OPERATION_INIT {PSA_ALG_NONE, 0, 0, {0}} +#endif struct psa_pake_cipher_suite_s { @@ -1879,14 +1904,37 @@ static inline void psa_pake_cs_set_hash( psa_pake_cipher_suite_t *cipher_suite, cipher_suite->hash = hash; } +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) +#include +/* Note: the format for mbedtls_ecjpake_read/write function has an extra + * length byte for each step, plus an extra 3 bytes for ECParameters in the + * server's 2nd round. */ +#define MBEDTLS_PSA_PAKE_BUFFER_SIZE ( ( 3 + 1 + 65 + 1 + 65 + 1 + 32 ) * 2 ) +#endif + struct psa_pake_operation_s { - psa_algorithm_t alg; + psa_algorithm_t MBEDTLS_PRIVATE(alg); + unsigned int MBEDTLS_PRIVATE(state); + unsigned int MBEDTLS_PRIVATE(sequence); +#if defined(MBEDTLS_PSA_BUILTIN_PAKE) + unsigned int MBEDTLS_PRIVATE(input_step); + unsigned int MBEDTLS_PRIVATE(output_step); + uint8_t* MBEDTLS_PRIVATE(password); + size_t MBEDTLS_PRIVATE(password_len); + psa_pake_role_t MBEDTLS_PRIVATE(role); + uint8_t MBEDTLS_PRIVATE(buffer[MBEDTLS_PSA_PAKE_BUFFER_SIZE]); + size_t MBEDTLS_PRIVATE(buffer_length); + size_t MBEDTLS_PRIVATE(buffer_offset); +#endif union { +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + mbedtls_ecjpake_context ecjpake; +#endif /* Make the union non-empty even with no supported algorithms. */ uint8_t dummy; - } ctx; + } MBEDTLS_PRIVATE(ctx); }; static inline struct psa_pake_cipher_suite_s psa_pake_cipher_suite_init( void ) diff --git a/include/psa/crypto_platform.h b/include/psa/crypto_platform.h index 4787e44b6c..573b33c856 100644 --- a/include/psa/crypto_platform.h +++ b/include/psa/crypto_platform.h @@ -45,11 +45,6 @@ /* PSA requires several types which C99 provides in stdint.h. */ #include -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER) /* Building for the PSA Crypto service on a PSA platform, a key owner is a PSA @@ -57,8 +52,8 @@ * * The function psa_its_identifier_of_slot() in psa_crypto_storage.c that * translates a key identifier to a key storage file name assumes that - * mbedtls_key_owner_id_t is an 32 bits integer. This function thus needs - * reworking if mbedtls_key_owner_id_t is not defined as a 32 bits integer + * mbedtls_key_owner_id_t is a 32-bit integer. This function thus needs + * reworking if mbedtls_key_owner_id_t is not defined as a 32-bit integer * here anymore. */ typedef int32_t mbedtls_key_owner_id_t; diff --git a/include/psa/crypto_se_driver.h b/include/psa/crypto_se_driver.h index 91a6d0beeb..225fb17635 100644 --- a/include/psa/crypto_se_driver.h +++ b/include/psa/crypto_se_driver.h @@ -226,7 +226,7 @@ typedef psa_status_t (*psa_drv_se_mac_finish_t)(void *op_context, * operation by comparing the resulting MAC against a provided value * * \param[in,out] op_context A hardware-specific structure for the previously - * started MAC operation to be fiinished + * started MAC operation to be finished * \param[in] p_mac The MAC value against which the resulting MAC * will be compared against * \param[in] mac_length The size in bytes of the value stored in `p_mac` @@ -337,7 +337,7 @@ typedef struct { /** Function that completes a MAC operation with a verify check */ psa_drv_se_mac_finish_verify_t MBEDTLS_PRIVATE(p_finish_verify); - /** Function that aborts a previoustly started MAC operation + /** Function that aborts a previously started MAC operation */ psa_drv_se_mac_abort_t MBEDTLS_PRIVATE(p_abort); /** Function that performs a MAC operation in one call @@ -395,7 +395,7 @@ typedef psa_status_t (*psa_drv_se_cipher_setup_t)(psa_drv_se_context_t *drv_cont psa_encrypt_or_decrypt_t direction); /** \brief A function that sets the initialization vector (if - * necessary) for an secure element cipher operation + * necessary) for a secure element cipher operation * * Rationale: The `psa_se_cipher_*` operation in the PSA Cryptographic API has * two IV functions: one to set the IV, and one to generate it internally. The @@ -746,7 +746,7 @@ typedef psa_status_t (*psa_drv_se_aead_encrypt_t)(psa_drv_se_context_t *drv_cont size_t ciphertext_size, size_t *p_ciphertext_length); -/** A function that peforms a secure element authenticated decryption operation +/** A function that performs a secure element authenticated decryption operation * * \param[in,out] drv_context The driver context structure. * \param[in] key_slot Slot containing the key to use @@ -1157,7 +1157,7 @@ typedef struct { * * Different key derivation algorithms require a different number of inputs. * Instead of having an API that takes as input variable length arrays, which - * can be problemmatic to manage on embedded platforms, the inputs are passed + * can be problematic to manage on embedded platforms, the inputs are passed * to the driver via a function, `psa_drv_se_key_derivation_collateral`, that * is called multiple times with different `collateral_id`s. Thus, for a key * derivation algorithm that required 3 parameter inputs, the flow would look @@ -1271,7 +1271,7 @@ typedef struct { psa_drv_se_key_derivation_collateral_t MBEDTLS_PRIVATE(p_collateral); /** Function that performs a final key derivation step */ psa_drv_se_key_derivation_derive_t MBEDTLS_PRIVATE(p_derive); - /** Function that perforsm a final key derivation or agreement and + /** Function that performs a final key derivation or agreement and * exports the key */ psa_drv_se_key_derivation_export_t MBEDTLS_PRIVATE(p_export); } psa_drv_se_key_derivation_t; diff --git a/include/psa/crypto_sizes.h b/include/psa/crypto_sizes.h index 1024d6b918..b42b2df0d0 100644 --- a/include/psa/crypto_sizes.h +++ b/include/psa/crypto_sizes.h @@ -239,6 +239,15 @@ */ #define PSA_TLS12_PSK_TO_MS_PSK_MAX_SIZE 128 +/* The expected size of input passed to psa_tls12_ecjpake_to_pms_input, + * which is expected to work with P-256 curve only. */ +#define PSA_TLS12_ECJPAKE_TO_PMS_INPUT_SIZE 65 + +/* The size of a serialized K.X coordinate to be used in + * psa_tls12_ecjpake_to_pms_input. This function only accepts the P-256 + * curve. */ +#define PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE 32 + /** The maximum size of a block cipher. */ #define PSA_BLOCK_CIPHER_BLOCK_MAX_SIZE 16 @@ -708,7 +717,7 @@ (PSA_KEY_EXPORT_ASN1_INTEGER_MAX_SIZE(key_bits) + 11) /* Maximum size of the export encoding of an RSA key pair. - * Assumes thatthe public exponent is less than 2^32 and that the size + * Assumes that the public exponent is less than 2^32 and that the size * difference between the two primes is at most 1 bit. * * RSAPrivateKey ::= SEQUENCE { diff --git a/include/psa/crypto_struct.h b/include/psa/crypto_struct.h index 957b4c6113..afba325022 100644 --- a/include/psa/crypto_struct.h +++ b/include/psa/crypto_struct.h @@ -202,6 +202,12 @@ typedef struct #endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF || MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT || MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) +typedef struct +{ + uint8_t MBEDTLS_PRIVATE(data)[PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE]; +} psa_tls12_ecjpake_to_pms_t; +#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */ #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \ defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) @@ -266,6 +272,9 @@ struct psa_key_derivation_s #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \ defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) psa_tls12_prf_key_derivation_t MBEDTLS_PRIVATE(tls12_prf); +#endif +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + psa_tls12_ecjpake_to_pms_t MBEDTLS_PRIVATE(tls12_ecjpake_to_pms); #endif } MBEDTLS_PRIVATE(ctx); }; diff --git a/include/psa/crypto_types.h b/include/psa/crypto_types.h index e619cf537e..af61aea9df 100644 --- a/include/psa/crypto_types.h +++ b/include/psa/crypto_types.h @@ -105,7 +105,7 @@ typedef uint8_t psa_ecc_family_t; * Values of this type are generally constructed by macros called * `PSA_DH_FAMILY_xxx`. * - * The group identifier is required to create an Diffie-Hellman key using the + * The group identifier is required to create a Diffie-Hellman key using the * PSA_KEY_TYPE_DH_KEY_PAIR() or PSA_KEY_TYPE_DH_PUBLIC_KEY() * macros. * @@ -297,7 +297,7 @@ typedef psa_key_id_t mbedtls_svc_key_id_t; #else /* MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER */ /* Implementation-specific: The Mbed Cryptography library can be built as - * part of a multi-client service that exposes the PSA Cryptograpy API in each + * part of a multi-client service that exposes the PSA Cryptography API in each * client and encodes the client identity in the key identifier argument of * functions such as psa_open_key(). */ diff --git a/include/psa/crypto_values.h b/include/psa/crypto_values.h index b3526aef47..c9c1ec05fd 100644 --- a/include/psa/crypto_values.h +++ b/include/psa/crypto_values.h @@ -1265,7 +1265,7 @@ */ #define PSA_ALG_CHACHA20_POLY1305 ((psa_algorithm_t)0x05100500) -/* In the encoding of a AEAD algorithm, the bits corresponding to +/* In the encoding of an AEAD algorithm, the bits corresponding to * PSA_ALG_AEAD_TAG_LENGTH_MASK encode the length of the AEAD tag. * The constants for default lengths follow this encoding. */ @@ -1400,9 +1400,11 @@ * This is the signature scheme defined by RFC 8017 * (PKCS#1: RSA Cryptography Specifications) under the name * RSASSA-PSS, with the message generation function MGF1, and with - * a salt length equal to the length of the hash. The specified - * hash algorithm is used to hash the input message, to create the - * salted hash, and for the mask generation. + * a salt length equal to the length of the hash, or the largest + * possible salt length for the algorithm and key size if that is + * smaller than the hash length. The specified hash algorithm is + * used to hash the input message, to create the salted hash, and + * for the mask generation. * * \param hash_alg A hash algorithm (\c PSA_ALG_XXX value such that * #PSA_ALG_IS_HASH(\p hash_alg) is true). @@ -2019,6 +2021,20 @@ #define PSA_ALG_TLS12_PSK_TO_MS_GET_HASH(hkdf_alg) \ (PSA_ALG_CATEGORY_HASH | ((hkdf_alg) & PSA_ALG_HASH_MASK)) +/* The TLS 1.2 ECJPAKE-to-PMS KDF. It takes the shared secret K (an EC point + * in case of EC J-PAKE) and calculates SHA256(K.X) that the rest of TLS 1.2 + * will use to derive the session secret, as defined by step 2 of + * https://datatracker.ietf.org/doc/html/draft-cragie-tls-ecjpake-01#section-8.7. + * Uses PSA_ALG_SHA_256. + * This function takes a single input: + * #PSA_KEY_DERIVATION_INPUT_SECRET is the shared secret K from EC J-PAKE. + * The only supported curve is secp256r1 (the 256-bit curve in + * #PSA_ECC_FAMILY_SECP_R1), so the input must be exactly 65 bytes. + * The output has to be read as a single chunk of 32 bytes, defined as + * PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE. + */ +#define PSA_ALG_TLS12_ECJPAKE_TO_PMS ((psa_algorithm_t)0x08000609) + /* This flag indicates whether the key derivation algorithm is suitable for * use on low-entropy secrets such as password - these algorithms are also * known as key stretching or password hashing schemes. These are also the @@ -2561,7 +2577,7 @@ static inline int mbedtls_svc_key_id_is_null( mbedtls_svc_key_id_t key ) * * This flag allows the key to be used for a MAC verification operation * or for an asymmetric signature verification operation, - * if otherwise permitted by by the key's type and policy. + * if otherwise permitted by the key's type and policy. * * For a key pair, this concerns the public key. */ @@ -2571,7 +2587,7 @@ static inline int mbedtls_svc_key_id_is_null( mbedtls_svc_key_id_t key ) * hash. * * This flag allows the key to be used for a key derivation operation or for - * a key agreement operation, if otherwise permitted by by the key's type and + * a key agreement operation, if otherwise permitted by the key's type and * policy. * * If this flag is present on all keys used in calls to @@ -2587,7 +2603,7 @@ static inline int mbedtls_svc_key_id_is_null( mbedtls_svc_key_id_t key ) * This flag allows the key to be used: * * This flag allows the key to be used in a key derivation operation, if - * otherwise permitted by by the key's type and policy. + * otherwise permitted by the key's type and policy. * * If this flag is present on all keys used in calls to * psa_key_derivation_input_key() for a key derivation operation, then it diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index f52195be3e..c9714bbfbe 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -18,6 +18,9 @@ set(src_crypto asn1write.c base64.c bignum.c + bignum_core.c + bignum_mod.c + bignum_mod_raw.c camellia.c ccm.c chacha20.c @@ -38,6 +41,7 @@ set(src_crypto entropy_poll.c error.c gcm.c + hash_info.c hkdf.c hmac_drbg.c lmots.c @@ -45,8 +49,6 @@ set(src_crypto md.c md5.c memory_buffer_alloc.c - mps_reader.c - mps_trace.c nist_kw.c oid.c padlock.c @@ -68,6 +70,7 @@ set(src_crypto psa_crypto_ecp.c psa_crypto_hash.c psa_crypto_mac.c + psa_crypto_pake.c psa_crypto_rsa.c psa_crypto_se.c psa_crypto_slot_management.c @@ -79,7 +82,6 @@ set(src_crypto sha1.c sha256.c sha512.c - ssl_debug_helpers_generated.c threading.c timing.c version.c @@ -87,6 +89,7 @@ set(src_crypto ) set(src_x509 + pkcs7.c x509.c x509_create.c x509_crl.c @@ -98,11 +101,14 @@ set(src_x509 set(src_tls debug.c + mps_reader.c + mps_trace.c net_sockets.c ssl_cache.c ssl_ciphersuites.c ssl_client.c ssl_cookie.c + ssl_debug_helpers_generated.c ssl_msg.c ssl_ticket.c ssl_tls.c @@ -276,7 +282,7 @@ endif(USE_STATIC_MBEDTLS_LIBRARY) if(USE_SHARED_MBEDTLS_LIBRARY) set(CMAKE_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR}) add_library(${mbedcrypto_target} SHARED ${src_crypto}) - set_target_properties(${mbedcrypto_target} PROPERTIES VERSION 3.2.1 SOVERSION 12) + set_target_properties(${mbedcrypto_target} PROPERTIES VERSION 3.3.0 SOVERSION 13) target_link_libraries(${mbedcrypto_target} PUBLIC ${libs}) if(TARGET everest) @@ -284,11 +290,11 @@ if(USE_SHARED_MBEDTLS_LIBRARY) endif() add_library(${mbedx509_target} SHARED ${src_x509}) - set_target_properties(${mbedx509_target} PROPERTIES VERSION 3.2.1 SOVERSION 4) + set_target_properties(${mbedx509_target} PROPERTIES VERSION 3.3.0 SOVERSION 4) target_link_libraries(${mbedx509_target} PUBLIC ${libs} ${mbedcrypto_target}) add_library(${mbedtls_target} SHARED ${src_tls}) - set_target_properties(${mbedtls_target} PROPERTIES VERSION 3.2.1 SOVERSION 18) + set_target_properties(${mbedtls_target} PROPERTIES VERSION 3.3.0 SOVERSION 19) target_link_libraries(${mbedtls_target} PUBLIC ${libs} ${mbedx509_target}) endif(USE_SHARED_MBEDTLS_LIBRARY) diff --git a/library/Makefile b/library/Makefile index dfe76c139b..dd16d06158 100644 --- a/library/Makefile +++ b/library/Makefile @@ -47,9 +47,9 @@ LOCAL_CFLAGS += -fPIC -fpic endif endif -SOEXT_TLS=so.18 -SOEXT_X509=so.4 -SOEXT_CRYPTO=so.12 +SOEXT_TLS?=so.19 +SOEXT_X509?=so.4 +SOEXT_CRYPTO?=so.13 # Set AR_DASH= (empty string) to use an ar implementation that does not accept # the - prefix for command line options (e.g. llvm-ar) @@ -83,6 +83,9 @@ OBJS_CRYPTO= \ asn1write.o \ base64.o \ bignum.o \ + bignum_core.o \ + bignum_mod.o \ + bignum_mod_raw.o \ camellia.o \ ccm.o \ chacha20.o \ @@ -103,6 +106,7 @@ OBJS_CRYPTO= \ entropy_poll.o \ error.o \ gcm.o \ + hash_info.o \ hkdf.o \ hmac_drbg.o \ lmots.o \ @@ -110,8 +114,6 @@ OBJS_CRYPTO= \ md.o \ md5.o \ memory_buffer_alloc.o \ - mps_reader.o \ - mps_trace.o \ nist_kw.o \ oid.o \ padlock.o \ @@ -133,6 +135,7 @@ OBJS_CRYPTO= \ psa_crypto_ecp.o \ psa_crypto_hash.o \ psa_crypto_mac.o \ + psa_crypto_pake.o \ psa_crypto_rsa.o \ psa_crypto_se.o \ psa_crypto_slot_management.o \ @@ -144,7 +147,6 @@ OBJS_CRYPTO= \ sha1.o \ sha256.o \ sha512.o \ - ssl_debug_helpers_generated.o \ threading.o \ timing.o \ version.o \ @@ -163,15 +165,19 @@ OBJS_X509= \ x509_csr.o \ x509write_crt.o \ x509write_csr.o \ + pkcs7.o \ # This line is intentionally left blank OBJS_TLS= \ debug.o \ + mps_reader.o \ + mps_trace.o \ net_sockets.o \ ssl_cache.o \ ssl_ciphersuites.o \ ssl_client.o \ ssl_cookie.o \ + ssl_debug_helpers_generated.o \ ssl_msg.o \ ssl_ticket.o \ ssl_tls.o \ @@ -194,6 +200,7 @@ all: shared static endif static: libmbedcrypto.a libmbedx509.a libmbedtls.a + cd ../tests && echo "This is a seedfile that contains 64 bytes (65 on Windows)......" > seedfile shared: libmbedcrypto.$(DLEXT) libmbedx509.$(DLEXT) libmbedtls.$(DLEXT) @@ -220,9 +227,11 @@ libmbedtls.$(SOEXT_TLS): $(OBJS_TLS) libmbedx509.so echo " LD $@" $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_TLS) -L. -lmbedx509 -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) +ifneq ($(SOEXT_TLS),so) libmbedtls.so: libmbedtls.$(SOEXT_TLS) echo " LN $@ -> $<" ln -sf $< $@ +endif libmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib echo " LD $@" @@ -247,9 +256,11 @@ libmbedx509.$(SOEXT_X509): $(OBJS_X509) libmbedcrypto.so echo " LD $@" $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_X509) -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) +ifneq ($(SOEXT_X509),so) libmbedx509.so: libmbedx509.$(SOEXT_X509) echo " LN $@ -> $<" ln -sf $< $@ +endif libmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib echo " LD $@" @@ -274,9 +285,11 @@ libmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO) echo " LD $@" $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_CRYPTO) $(LOCAL_LDFLAGS) $(LDFLAGS) +ifneq ($(SOEXT_CRYPTO),so) libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO) echo " LN $@ -> $<" ln -sf $< $@ +endif libmbedcrypto.dylib: $(OBJS_CRYPTO) echo " LD $@" diff --git a/library/aes.c b/library/aes.c index bf5d432129..319d9bb67e 100644 --- a/library/aes.c +++ b/library/aes.c @@ -40,23 +40,10 @@ #include "aesni.h" #endif -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_AES_ALT) -/* Parameter validation macros based on platform_util.h */ -#define AES_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_AES_BAD_INPUT_DATA ) -#define AES_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #if defined(MBEDTLS_PADLOCK_C) && \ ( defined(MBEDTLS_HAVE_X86) || defined(MBEDTLS_PADLOCK_ALIGN16) ) static int aes_padlock_ace = -1; @@ -489,8 +476,6 @@ static void aes_gen_tables( void ) void mbedtls_aes_init( mbedtls_aes_context *ctx ) { - AES_VALIDATE( ctx != NULL ); - memset( ctx, 0, sizeof( mbedtls_aes_context ) ); } @@ -505,8 +490,6 @@ void mbedtls_aes_free( mbedtls_aes_context *ctx ) #if defined(MBEDTLS_CIPHER_MODE_XTS) void mbedtls_aes_xts_init( mbedtls_aes_xts_context *ctx ) { - AES_VALIDATE( ctx != NULL ); - mbedtls_aes_init( &ctx->crypt ); mbedtls_aes_init( &ctx->tweak ); } @@ -531,9 +514,6 @@ int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned char *key, unsigned int i; uint32_t *RK; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( key != NULL ); - switch( keybits ) { case 128: ctx->nr = 10; break; @@ -550,19 +530,19 @@ int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned char *key, } #endif + ctx->rk_offset = 0; #if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_PADLOCK_ALIGN16) if( aes_padlock_ace == -1 ) aes_padlock_ace = mbedtls_padlock_has_support( MBEDTLS_PADLOCK_ACE ); if( aes_padlock_ace ) - ctx->rk = RK = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ); - else + ctx->rk_offset = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ) - ctx->buf; #endif - ctx->rk = RK = ctx->buf; + RK = ctx->buf + ctx->rk_offset; #if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) - return( mbedtls_aesni_setkey_enc( (unsigned char *) ctx->rk, key, keybits ) ); + return( mbedtls_aesni_setkey_enc( (unsigned char *) RK, key, keybits ) ); #endif for( i = 0; i < ( keybits >> 5 ); i++ ) @@ -649,20 +629,17 @@ int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned char *key, uint32_t *RK; uint32_t *SK; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( key != NULL ); - mbedtls_aes_init( &cty ); + ctx->rk_offset = 0; #if defined(MBEDTLS_PADLOCK_C) && defined(MBEDTLS_PADLOCK_ALIGN16) if( aes_padlock_ace == -1 ) aes_padlock_ace = mbedtls_padlock_has_support( MBEDTLS_PADLOCK_ACE ); if( aes_padlock_ace ) - ctx->rk = RK = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ); - else + ctx->rk_offset = MBEDTLS_PADLOCK_ALIGN16( ctx->buf ) - ctx->buf; #endif - ctx->rk = RK = ctx->buf; + RK = ctx->buf + ctx->rk_offset; /* Also checks keybits */ if( ( ret = mbedtls_aes_setkey_enc( &cty, key, keybits ) ) != 0 ) @@ -673,13 +650,13 @@ int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned char *key, #if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) { - mbedtls_aesni_inverse_key( (unsigned char *) ctx->rk, - (const unsigned char *) cty.rk, ctx->nr ); + mbedtls_aesni_inverse_key( (unsigned char *) RK, + (const unsigned char *) ( cty.buf + cty.rk_offset ), ctx->nr ); goto exit; } #endif - SK = cty.rk + cty.nr * 4; + SK = cty.buf + cty.rk_offset + cty.nr * 4; *RK++ = *SK++; *RK++ = *SK++; @@ -743,9 +720,6 @@ int mbedtls_aes_xts_setkey_enc( mbedtls_aes_xts_context *ctx, const unsigned char *key1, *key2; unsigned int key1bits, key2bits; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( key != NULL ); - ret = mbedtls_aes_xts_decode_keys( key, keybits, &key1, &key1bits, &key2, &key2bits ); if( ret != 0 ) @@ -768,9 +742,6 @@ int mbedtls_aes_xts_setkey_dec( mbedtls_aes_xts_context *ctx, const unsigned char *key1, *key2; unsigned int key1bits, key2bits; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( key != NULL ); - ret = mbedtls_aes_xts_decode_keys( key, keybits, &key1, &key1bits, &key2, &key2bits ); if( ret != 0 ) @@ -843,7 +814,7 @@ int mbedtls_internal_aes_encrypt( mbedtls_aes_context *ctx, unsigned char output[16] ) { int i; - uint32_t *RK = ctx->rk; + uint32_t *RK = ctx->buf + ctx->rk_offset; struct { uint32_t X[4]; @@ -907,7 +878,7 @@ int mbedtls_internal_aes_decrypt( mbedtls_aes_context *ctx, unsigned char output[16] ) { int i; - uint32_t *RK = ctx->rk; + uint32_t *RK = ctx->buf + ctx->rk_offset; struct { uint32_t X[4]; @@ -970,12 +941,8 @@ int mbedtls_aes_crypt_ecb( mbedtls_aes_context *ctx, const unsigned char input[16], unsigned char output[16] ) { - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( ctx->rk != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); - AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || - mode == MBEDTLS_AES_DECRYPT ); + if( mode != MBEDTLS_AES_ENCRYPT && mode != MBEDTLS_AES_DECRYPT ) + return MBEDTLS_ERR_AES_BAD_INPUT_DATA; #if defined(MBEDTLS_AESNI_C) && defined(MBEDTLS_HAVE_X86_64) if( mbedtls_aesni_has_support( MBEDTLS_AESNI_AES ) ) @@ -1015,12 +982,8 @@ int mbedtls_aes_crypt_cbc( mbedtls_aes_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char temp[16]; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || - mode == MBEDTLS_AES_DECRYPT ); - AES_VALIDATE_RET( iv != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); + if( mode != MBEDTLS_AES_ENCRYPT && mode != MBEDTLS_AES_DECRYPT ) + return MBEDTLS_ERR_AES_BAD_INPUT_DATA; if( length % 16 ) return( MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH ); @@ -1124,12 +1087,8 @@ int mbedtls_aes_crypt_xts( mbedtls_aes_xts_context *ctx, unsigned char prev_tweak[16]; unsigned char tmp[16]; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || - mode == MBEDTLS_AES_DECRYPT ); - AES_VALIDATE_RET( data_unit != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); + if( mode != MBEDTLS_AES_ENCRYPT && mode != MBEDTLS_AES_DECRYPT ) + return MBEDTLS_ERR_AES_BAD_INPUT_DATA; /* Data units must be at least 16 bytes long. */ if( length < 16 ) @@ -1153,7 +1112,7 @@ int mbedtls_aes_crypt_xts( mbedtls_aes_xts_context *ctx, { /* We are on the last block in a decrypt operation that has * leftover bytes, so we need to use the next tweak for this block, - * and this tweak for the lefover bytes. Save the current tweak for + * and this tweak for the leftover bytes. Save the current tweak for * the leftovers and then update the current tweak for use on this, * the last full block. */ memcpy( prev_tweak, tweak, sizeof( tweak ) ); @@ -1233,13 +1192,8 @@ int mbedtls_aes_crypt_cfb128( mbedtls_aes_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t n; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || - mode == MBEDTLS_AES_DECRYPT ); - AES_VALIDATE_RET( iv_off != NULL ); - AES_VALIDATE_RET( iv != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); + if( mode != MBEDTLS_AES_ENCRYPT && mode != MBEDTLS_AES_DECRYPT ) + return MBEDTLS_ERR_AES_BAD_INPUT_DATA; n = *iv_off; @@ -1302,12 +1256,8 @@ int mbedtls_aes_crypt_cfb8( mbedtls_aes_context *ctx, unsigned char c; unsigned char ov[17]; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( mode == MBEDTLS_AES_ENCRYPT || - mode == MBEDTLS_AES_DECRYPT ); - AES_VALIDATE_RET( iv != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); + if( mode != MBEDTLS_AES_ENCRYPT && mode != MBEDTLS_AES_DECRYPT ) + return MBEDTLS_ERR_AES_BAD_INPUT_DATA; while( length-- ) { memcpy( ov, iv, 16 ); @@ -1346,12 +1296,6 @@ int mbedtls_aes_crypt_ofb( mbedtls_aes_context *ctx, int ret = 0; size_t n; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( iv_off != NULL ); - AES_VALIDATE_RET( iv != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); - n = *iv_off; if( n > 15 ) @@ -1393,13 +1337,6 @@ int mbedtls_aes_crypt_ctr( mbedtls_aes_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t n; - AES_VALIDATE_RET( ctx != NULL ); - AES_VALIDATE_RET( nc_off != NULL ); - AES_VALIDATE_RET( nonce_counter != NULL ); - AES_VALIDATE_RET( stream_block != NULL ); - AES_VALIDATE_RET( input != NULL ); - AES_VALIDATE_RET( output != NULL ); - n = *nc_off; if ( n > 0x0F ) @@ -1753,7 +1690,8 @@ int mbedtls_aes_self_test( int verbose ) unsigned char key[32]; unsigned char buf[64]; const unsigned char *aes_tests; -#if defined(MBEDTLS_CIPHER_MODE_CBC) || defined(MBEDTLS_CIPHER_MODE_CFB) +#if defined(MBEDTLS_CIPHER_MODE_CBC) || defined(MBEDTLS_CIPHER_MODE_CFB) || \ + defined(MBEDTLS_CIPHER_MODE_OFB) unsigned char iv[16]; #endif #if defined(MBEDTLS_CIPHER_MODE_CBC) diff --git a/library/aesni.c b/library/aesni.c index be226c9c00..87d818af71 100644 --- a/library/aesni.c +++ b/library/aesni.c @@ -127,7 +127,7 @@ int mbedtls_aesni_crypt_ecb( mbedtls_aes_context *ctx, "3: \n\t" "movdqu %%xmm0, (%4) \n\t" // export output : - : "r" (ctx->nr), "r" (ctx->rk), "r" (mode), "r" (input), "r" (output) + : "r" (ctx->nr), "r" (ctx->buf + ctx->rk_offset), "r" (mode), "r" (input), "r" (output) : "memory", "cc", "xmm0", "xmm1" ); diff --git a/library/aria.c b/library/aria.c index bc05c4a319..5e52eea91e 100644 --- a/library/aria.c +++ b/library/aria.c @@ -31,24 +31,12 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_ARIA_ALT) #include "mbedtls/platform_util.h" -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /* Parameter validation macros */ #define ARIA_VALIDATE_RET( cond ) \ MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ARIA_BAD_INPUT_DATA ) @@ -895,15 +883,17 @@ static const uint8_t aria_test2_ctr_ct[3][48] = // CTR ciphertext }; #endif /* MBEDTLS_CIPHER_MODE_CFB */ -#define ARIA_SELF_TEST_IF_FAIL \ - { \ - if( verbose ) \ - mbedtls_printf( "failed\n" ); \ - goto exit; \ - } else { \ - if( verbose ) \ - mbedtls_printf( "passed\n" ); \ - } +#define ARIA_SELF_TEST_ASSERT( cond ) \ + do { \ + if( cond ) { \ + if( verbose ) \ + mbedtls_printf( "failed\n" ); \ + goto exit; \ + } else { \ + if( verbose ) \ + mbedtls_printf( "passed\n" ); \ + } \ + } while( 0 ) /* * Checkup routine @@ -937,16 +927,18 @@ int mbedtls_aria_self_test( int verbose ) mbedtls_printf( " ARIA-ECB-%d (enc): ", 128 + 64 * i ); mbedtls_aria_setkey_enc( &ctx, aria_test1_ecb_key, 128 + 64 * i ); mbedtls_aria_crypt_ecb( &ctx, aria_test1_ecb_pt, blk ); - if( memcmp( blk, aria_test1_ecb_ct[i], MBEDTLS_ARIA_BLOCKSIZE ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( + memcmp( blk, aria_test1_ecb_ct[i], MBEDTLS_ARIA_BLOCKSIZE ) + != 0 ); /* test ECB decryption */ if( verbose ) mbedtls_printf( " ARIA-ECB-%d (dec): ", 128 + 64 * i ); mbedtls_aria_setkey_dec( &ctx, aria_test1_ecb_key, 128 + 64 * i ); mbedtls_aria_crypt_ecb( &ctx, aria_test1_ecb_ct[i], blk ); - if( memcmp( blk, aria_test1_ecb_pt, MBEDTLS_ARIA_BLOCKSIZE ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( + memcmp( blk, aria_test1_ecb_pt, MBEDTLS_ARIA_BLOCKSIZE ) + != 0 ); } if( verbose ) mbedtls_printf( "\n" ); @@ -965,8 +957,8 @@ int mbedtls_aria_self_test( int verbose ) memset( buf, 0x55, sizeof( buf ) ); mbedtls_aria_crypt_cbc( &ctx, MBEDTLS_ARIA_ENCRYPT, 48, iv, aria_test2_pt, buf ); - if( memcmp( buf, aria_test2_cbc_ct[i], 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_cbc_ct[i], 48 ) + != 0 ); /* Test CBC decryption */ if( verbose ) @@ -976,8 +968,7 @@ int mbedtls_aria_self_test( int verbose ) memset( buf, 0xAA, sizeof( buf ) ); mbedtls_aria_crypt_cbc( &ctx, MBEDTLS_ARIA_DECRYPT, 48, iv, aria_test2_cbc_ct[i], buf ); - if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_pt, 48 ) != 0 ); } if( verbose ) mbedtls_printf( "\n" ); @@ -996,8 +987,7 @@ int mbedtls_aria_self_test( int verbose ) j = 0; mbedtls_aria_crypt_cfb128( &ctx, MBEDTLS_ARIA_ENCRYPT, 48, &j, iv, aria_test2_pt, buf ); - if( memcmp( buf, aria_test2_cfb_ct[i], 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_cfb_ct[i], 48 ) != 0 ); /* Test CFB decryption */ if( verbose ) @@ -1008,8 +998,7 @@ int mbedtls_aria_self_test( int verbose ) j = 0; mbedtls_aria_crypt_cfb128( &ctx, MBEDTLS_ARIA_DECRYPT, 48, &j, iv, aria_test2_cfb_ct[i], buf ); - if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_pt, 48 ) != 0 ); } if( verbose ) mbedtls_printf( "\n" ); @@ -1027,8 +1016,7 @@ int mbedtls_aria_self_test( int verbose ) j = 0; mbedtls_aria_crypt_ctr( &ctx, 48, &j, iv, blk, aria_test2_pt, buf ); - if( memcmp( buf, aria_test2_ctr_ct[i], 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_ctr_ct[i], 48 ) != 0 ); /* Test CTR decryption */ if( verbose ) @@ -1039,8 +1027,7 @@ int mbedtls_aria_self_test( int verbose ) j = 0; mbedtls_aria_crypt_ctr( &ctx, 48, &j, iv, blk, aria_test2_ctr_ct[i], buf ); - if( memcmp( buf, aria_test2_pt, 48 ) != 0 ) - ARIA_SELF_TEST_IF_FAIL; + ARIA_SELF_TEST_ASSERT( memcmp( buf, aria_test2_pt, 48 ) != 0 ); } if( verbose ) mbedtls_printf( "\n" ); diff --git a/library/asn1parse.c b/library/asn1parse.c index 83c7c58a12..28a3b144bf 100644 --- a/library/asn1parse.c +++ b/library/asn1parse.c @@ -31,13 +31,7 @@ #include "mbedtls/bignum.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif /* * ASN.1 DER decoding routines @@ -320,7 +314,6 @@ void mbedtls_asn1_sequence_free( mbedtls_asn1_sequence *seq ) while( seq != NULL ) { mbedtls_asn1_sequence *next = seq->next; - mbedtls_platform_zeroize( seq, sizeof( *seq ) ); mbedtls_free( seq ); seq = next; } @@ -438,6 +431,7 @@ int mbedtls_asn1_get_alg_null( unsigned char **p, return( 0 ); } +#if !defined(MBEDTLS_DEPRECATED_REMOVED) void mbedtls_asn1_free_named_data( mbedtls_asn1_named_data *cur ) { if( cur == NULL ) @@ -448,6 +442,7 @@ void mbedtls_asn1_free_named_data( mbedtls_asn1_named_data *cur ) mbedtls_platform_zeroize( cur, sizeof( mbedtls_asn1_named_data ) ); } +#endif /* MBEDTLS_DEPRECATED_REMOVED */ void mbedtls_asn1_free_named_data_list( mbedtls_asn1_named_data **head ) { @@ -456,11 +451,21 @@ void mbedtls_asn1_free_named_data_list( mbedtls_asn1_named_data **head ) while( ( cur = *head ) != NULL ) { *head = cur->next; - mbedtls_asn1_free_named_data( cur ); + mbedtls_free( cur->oid.p ); + mbedtls_free( cur->val.p ); mbedtls_free( cur ); } } +void mbedtls_asn1_free_named_data_list_shallow( mbedtls_asn1_named_data *name ) +{ + for( mbedtls_asn1_named_data *next; name != NULL; name = next ) + { + next = name->next; + mbedtls_free( name ); + } +} + const mbedtls_asn1_named_data *mbedtls_asn1_find_named_data( const mbedtls_asn1_named_data *list, const char *oid, size_t len ) { diff --git a/library/asn1write.c b/library/asn1write.c index 053dbb669f..98c591d0bc 100644 --- a/library/asn1write.c +++ b/library/asn1write.c @@ -26,13 +26,7 @@ #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif int mbedtls_asn1_write_len( unsigned char **p, const unsigned char *start, size_t len ) { @@ -78,9 +72,11 @@ int mbedtls_asn1_write_len( unsigned char **p, const unsigned char *start, size_ return( 4 ); } + int len_is_valid = 1; #if SIZE_MAX > 0xFFFFFFFF - if( len <= 0xFFFFFFFF ) + len_is_valid = ( len <= 0xFFFFFFFF ); #endif + if( len_is_valid ) { if( *p - start < 5 ) return( MBEDTLS_ERR_ASN1_BUF_TOO_SMALL ); @@ -93,9 +89,7 @@ int mbedtls_asn1_write_len( unsigned char **p, const unsigned char *start, size_ return( 5 ); } -#if SIZE_MAX > 0xFFFFFFFF return( MBEDTLS_ERR_ASN1_INVALID_LENGTH ); -#endif } int mbedtls_asn1_write_tag( unsigned char **p, const unsigned char *start, unsigned char tag ) diff --git a/library/base64.c b/library/base64.c index 83daa0bcc6..9021a041bb 100644 --- a/library/base64.c +++ b/library/base64.c @@ -28,12 +28,7 @@ #if defined(MBEDTLS_SELF_TEST) #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ #endif /* MBEDTLS_SELF_TEST */ #define BASE64_SIZE_T_MAX ( (size_t) -1 ) /* SIZE_T_MAX is not standard */ diff --git a/library/bignum.c b/library/bignum.c index 8717c8abc6..65708c9f3a 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -38,7 +38,7 @@ #if defined(MBEDTLS_BIGNUM_C) #include "mbedtls/bignum.h" -#include "bignum_internal.h" +#include "bignum_core.h" #include "bn_mul.h" #include "mbedtls/platform_util.h" #include "mbedtls/error.h" @@ -47,34 +47,15 @@ #include #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #define MPI_VALIDATE_RET( cond ) \ MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_MPI_BAD_INPUT_DATA ) #define MPI_VALIDATE( cond ) \ MBEDTLS_INTERNAL_VALIDATE( cond ) -#define ciL (sizeof(mbedtls_mpi_uint)) /* chars in limb */ -#define biL (ciL << 3) /* bits in limb */ -#define biH (ciL << 2) /* half limb size */ - #define MPI_SIZE_T_MAX ( (size_t) -1 ) /* SIZE_T_MAX is not standard */ -/* - * Convert between bits/chars and number of limbs - * Divide first in order to avoid potential overflows - */ -#define BITS_TO_LIMBS(i) ( (i) / biL + ( (i) % biL != 0 ) ) -#define CHARS_TO_LIMBS(i) ( (i) / ciL + ( (i) % ciL != 0 ) ) - /* Implementation that should never be optimized out by the compiler */ static void mbedtls_mpi_zeroize( mbedtls_mpi_uint *v, size_t n ) { @@ -271,6 +252,17 @@ void mbedtls_mpi_swap( mbedtls_mpi *X, mbedtls_mpi *Y ) memcpy( Y, &T, sizeof( mbedtls_mpi ) ); } +static inline mbedtls_mpi_uint mpi_sint_abs( mbedtls_mpi_sint z ) +{ + if( z >= 0 ) + return( z ); + /* Take care to handle the most negative value (-2^(biL-1)) correctly. + * A naive -z would have undefined behavior. + * Write this in a way that makes popular compilers happy (GCC, Clang, + * MSVC). */ + return( (mbedtls_mpi_uint) 0 - (mbedtls_mpi_uint) z ); +} + /* * Set value from integer */ @@ -282,7 +274,7 @@ int mbedtls_mpi_lset( mbedtls_mpi *X, mbedtls_mpi_sint z ) MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, 1 ) ); memset( X->p, 0, X->n * ciL ); - X->p[0] = ( z < 0 ) ? -z : z; + X->p[0] = mpi_sint_abs( z ); X->s = ( z < 0 ) ? -1 : 1; cleanup: @@ -303,10 +295,6 @@ int mbedtls_mpi_get_bit( const mbedtls_mpi *X, size_t pos ) return( ( X->p[pos / biL] >> ( pos % biL ) ) & 0x01 ); } -/* Get a specific byte, without range checks. */ -#define GET_BYTE( X, i ) \ - ( ( ( X )->p[( i ) / ciL] >> ( ( ( i ) % ciL ) * 8 ) ) & 0xff ) - /* * Set a bit to a specific value of 0 or 1 */ @@ -352,41 +340,12 @@ size_t mbedtls_mpi_lsb( const mbedtls_mpi *X ) return( 0 ); } -/* - * Count leading zero bits in a given integer - */ -static size_t mbedtls_clz( const mbedtls_mpi_uint x ) -{ - size_t j; - mbedtls_mpi_uint mask = (mbedtls_mpi_uint) 1 << (biL - 1); - - for( j = 0; j < biL; j++ ) - { - if( x & mask ) break; - - mask >>= 1; - } - - return j; -} - /* * Return the number of bits */ size_t mbedtls_mpi_bitlen( const mbedtls_mpi *X ) { - size_t i, j; - - if( X->n == 0 ) - return( 0 ); - - for( i = X->n - 1; i > 0; i-- ) - if( X->p[i] != 0 ) - break; - - j = biL - mbedtls_clz( X->p[i] ); - - return( ( i * biL ) + j ); + return( mbedtls_mpi_core_bitlen( X->p, X->n ) ); } /* @@ -693,97 +652,6 @@ int mbedtls_mpi_write_file( const char *p, const mbedtls_mpi *X, int radix, FILE } #endif /* MBEDTLS_FS_IO */ - -/* Convert a big-endian byte array aligned to the size of mbedtls_mpi_uint - * into the storage form used by mbedtls_mpi. */ - -static mbedtls_mpi_uint mpi_uint_bigendian_to_host_c( mbedtls_mpi_uint x ) -{ - uint8_t i; - unsigned char *x_ptr; - mbedtls_mpi_uint tmp = 0; - - for( i = 0, x_ptr = (unsigned char*) &x; i < ciL; i++, x_ptr++ ) - { - tmp <<= CHAR_BIT; - tmp |= (mbedtls_mpi_uint) *x_ptr; - } - - return( tmp ); -} - -static mbedtls_mpi_uint mpi_uint_bigendian_to_host( mbedtls_mpi_uint x ) -{ -#if defined(__BYTE_ORDER__) - -/* Nothing to do on bigendian systems. */ -#if ( __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) - return( x ); -#endif /* __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ */ - -#if ( __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) - -/* For GCC and Clang, have builtins for byte swapping. */ -#if defined(__GNUC__) && defined(__GNUC_PREREQ) -#if __GNUC_PREREQ(4,3) -#define have_bswap -#endif -#endif - -#if defined(__clang__) && defined(__has_builtin) -#if __has_builtin(__builtin_bswap32) && \ - __has_builtin(__builtin_bswap64) -#define have_bswap -#endif -#endif - -#if defined(have_bswap) - /* The compiler is hopefully able to statically evaluate this! */ - switch( sizeof(mbedtls_mpi_uint) ) - { - case 4: - return( __builtin_bswap32(x) ); - case 8: - return( __builtin_bswap64(x) ); - } -#endif -#endif /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */ -#endif /* __BYTE_ORDER__ */ - - /* Fall back to C-based reordering if we don't know the byte order - * or we couldn't use a compiler-specific builtin. */ - return( mpi_uint_bigendian_to_host_c( x ) ); -} - -static void mpi_bigendian_to_host( mbedtls_mpi_uint * const p, size_t limbs ) -{ - mbedtls_mpi_uint *cur_limb_left; - mbedtls_mpi_uint *cur_limb_right; - if( limbs == 0 ) - return; - - /* - * Traverse limbs and - * - adapt byte-order in each limb - * - swap the limbs themselves. - * For that, simultaneously traverse the limbs from left to right - * and from right to left, as long as the left index is not bigger - * than the right index (it's not a problem if limbs is odd and the - * indices coincide in the last iteration). - */ - for( cur_limb_left = p, cur_limb_right = p + ( limbs - 1 ); - cur_limb_left <= cur_limb_right; - cur_limb_left++, cur_limb_right-- ) - { - mbedtls_mpi_uint tmp; - /* Note that if cur_limb_left == cur_limb_right, - * this code effectively swaps the bytes only once. */ - tmp = mpi_uint_bigendian_to_host( *cur_limb_left ); - *cur_limb_left = mpi_uint_bigendian_to_host( *cur_limb_right ); - *cur_limb_right = tmp; - } -} - /* * Import X from unsigned binary data, little endian * @@ -794,14 +662,12 @@ int mbedtls_mpi_read_binary_le( mbedtls_mpi *X, const unsigned char *buf, size_t buflen ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - size_t i; - size_t const limbs = CHARS_TO_LIMBS( buflen ); + const size_t limbs = CHARS_TO_LIMBS( buflen ); /* Ensure that target MPI has exactly the necessary number of limbs */ MBEDTLS_MPI_CHK( mbedtls_mpi_resize_clear( X, limbs ) ); - for( i = 0; i < buflen; i++ ) - X->p[i / ciL] |= ((mbedtls_mpi_uint) buf[i]) << ((i % ciL) << 3); + MBEDTLS_MPI_CHK( mbedtls_mpi_core_read_le( X->p, X->n, buf, buflen ) ); cleanup: @@ -822,9 +688,7 @@ int mbedtls_mpi_read_binary_le( mbedtls_mpi *X, int mbedtls_mpi_read_binary( mbedtls_mpi *X, const unsigned char *buf, size_t buflen ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - size_t const limbs = CHARS_TO_LIMBS( buflen ); - size_t const overhead = ( limbs * ciL ) - buflen; - unsigned char *Xp; + const size_t limbs = CHARS_TO_LIMBS( buflen ); MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( buflen == 0 || buf != NULL ); @@ -832,15 +696,7 @@ int mbedtls_mpi_read_binary( mbedtls_mpi *X, const unsigned char *buf, size_t bu /* Ensure that target MPI has exactly the necessary number of limbs */ MBEDTLS_MPI_CHK( mbedtls_mpi_resize_clear( X, limbs ) ); - /* Avoid calling `memcpy` with NULL source or destination argument, - * even if buflen is 0. */ - if( buflen != 0 ) - { - Xp = (unsigned char*) X->p; - memcpy( Xp + overhead, buf, buflen ); - - mpi_bigendian_to_host( X->p, limbs ); - } + MBEDTLS_MPI_CHK( mbedtls_mpi_core_read_be( X->p, X->n, buf, buflen ) ); cleanup: @@ -858,37 +714,7 @@ int mbedtls_mpi_read_binary( mbedtls_mpi *X, const unsigned char *buf, size_t bu int mbedtls_mpi_write_binary_le( const mbedtls_mpi *X, unsigned char *buf, size_t buflen ) { - size_t stored_bytes = X->n * ciL; - size_t bytes_to_copy; - size_t i; - - if( stored_bytes < buflen ) - { - bytes_to_copy = stored_bytes; - } - else - { - bytes_to_copy = buflen; - - /* The output buffer is smaller than the allocated size of X. - * However X may fit if its leading bytes are zero. */ - for( i = bytes_to_copy; i < stored_bytes; i++ ) - { - if( GET_BYTE( X, i ) != 0 ) - return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); - } - } - - for( i = 0; i < bytes_to_copy; i++ ) - buf[i] = GET_BYTE( X, i ); - - if( stored_bytes < buflen ) - { - /* Write trailing 0 bytes */ - memset( buf + stored_bytes, 0, buflen - stored_bytes ); - } - - return( 0 ); + return( mbedtls_mpi_core_write_le( X->p, X->n, buf, buflen ) ); } /* @@ -897,44 +723,7 @@ int mbedtls_mpi_write_binary_le( const mbedtls_mpi *X, int mbedtls_mpi_write_binary( const mbedtls_mpi *X, unsigned char *buf, size_t buflen ) { - size_t stored_bytes; - size_t bytes_to_copy; - unsigned char *p; - size_t i; - - MPI_VALIDATE_RET( X != NULL ); - MPI_VALIDATE_RET( buflen == 0 || buf != NULL ); - - stored_bytes = X->n * ciL; - - if( stored_bytes < buflen ) - { - /* There is enough space in the output buffer. Write initial - * null bytes and record the position at which to start - * writing the significant bytes. In this case, the execution - * trace of this function does not depend on the value of the - * number. */ - bytes_to_copy = stored_bytes; - p = buf + buflen - stored_bytes; - memset( buf, 0, buflen - stored_bytes ); - } - else - { - /* The output buffer is smaller than the allocated size of X. - * However X may fit if its leading bytes are zero. */ - bytes_to_copy = buflen; - p = buf; - for( i = bytes_to_copy; i < stored_bytes; i++ ) - { - if( GET_BYTE( X, i ) != 0 ) - return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); - } - } - - for( i = 0; i < bytes_to_copy; i++ ) - p[bytes_to_copy - i - 1] = GET_BYTE( X, i ); - - return( 0 ); + return( mbedtls_mpi_core_write_be( X->p, X->n, buf, buflen ) ); } /* @@ -993,42 +782,9 @@ int mbedtls_mpi_shift_l( mbedtls_mpi *X, size_t count ) */ int mbedtls_mpi_shift_r( mbedtls_mpi *X, size_t count ) { - size_t i, v0, v1; - mbedtls_mpi_uint r0 = 0, r1; MPI_VALIDATE_RET( X != NULL ); - - v0 = count / biL; - v1 = count & (biL - 1); - - if( v0 > X->n || ( v0 == X->n && v1 > 0 ) ) - return mbedtls_mpi_lset( X, 0 ); - - /* - * shift by count / limb_size - */ - if( v0 > 0 ) - { - for( i = 0; i < X->n - v0; i++ ) - X->p[i] = X->p[i + v0]; - - for( ; i < X->n; i++ ) - X->p[i] = 0; - } - - /* - * shift by count % limb_size - */ - if( v1 > 0 ) - { - for( i = X->n; i > 0; i-- ) - { - r1 = X->p[i - 1] << (biL - v1); - X->p[i - 1] >>= v1; - X->p[i - 1] |= r0; - r0 = r1; - } - } - + if( X->n != 0 ) + mbedtls_mpi_core_shift_r( X->p, X->n, count ); return( 0 ); } @@ -1108,7 +864,7 @@ int mbedtls_mpi_cmp_int( const mbedtls_mpi *X, mbedtls_mpi_sint z ) mbedtls_mpi_uint p[1]; MPI_VALIDATE_RET( X != NULL ); - *p = ( z < 0 ) ? -z : z; + *p = mpi_sint_abs( z ); Y.s = ( z < 0 ) ? -1 : 1; Y.n = 1; Y.p = p; @@ -1122,8 +878,7 @@ int mbedtls_mpi_cmp_int( const mbedtls_mpi *X, mbedtls_mpi_sint z ) int mbedtls_mpi_add_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - size_t i, j; - mbedtls_mpi_uint *o, *p, c, tmp; + size_t j; MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( A != NULL ); MPI_VALIDATE_RET( B != NULL ); @@ -1137,7 +892,7 @@ int mbedtls_mpi_add_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi MBEDTLS_MPI_CHK( mbedtls_mpi_copy( X, A ) ); /* - * X should always be positive as a result of unsigned additions. + * X must always be positive as a result of unsigned additions. */ X->s = 1; @@ -1145,29 +900,32 @@ int mbedtls_mpi_add_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi if( B->p[j - 1] != 0 ) break; + /* Exit early to avoid undefined behavior on NULL+0 when X->n == 0 + * and B is 0 (of any size). */ + if( j == 0 ) + return( 0 ); + MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, j ) ); - o = B->p; p = X->p; c = 0; + /* j is the number of non-zero limbs of B. Add those to X. */ - /* - * tmp is used because it might happen that p == o - */ - for( i = 0; i < j; i++, o++, p++ ) - { - tmp= *o; - *p += c; c = ( *p < c ); - *p += tmp; c += ( *p < tmp ); - } + mbedtls_mpi_uint *p = X->p; + + mbedtls_mpi_uint c = mbedtls_mpi_core_add( p, p, B->p, j ); + + p += j; + + /* Now propagate any carry */ while( c != 0 ) { - if( i >= X->n ) + if( j >= X->n ) { - MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, i + 1 ) ); - p = X->p + i; + MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, j + 1 ) ); + p = X->p + j; } - *p += c; c = ( *p < c ); i++; p++; + *p += c; c = ( *p < c ); j++; p++; } cleanup: @@ -1175,40 +933,6 @@ int mbedtls_mpi_add_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi return( ret ); } -/** - * Helper for mbedtls_mpi subtraction. - * - * Calculate l - r where l and r have the same size. - * This function operates modulo (2^ciL)^n and returns the carry - * (1 if there was a wraparound, i.e. if `l < r`, and 0 otherwise). - * - * d may be aliased to l or r. - * - * \param n Number of limbs of \p d, \p l and \p r. - * \param[out] d The result of the subtraction. - * \param[in] l The left operand. - * \param[in] r The right operand. - * - * \return 1 if `l < r`. - * 0 if `l >= r`. - */ -static mbedtls_mpi_uint mpi_sub_hlp( size_t n, - mbedtls_mpi_uint *d, - const mbedtls_mpi_uint *l, - const mbedtls_mpi_uint *r ) -{ - size_t i; - mbedtls_mpi_uint c = 0, t, z; - - for( i = 0; i < n; i++ ) - { - z = ( l[i] < c ); t = l[i] - c; - c = ( t < r[i] ) + z; d[i] = t - r[i]; - } - - return( c ); -} - /* * Unsigned subtraction: X = |A| - |B| (HAC 14.9, 14.10) */ @@ -1241,20 +965,18 @@ int mbedtls_mpi_sub_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi if( X->n > A->n ) memset( X->p + A->n, 0, ( X->n - A->n ) * ciL ); - carry = mpi_sub_hlp( n, X->p, A->p, B->p ); + carry = mbedtls_mpi_core_sub( X->p, A->p, B->p, n ); if( carry != 0 ) { - /* Propagate the carry to the first nonzero limb of X. */ - for( ; n < X->n && X->p[n] == 0; n++ ) - --X->p[n]; - /* If we ran out of space for the carry, it means that the result - * is negative. */ - if( n == X->n ) + /* Propagate the carry through the rest of X. */ + carry = mbedtls_mpi_core_sub_int( X->p + n, X->p + n, carry, X->n - n ); + + /* If we have further carry/borrow, the result is negative. */ + if( carry != 0 ) { ret = MBEDTLS_ERR_MPI_NEGATIVE_VALUE; goto cleanup; } - --X->p[n]; } /* X should always be positive as a result of unsigned subtractions. */ @@ -1264,10 +986,12 @@ int mbedtls_mpi_sub_abs( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi return( ret ); } -/* - * Signed addition: X = A + B +/* Common function for signed addition and subtraction. + * Calculate A + B * flip_B where flip_B is 1 or -1. */ -int mbedtls_mpi_add_mpi( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B ) +static int add_sub_mpi( mbedtls_mpi *X, + const mbedtls_mpi *A, const mbedtls_mpi *B, + int flip_B ) { int ret, s; MPI_VALIDATE_RET( X != NULL ); @@ -1275,16 +999,21 @@ int mbedtls_mpi_add_mpi( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi MPI_VALIDATE_RET( B != NULL ); s = A->s; - if( A->s * B->s < 0 ) + if( A->s * B->s * flip_B < 0 ) { - if( mbedtls_mpi_cmp_abs( A, B ) >= 0 ) + int cmp = mbedtls_mpi_cmp_abs( A, B ); + if( cmp >= 0 ) { MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( X, A, B ) ); - X->s = s; + /* If |A| = |B|, the result is 0 and we must set the sign bit + * to +1 regardless of which of A or B was negative. Otherwise, + * since |A| > |B|, the sign is the sign of A. */ + X->s = cmp == 0 ? 1 : s; } else { MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( X, B, A ) ); + /* Since |A| < |B|, the sign is the opposite of A. */ X->s = -s; } } @@ -1299,39 +1028,20 @@ int mbedtls_mpi_add_mpi( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi return( ret ); } +/* + * Signed addition: X = A + B + */ +int mbedtls_mpi_add_mpi( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B ) +{ + return( add_sub_mpi( X, A, B, 1 ) ); +} + /* * Signed subtraction: X = A - B */ int mbedtls_mpi_sub_mpi( mbedtls_mpi *X, const mbedtls_mpi *A, const mbedtls_mpi *B ) { - int ret, s; - MPI_VALIDATE_RET( X != NULL ); - MPI_VALIDATE_RET( A != NULL ); - MPI_VALIDATE_RET( B != NULL ); - - s = A->s; - if( A->s * B->s > 0 ) - { - if( mbedtls_mpi_cmp_abs( A, B ) >= 0 ) - { - MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( X, A, B ) ); - X->s = s; - } - else - { - MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( X, B, A ) ); - X->s = -s; - } - } - else - { - MBEDTLS_MPI_CHK( mbedtls_mpi_add_abs( X, A, B ) ); - X->s = s; - } - -cleanup: - - return( ret ); + return( add_sub_mpi( X, A, B, -1 ) ); } /* @@ -1344,7 +1054,7 @@ int mbedtls_mpi_add_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( A != NULL ); - p[0] = ( b < 0 ) ? -b : b; + p[0] = mpi_sint_abs( b ); B.s = ( b < 0 ) ? -1 : 1; B.n = 1; B.p = p; @@ -1362,7 +1072,7 @@ int mbedtls_mpi_sub_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( A != NULL ); - p[0] = ( b < 0 ) ? -b : b; + p[0] = mpi_sint_abs( b ); B.s = ( b < 0 ) ? -1 : 1; B.n = 1; B.p = p; @@ -1370,38 +1080,6 @@ int mbedtls_mpi_sub_int( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi_sint return( mbedtls_mpi_sub_mpi( X, A, &B ) ); } -mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *d, size_t d_len, - const mbedtls_mpi_uint *s, size_t s_len, - mbedtls_mpi_uint b ) -{ - mbedtls_mpi_uint c = 0; /* carry */ - size_t excess_len = d_len - s_len; - - size_t steps_x8 = s_len / 8; - size_t steps_x1 = s_len & 7; - - while( steps_x8-- ) - { - MULADDC_X8_INIT - MULADDC_X8_CORE - MULADDC_X8_STOP - } - - while( steps_x1-- ) - { - MULADDC_X1_INIT - MULADDC_X1_CORE - MULADDC_X1_STOP - } - - while( excess_len-- ) - { - *d += c; c = ( *d < c ); d++; - } - - return( c ); -} - /* * Baseline multiplication: X = A * B (HAC 14.12) */ @@ -1545,7 +1223,7 @@ static mbedtls_mpi_uint mbedtls_int_div_int( mbedtls_mpi_uint u1, /* * Normalize the divisor, d, and dividend, u0, u1 */ - s = mbedtls_clz( d ); + s = mbedtls_mpi_core_clz( d ); d = d << s; u1 = u1 << s; @@ -1732,7 +1410,7 @@ int mbedtls_mpi_div_int( mbedtls_mpi *Q, mbedtls_mpi *R, mbedtls_mpi_uint p[1]; MPI_VALIDATE_RET( A != NULL ); - p[0] = ( b < 0 ) ? -b : b; + p[0] = mpi_sint_abs( b ); B.s = ( b < 0 ) ? -1 : 1; B.n = 1; B.p = p; @@ -1825,21 +1503,9 @@ int mbedtls_mpi_mod_int( mbedtls_mpi_uint *r, const mbedtls_mpi *A, mbedtls_mpi_ return( 0 ); } -/* - * Fast Montgomery initialization (thanks to Tom St Denis) - */ static void mpi_montg_init( mbedtls_mpi_uint *mm, const mbedtls_mpi *N ) { - mbedtls_mpi_uint x, m0 = N->p[0]; - unsigned int i; - - x = m0; - x += ( ( m0 + 2 ) & 4 ) << 1; - - for( i = biL; i >= 8; i /= 2 ) - x *= ( 2 - ( m0 * x ) ); - - *mm = ~x + 1; + *mm = mbedtls_mpi_core_montmul_init( N->p ); } /** Montgomery multiplication: A = A * B * R^-1 mod N (HAC 14.36) @@ -1853,7 +1519,7 @@ static void mpi_montg_init( mbedtls_mpi_uint *mm, const mbedtls_mpi *N ) * \param[in] B One of the numbers to multiply. * It must be nonzero and must not have more limbs than N * (B->n <= N->n). - * \param[in] N The modulo. N must be odd. + * \param[in] N The modulus. \p N must be odd. * \param mm The value calculated by `mpi_montg_init(&mm, N)`. * This is -N^-1 mod 2^ciL. * \param[in,out] T A bignum for temporary storage. @@ -1861,59 +1527,13 @@ static void mpi_montg_init( mbedtls_mpi_uint *mm, const mbedtls_mpi *N ) * (T->n >= 2 * N->n + 1). * Its initial content is unused and * its final content is indeterminate. - * Note that unlike the usual convention in the library - * for `const mbedtls_mpi*`, the content of T can change. + * It does not get reallocated. */ -static void mpi_montmul( mbedtls_mpi *A, const mbedtls_mpi *B, const mbedtls_mpi *N, mbedtls_mpi_uint mm, - const mbedtls_mpi *T ) +static void mpi_montmul( mbedtls_mpi *A, const mbedtls_mpi *B, + const mbedtls_mpi *N, mbedtls_mpi_uint mm, + mbedtls_mpi *T ) { - size_t n, m; - mbedtls_mpi_uint *d; - - memset( T->p, 0, T->n * ciL ); - - d = T->p; - n = N->n; - m = ( B->n < n ) ? B->n : n; - - for( size_t i = 0; i < n; i++ ) - { - mbedtls_mpi_uint u0, u1; - - /* - * T = (T + u0*B + u1*N) / 2^biL - */ - u0 = A->p[i]; - u1 = ( d[0] + u0 * B->p[0] ) * mm; - - (void) mbedtls_mpi_core_mla( d, n + 2, - B->p, m, - u0 ); - (void) mbedtls_mpi_core_mla( d, n + 2, - N->p, n, - u1 ); - d++; - } - - /* At this point, d is either the desired result or the desired result - * plus N. We now potentially subtract N, avoiding leaking whether the - * subtraction is performed through side channels. */ - - /* Copy the n least significant limbs of d to A, so that - * A = d if d < N (recall that N has n limbs). */ - memcpy( A->p, d, n * ciL ); - /* If d >= N then we want to set A to d - N. To prevent timing attacks, - * do the calculation without using conditional tests. */ - /* Set d to d0 + (2^biL)^n - N where d0 is the current value of d. */ - d[n] += 1; - d[n] -= mpi_sub_hlp( n, d, d, N->p ); - /* If d0 < N then d < (2^biL)^n - * so d[n] == 0 and we want to keep A as it is. - * If d0 >= N then d >= (2^biL)^n, and d <= (2^biL)^n + N < 2 * (2^biL)^n - * so d[n] == 1 and we want to set A to the result of the subtraction - * which is d - (2^biL)^n, i.e. the n least significant limbs of d. - * This exactly corresponds to a conditional assignment. */ - mbedtls_ct_mpi_uint_cond_assign( n, A->p, d, (unsigned char) d[n] ); + mbedtls_mpi_core_montmul( A->p, A->p, B->p, B->n, N->p, N->n, mm, T->p ); } /* @@ -1922,7 +1542,7 @@ static void mpi_montmul( mbedtls_mpi *A, const mbedtls_mpi *B, const mbedtls_mpi * See mpi_montmul() regarding constraints and guarantees on the parameters. */ static void mpi_montred( mbedtls_mpi *A, const mbedtls_mpi *N, - mbedtls_mpi_uint mm, const mbedtls_mpi *T ) + mbedtls_mpi_uint mm, mbedtls_mpi *T ) { mbedtls_mpi_uint z = 1; mbedtls_mpi U; @@ -1970,11 +1590,11 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, mbedtls_mpi *prec_RR ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - size_t wbits, wsize, one = 1; + size_t window_bitsize; size_t i, j, nblimbs; size_t bufsize, nbits; mbedtls_mpi_uint ei, mm, state; - mbedtls_mpi RR, T, W[ 1 << MBEDTLS_MPI_WINDOW_SIZE ], WW, Apos; + mbedtls_mpi RR, T, W[ (size_t) 1 << MBEDTLS_MPI_WINDOW_SIZE ], WW, Apos; int neg; MPI_VALIDATE_RET( X != NULL ); @@ -2003,21 +1623,59 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, i = mbedtls_mpi_bitlen( E ); - wsize = ( i > 671 ) ? 6 : ( i > 239 ) ? 5 : + window_bitsize = ( i > 671 ) ? 6 : ( i > 239 ) ? 5 : ( i > 79 ) ? 4 : ( i > 23 ) ? 3 : 1; #if( MBEDTLS_MPI_WINDOW_SIZE < 6 ) - if( wsize > MBEDTLS_MPI_WINDOW_SIZE ) - wsize = MBEDTLS_MPI_WINDOW_SIZE; + if( window_bitsize > MBEDTLS_MPI_WINDOW_SIZE ) + window_bitsize = MBEDTLS_MPI_WINDOW_SIZE; #endif + const size_t w_table_used_size = (size_t) 1 << window_bitsize; + + /* + * This function is not constant-trace: its memory accesses depend on the + * exponent value. To defend against timing attacks, callers (such as RSA + * and DHM) should use exponent blinding. However this is not enough if the + * adversary can find the exponent in a single trace, so this function + * takes extra precautions against adversaries who can observe memory + * access patterns. + * + * This function performs a series of multiplications by table elements and + * squarings, and we want the prevent the adversary from finding out which + * table element was used, and from distinguishing between multiplications + * and squarings. Firstly, when multiplying by an element of the window + * W[i], we do a constant-trace table lookup to obfuscate i. This leaves + * squarings as having a different memory access patterns from other + * multiplications. So secondly, we put the accumulator X in the table as + * well, and also do a constant-trace table lookup to multiply by X. + * + * This way, all multiplications take the form of a lookup-and-multiply. + * The number of lookup-and-multiply operations inside each iteration of + * the main loop still depends on the bits of the exponent, but since the + * other operations in the loop don't have an easily recognizable memory + * trace, an adversary is unlikely to be able to observe the exact + * patterns. + * + * An adversary may still be able to recover the exponent if they can + * observe both memory accesses and branches. However, branch prediction + * exploitation typically requires many traces of execution over the same + * data, which is defeated by randomized blinding. + * + * To achieve this, we make a copy of X and we use the table entry in each + * calculation from this point on. + */ + const size_t x_index = 0; + mbedtls_mpi_init( &W[x_index] ); + mbedtls_mpi_copy( &W[x_index], X ); + j = N->n + 1; /* All W[i] and X must have at least N->n limbs for the mpi_montmul() * and mpi_montred() calls later. Here we ensure that W[1] and X are * large enough, and later we'll grow other W[i] to the same length. * They must not be shrunk midway through this function! */ - MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, j ) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_grow( &W[x_index], j ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_grow( &W[1], j ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_grow( &T, j * 2 ) ); @@ -2066,28 +1724,36 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, mpi_montmul( &W[1], &RR, N, mm, &T ); /* - * X = R^2 * R^-1 mod N = R mod N + * W[x_index] = R^2 * R^-1 mod N = R mod N */ - MBEDTLS_MPI_CHK( mbedtls_mpi_copy( X, &RR ) ); - mpi_montred( X, N, mm, &T ); + MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &W[x_index], &RR ) ); + mpi_montred( &W[x_index], N, mm, &T ); - if( wsize > 1 ) + + if( window_bitsize > 1 ) { /* - * W[1 << (wsize - 1)] = W[1] ^ (wsize - 1) + * W[i] = W[1] ^ i + * + * The first bit of the sliding window is always 1 and therefore we + * only need to store the second half of the table. + * + * (There are two special elements in the table: W[0] for the + * accumulator/result and W[1] for A in Montgomery form. Both of these + * are already set at this point.) */ - j = one << ( wsize - 1 ); + j = w_table_used_size / 2; MBEDTLS_MPI_CHK( mbedtls_mpi_grow( &W[j], N->n + 1 ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &W[j], &W[1] ) ); - for( i = 0; i < wsize - 1; i++ ) + for( i = 0; i < window_bitsize - 1; i++ ) mpi_montmul( &W[j], &W[j], N, mm, &T ); /* * W[i] = W[i - 1] * W[1] */ - for( i = j + 1; i < ( one << wsize ); i++ ) + for( i = j + 1; i < w_table_used_size; i++ ) { MBEDTLS_MPI_CHK( mbedtls_mpi_grow( &W[i], N->n + 1 ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &W[i], &W[i - 1] ) ); @@ -2099,7 +1765,7 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, nblimbs = E->n; bufsize = 0; nbits = 0; - wbits = 0; + size_t exponent_bits_in_window = 0; state = 0; while( 1 ) @@ -2127,9 +1793,10 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, if( ei == 0 && state == 1 ) { /* - * out of window, square X + * out of window, square W[x_index] */ - mpi_montmul( X, X, N, mm, &T ); + MBEDTLS_MPI_CHK( mpi_select( &WW, W, w_table_used_size, x_index ) ); + mpi_montmul( &W[x_index], &WW, N, mm, &T ); continue; } @@ -2139,25 +1806,30 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, state = 2; nbits++; - wbits |= ( ei << ( wsize - nbits ) ); + exponent_bits_in_window |= ( ei << ( window_bitsize - nbits ) ); - if( nbits == wsize ) + if( nbits == window_bitsize ) { /* - * X = X^wsize R^-1 mod N + * W[x_index] = W[x_index]^window_bitsize R^-1 mod N */ - for( i = 0; i < wsize; i++ ) - mpi_montmul( X, X, N, mm, &T ); + for( i = 0; i < window_bitsize; i++ ) + { + MBEDTLS_MPI_CHK( mpi_select( &WW, W, w_table_used_size, + x_index ) ); + mpi_montmul( &W[x_index], &WW, N, mm, &T ); + } /* - * X = X * W[wbits] R^-1 mod N + * W[x_index] = W[x_index] * W[exponent_bits_in_window] R^-1 mod N */ - MBEDTLS_MPI_CHK( mpi_select( &WW, W, (size_t) 1 << wsize, wbits ) ); - mpi_montmul( X, &WW, N, mm, &T ); + MBEDTLS_MPI_CHK( mpi_select( &WW, W, w_table_used_size, + exponent_bits_in_window ) ); + mpi_montmul( &W[x_index], &WW, N, mm, &T ); state--; nbits = 0; - wbits = 0; + exponent_bits_in_window = 0; } } @@ -2166,31 +1838,45 @@ int mbedtls_mpi_exp_mod( mbedtls_mpi *X, const mbedtls_mpi *A, */ for( i = 0; i < nbits; i++ ) { - mpi_montmul( X, X, N, mm, &T ); + MBEDTLS_MPI_CHK( mpi_select( &WW, W, w_table_used_size, x_index ) ); + mpi_montmul( &W[x_index], &WW, N, mm, &T ); - wbits <<= 1; + exponent_bits_in_window <<= 1; - if( ( wbits & ( one << wsize ) ) != 0 ) - mpi_montmul( X, &W[1], N, mm, &T ); + if( ( exponent_bits_in_window & ( (size_t) 1 << window_bitsize ) ) != 0 ) + { + MBEDTLS_MPI_CHK( mpi_select( &WW, W, w_table_used_size, 1 ) ); + mpi_montmul( &W[x_index], &WW, N, mm, &T ); + } } /* - * X = A^E * R * R^-1 mod N = A^E mod N + * W[x_index] = A^E * R * R^-1 mod N = A^E mod N */ - mpi_montred( X, N, mm, &T ); + mpi_montred( &W[x_index], N, mm, &T ); if( neg && E->n != 0 && ( E->p[0] & 1 ) != 0 ) { - X->s = -1; - MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( X, N, X ) ); + W[x_index].s = -1; + MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( &W[x_index], N, &W[x_index] ) ); } + /* + * Load the result in the output variable. + */ + mbedtls_mpi_copy( X, &W[x_index] ); + cleanup: - for( i = ( one << ( wsize - 1 ) ); i < ( one << wsize ); i++ ) + /* The first bit of the sliding window is always 1 and therefore the first + * half of the table was unused. */ + for( i = w_table_used_size/2; i < w_table_used_size; i++ ) mbedtls_mpi_free( &W[i] ); - mbedtls_mpi_free( &W[1] ); mbedtls_mpi_free( &T ); mbedtls_mpi_free( &Apos ); + mbedtls_mpi_free( &W[x_index] ); + mbedtls_mpi_free( &W[1] ); + mbedtls_mpi_free( &T ); + mbedtls_mpi_free( &Apos ); mbedtls_mpi_free( &WW ); if( prec_RR == NULL || prec_RR->p == NULL ) @@ -2313,46 +1999,18 @@ int mbedtls_mpi_gcd( mbedtls_mpi *G, const mbedtls_mpi *A, const mbedtls_mpi *B return( ret ); } -/* Fill X with n_bytes random bytes. - * X must already have room for those bytes. - * The ordering of the bytes returned from the RNG is suitable for - * deterministic ECDSA (see RFC 6979 §3.3 and mbedtls_mpi_random()). - * The size and sign of X are unchanged. - * n_bytes must not be 0. - */ -static int mpi_fill_random_internal( - mbedtls_mpi *X, size_t n_bytes, - int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) -{ - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - const size_t limbs = CHARS_TO_LIMBS( n_bytes ); - const size_t overhead = ( limbs * ciL ) - n_bytes; - - if( X->n < limbs ) - return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); - - memset( X->p, 0, overhead ); - memset( (unsigned char *) X->p + limbs * ciL, 0, ( X->n - limbs ) * ciL ); - MBEDTLS_MPI_CHK( f_rng( p_rng, (unsigned char *) X->p + overhead, n_bytes ) ); - mpi_bigendian_to_host( X->p, limbs ); - -cleanup: - return( ret ); -} - /* * Fill X with size bytes of random. - * - * Use a temporary bytes representation to make sure the result is the same - * regardless of the platform endianness (useful when f_rng is actually - * deterministic, eg for tests). + * The bytes returned from the RNG are used in a specific order which + * is suitable for deterministic ECDSA (see the specification of + * mbedtls_mpi_random() and the implementation in mbedtls_mpi_fill_random()). */ int mbedtls_mpi_fill_random( mbedtls_mpi *X, size_t size, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - size_t const limbs = CHARS_TO_LIMBS( size ); + const size_t limbs = CHARS_TO_LIMBS( size ); MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( f_rng != NULL ); @@ -2362,7 +2020,7 @@ int mbedtls_mpi_fill_random( mbedtls_mpi *X, size_t size, if( size == 0 ) return( 0 ); - ret = mpi_fill_random_internal( X, size, f_rng, p_rng ); + ret = mbedtls_mpi_core_fill_random( X->p, X->n, size, f_rng, p_rng ); cleanup: return( ret ); @@ -2424,7 +2082,9 @@ int mbedtls_mpi_random( mbedtls_mpi *X, */ do { - MBEDTLS_MPI_CHK( mpi_fill_random_internal( X, n_bytes, f_rng, p_rng ) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_core_fill_random( X->p, X->n, + n_bytes, + f_rng, p_rng ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_shift_r( X, 8 * n_bytes - n_bits ) ); if( --count == 0 ) @@ -2803,7 +2463,7 @@ int mbedtls_mpi_gen_prime( mbedtls_mpi *X, size_t nbits, int flags, else { /* - * An necessary condition for Y and X = 2Y + 1 to be prime + * A necessary condition for Y and X = 2Y + 1 to be prime * is X = 2 mod 3 (which is equivalent to Y = 2 mod 3). * Make sure it is satisfied, while keeping X = 3 mod 4 */ diff --git a/library/bignum_core.c b/library/bignum_core.c new file mode 100644 index 0000000000..30fc661300 --- /dev/null +++ b/library/bignum_core.c @@ -0,0 +1,795 @@ +/* + * Core bignum functions + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) + +#include + +#include "mbedtls/error.h" +#include "mbedtls/platform_util.h" +#include "constant_time_internal.h" + +#include "mbedtls/platform.h" + +#include "bignum_core.h" +#include "bn_mul.h" +#include "constant_time_internal.h" + +size_t mbedtls_mpi_core_clz( mbedtls_mpi_uint a ) +{ + size_t j; + mbedtls_mpi_uint mask = (mbedtls_mpi_uint) 1 << (biL - 1); + + for( j = 0; j < biL; j++ ) + { + if( a & mask ) break; + + mask >>= 1; + } + + return( j ); +} + +size_t mbedtls_mpi_core_bitlen( const mbedtls_mpi_uint *A, size_t A_limbs ) +{ + size_t i, j; + + if( A_limbs == 0 ) + return( 0 ); + + for( i = A_limbs - 1; i > 0; i-- ) + if( A[i] != 0 ) + break; + + j = biL - mbedtls_mpi_core_clz( A[i] ); + + return( ( i * biL ) + j ); +} + +/* Convert a big-endian byte array aligned to the size of mbedtls_mpi_uint + * into the storage form used by mbedtls_mpi. */ +static mbedtls_mpi_uint mpi_bigendian_to_host_c( mbedtls_mpi_uint a ) +{ + uint8_t i; + unsigned char *a_ptr; + mbedtls_mpi_uint tmp = 0; + + for( i = 0, a_ptr = (unsigned char *) &a; i < ciL; i++, a_ptr++ ) + { + tmp <<= CHAR_BIT; + tmp |= (mbedtls_mpi_uint) *a_ptr; + } + + return( tmp ); +} + +static mbedtls_mpi_uint mpi_bigendian_to_host( mbedtls_mpi_uint a ) +{ +#if defined(__BYTE_ORDER__) + +/* Nothing to do on bigendian systems. */ +#if ( __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) + return( a ); +#endif /* __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ */ + +#if ( __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) + +/* For GCC and Clang, have builtins for byte swapping. */ +#if defined(__GNUC__) && defined(__GNUC_PREREQ) +#if __GNUC_PREREQ(4,3) +#define have_bswap +#endif +#endif + +#if defined(__clang__) && defined(__has_builtin) +#if __has_builtin(__builtin_bswap32) && \ + __has_builtin(__builtin_bswap64) +#define have_bswap +#endif +#endif + +#if defined(have_bswap) + /* The compiler is hopefully able to statically evaluate this! */ + switch( sizeof(mbedtls_mpi_uint) ) + { + case 4: + return( __builtin_bswap32(a) ); + case 8: + return( __builtin_bswap64(a) ); + } +#endif +#endif /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */ +#endif /* __BYTE_ORDER__ */ + + /* Fall back to C-based reordering if we don't know the byte order + * or we couldn't use a compiler-specific builtin. */ + return( mpi_bigendian_to_host_c( a ) ); +} + +void mbedtls_mpi_core_bigendian_to_host( mbedtls_mpi_uint *A, + size_t A_limbs ) +{ + mbedtls_mpi_uint *cur_limb_left; + mbedtls_mpi_uint *cur_limb_right; + if( A_limbs == 0 ) + return; + + /* + * Traverse limbs and + * - adapt byte-order in each limb + * - swap the limbs themselves. + * For that, simultaneously traverse the limbs from left to right + * and from right to left, as long as the left index is not bigger + * than the right index (it's not a problem if limbs is odd and the + * indices coincide in the last iteration). + */ + for( cur_limb_left = A, cur_limb_right = A + ( A_limbs - 1 ); + cur_limb_left <= cur_limb_right; + cur_limb_left++, cur_limb_right-- ) + { + mbedtls_mpi_uint tmp; + /* Note that if cur_limb_left == cur_limb_right, + * this code effectively swaps the bytes only once. */ + tmp = mpi_bigendian_to_host( *cur_limb_left ); + *cur_limb_left = mpi_bigendian_to_host( *cur_limb_right ); + *cur_limb_right = tmp; + } +} + +void mbedtls_mpi_core_cond_assign( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + size_t limbs, + unsigned char assign ) +{ + if( X == A ) + return; + + mbedtls_ct_mpi_uint_cond_assign( limbs, X, A, assign ); +} + +void mbedtls_mpi_core_cond_swap( mbedtls_mpi_uint *X, + mbedtls_mpi_uint *Y, + size_t limbs, + unsigned char swap ) +{ + if( X == Y ) + return; + + /* all-bits 1 if swap is 1, all-bits 0 if swap is 0 */ + mbedtls_mpi_uint limb_mask = mbedtls_ct_mpi_uint_mask( swap ); + + for( size_t i = 0; i < limbs; i++ ) + { + mbedtls_mpi_uint tmp = X[i]; + X[i] = ( X[i] & ~limb_mask ) | ( Y[i] & limb_mask ); + Y[i] = ( Y[i] & ~limb_mask ) | ( tmp & limb_mask ); + } +} + +int mbedtls_mpi_core_read_le( mbedtls_mpi_uint *X, + size_t X_limbs, + const unsigned char *input, + size_t input_length ) +{ + const size_t limbs = CHARS_TO_LIMBS( input_length ); + + if( X_limbs < limbs ) + return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); + + if( X != NULL ) + { + memset( X, 0, X_limbs * ciL ); + + for( size_t i = 0; i < input_length; i++ ) + { + size_t offset = ( ( i % ciL ) << 3 ); + X[i / ciL] |= ( (mbedtls_mpi_uint) input[i] ) << offset; + } + } + + return( 0 ); +} + +int mbedtls_mpi_core_read_be( mbedtls_mpi_uint *X, + size_t X_limbs, + const unsigned char *input, + size_t input_length ) +{ + const size_t limbs = CHARS_TO_LIMBS( input_length ); + + if( X_limbs < limbs ) + return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); + + /* If X_limbs is 0, input_length must also be 0 (from previous test). + * Nothing to do. */ + if( X_limbs == 0 ) + return( 0 ); + + memset( X, 0, X_limbs * ciL ); + + /* memcpy() with (NULL, 0) is undefined behaviour */ + if( input_length != 0 ) + { + size_t overhead = ( X_limbs * ciL ) - input_length; + unsigned char *Xp = (unsigned char *) X; + memcpy( Xp + overhead, input, input_length ); + } + + mbedtls_mpi_core_bigendian_to_host( X, X_limbs ); + + return( 0 ); +} + +int mbedtls_mpi_core_write_le( const mbedtls_mpi_uint *A, + size_t A_limbs, + unsigned char *output, + size_t output_length ) +{ + size_t stored_bytes = A_limbs * ciL; + size_t bytes_to_copy; + + if( stored_bytes < output_length ) + { + bytes_to_copy = stored_bytes; + } + else + { + bytes_to_copy = output_length; + + /* The output buffer is smaller than the allocated size of A. + * However A may fit if its leading bytes are zero. */ + for( size_t i = bytes_to_copy; i < stored_bytes; i++ ) + { + if( GET_BYTE( A, i ) != 0 ) + return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); + } + } + + for( size_t i = 0; i < bytes_to_copy; i++ ) + output[i] = GET_BYTE( A, i ); + + if( stored_bytes < output_length ) + { + /* Write trailing 0 bytes */ + memset( output + stored_bytes, 0, output_length - stored_bytes ); + } + + return( 0 ); +} + +int mbedtls_mpi_core_write_be( const mbedtls_mpi_uint *X, + size_t X_limbs, + unsigned char *output, + size_t output_length ) +{ + size_t stored_bytes; + size_t bytes_to_copy; + unsigned char *p; + + stored_bytes = X_limbs * ciL; + + if( stored_bytes < output_length ) + { + /* There is enough space in the output buffer. Write initial + * null bytes and record the position at which to start + * writing the significant bytes. In this case, the execution + * trace of this function does not depend on the value of the + * number. */ + bytes_to_copy = stored_bytes; + p = output + output_length - stored_bytes; + memset( output, 0, output_length - stored_bytes ); + } + else + { + /* The output buffer is smaller than the allocated size of X. + * However X may fit if its leading bytes are zero. */ + bytes_to_copy = output_length; + p = output; + for( size_t i = bytes_to_copy; i < stored_bytes; i++ ) + { + if( GET_BYTE( X, i ) != 0 ) + return( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL ); + } + } + + for( size_t i = 0; i < bytes_to_copy; i++ ) + p[bytes_to_copy - i - 1] = GET_BYTE( X, i ); + + return( 0 ); +} + +void mbedtls_mpi_core_shift_r( mbedtls_mpi_uint *X, size_t limbs, + size_t count ) +{ + size_t i, v0, v1; + mbedtls_mpi_uint r0 = 0, r1; + + v0 = count / biL; + v1 = count & (biL - 1); + + if( v0 > limbs || ( v0 == limbs && v1 > 0 ) ) + { + memset( X, 0, limbs * ciL ); + return; + } + + /* + * shift by count / limb_size + */ + if( v0 > 0 ) + { + for( i = 0; i < limbs - v0; i++ ) + X[i] = X[i + v0]; + + for( ; i < limbs; i++ ) + X[i] = 0; + } + + /* + * shift by count % limb_size + */ + if( v1 > 0 ) + { + for( i = limbs; i > 0; i-- ) + { + r1 = X[i - 1] << (biL - v1); + X[i - 1] >>= v1; + X[i - 1] |= r0; + r0 = r1; + } + } +} + +mbedtls_mpi_uint mbedtls_mpi_core_add( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs ) +{ + mbedtls_mpi_uint c = 0; + + for( size_t i = 0; i < limbs; i++ ) + { + mbedtls_mpi_uint t = c + A[i]; + c = ( t < A[i] ); + t += B[i]; + c += ( t < B[i] ); + X[i] = t; + } + + return( c ); +} + +mbedtls_mpi_uint mbedtls_mpi_core_add_if( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + size_t limbs, + unsigned cond ) +{ + mbedtls_mpi_uint c = 0; + + /* all-bits 0 if cond is 0, all-bits 1 if cond is non-0 */ + const mbedtls_mpi_uint mask = mbedtls_ct_mpi_uint_mask( cond ); + + for( size_t i = 0; i < limbs; i++ ) + { + mbedtls_mpi_uint add = mask & A[i]; + mbedtls_mpi_uint t = c + X[i]; + c = ( t < X[i] ); + t += add; + c += ( t < add ); + X[i] = t; + } + + return( c ); +} + +mbedtls_mpi_uint mbedtls_mpi_core_sub( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs ) +{ + mbedtls_mpi_uint c = 0; + + for( size_t i = 0; i < limbs; i++ ) + { + mbedtls_mpi_uint z = ( A[i] < c ); + mbedtls_mpi_uint t = A[i] - c; + c = ( t < B[i] ) + z; + X[i] = t - B[i]; + } + + return( c ); +} + +mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *d, size_t d_len, + const mbedtls_mpi_uint *s, size_t s_len, + mbedtls_mpi_uint b ) +{ + mbedtls_mpi_uint c = 0; /* carry */ + /* + * It is a documented precondition of this function that d_len >= s_len. + * If that's not the case, we swap these round: this turns what would be + * a buffer overflow into an incorrect result. + */ + if( d_len < s_len ) + s_len = d_len; + size_t excess_len = d_len - s_len; + size_t steps_x8 = s_len / 8; + size_t steps_x1 = s_len & 7; + + while( steps_x8-- ) + { + MULADDC_X8_INIT + MULADDC_X8_CORE + MULADDC_X8_STOP + } + + while( steps_x1-- ) + { + MULADDC_X1_INIT + MULADDC_X1_CORE + MULADDC_X1_STOP + } + + while( excess_len-- ) + { + *d += c; + c = ( *d < c ); + d++; + } + + return( c ); +} + +/* + * Fast Montgomery initialization (thanks to Tom St Denis). + */ +mbedtls_mpi_uint mbedtls_mpi_core_montmul_init( const mbedtls_mpi_uint *N ) +{ + mbedtls_mpi_uint x = N[0]; + + x += ( ( N[0] + 2 ) & 4 ) << 1; + + for( unsigned int i = biL; i >= 8; i /= 2 ) + x *= ( 2 - ( N[0] * x ) ); + + return( ~x + 1 ); +} + +void mbedtls_mpi_core_montmul( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t B_limbs, + const mbedtls_mpi_uint *N, + size_t AN_limbs, + mbedtls_mpi_uint mm, + mbedtls_mpi_uint *T ) +{ + memset( T, 0, ( 2 * AN_limbs + 1 ) * ciL ); + + for( size_t i = 0; i < AN_limbs; i++ ) + { + /* T = (T + u0*B + u1*N) / 2^biL */ + mbedtls_mpi_uint u0 = A[i]; + mbedtls_mpi_uint u1 = ( T[0] + u0 * B[0] ) * mm; + + (void) mbedtls_mpi_core_mla( T, AN_limbs + 2, B, B_limbs, u0 ); + (void) mbedtls_mpi_core_mla( T, AN_limbs + 2, N, AN_limbs, u1 ); + + T++; + } + + /* + * The result we want is (T >= N) ? T - N : T. + * + * For better constant-time properties in this function, we always do the + * subtraction, with the result in X. + * + * We also look to see if there was any carry in the final additions in the + * loop above. + */ + + mbedtls_mpi_uint carry = T[AN_limbs]; + mbedtls_mpi_uint borrow = mbedtls_mpi_core_sub( X, T, N, AN_limbs ); + + /* + * Using R as the Montgomery radix (auxiliary modulus) i.e. 2^(biL*AN_limbs): + * + * T can be in one of 3 ranges: + * + * 1) T < N : (carry, borrow) = (0, 1): we want T + * 2) N <= T < R : (carry, borrow) = (0, 0): we want X + * 3) T >= R : (carry, borrow) = (1, 1): we want X + * + * and (carry, borrow) = (1, 0) can't happen. + * + * So the correct return value is already in X if (carry ^ borrow) = 0, + * but is in (the lower AN_limbs limbs of) T if (carry ^ borrow) = 1. + */ + mbedtls_ct_mpi_uint_cond_assign( AN_limbs, X, T, (unsigned char) ( carry ^ borrow ) ); +} + +int mbedtls_mpi_core_get_mont_r2_unsafe( mbedtls_mpi *X, + const mbedtls_mpi *N ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + MBEDTLS_MPI_CHK( mbedtls_mpi_lset( X, 1 ) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_shift_l( X, N->n * 2 * biL ) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( X, X, N ) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_shrink( X, N->n ) ); + +cleanup: + return( ret ); +} + +MBEDTLS_STATIC_TESTABLE +void mbedtls_mpi_core_ct_uint_table_lookup( mbedtls_mpi_uint *dest, + const mbedtls_mpi_uint *table, + size_t limbs, + size_t count, + size_t index ) +{ + for( size_t i = 0; i < count; i++, table += limbs ) + { + unsigned char assign = mbedtls_ct_size_bool_eq( i, index ); + mbedtls_mpi_core_cond_assign( dest, table, limbs, assign ); + } +} + +/* Fill X with n_bytes random bytes. + * X must already have room for those bytes. + * The ordering of the bytes returned from the RNG is suitable for + * deterministic ECDSA (see RFC 6979 §3.3 and the specification of + * mbedtls_mpi_core_random()). + */ +int mbedtls_mpi_core_fill_random( + mbedtls_mpi_uint *X, size_t X_limbs, + size_t n_bytes, + int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + const size_t limbs = CHARS_TO_LIMBS( n_bytes ); + const size_t overhead = ( limbs * ciL ) - n_bytes; + + if( X_limbs < limbs ) + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + + memset( X, 0, overhead ); + memset( (unsigned char *) X + limbs * ciL, 0, ( X_limbs - limbs ) * ciL ); + MBEDTLS_MPI_CHK( f_rng( p_rng, (unsigned char *) X + overhead, n_bytes ) ); + mbedtls_mpi_core_bigendian_to_host( X, limbs ); + +cleanup: + return( ret ); +} + +/* BEGIN MERGE SLOT 1 */ + +static size_t exp_mod_get_window_size( size_t Ebits ) +{ + size_t wsize = ( Ebits > 671 ) ? 6 : ( Ebits > 239 ) ? 5 : + ( Ebits > 79 ) ? 4 : 1; + +#if( MBEDTLS_MPI_WINDOW_SIZE < 6 ) + if( wsize > MBEDTLS_MPI_WINDOW_SIZE ) + wsize = MBEDTLS_MPI_WINDOW_SIZE; +#endif + + return( wsize ); +} + +size_t mbedtls_mpi_core_exp_mod_working_limbs( size_t AN_limbs, size_t E_limbs ) +{ + const size_t wsize = exp_mod_get_window_size( E_limbs * biL ); + const size_t welem = ( (size_t) 1 ) << wsize; + + /* How big does each part of the working memory pool need to be? */ + const size_t table_limbs = welem * AN_limbs; + const size_t select_limbs = AN_limbs; + const size_t temp_limbs = 2 * AN_limbs + 1; + + return( table_limbs + select_limbs + temp_limbs ); +} + +static void exp_mod_precompute_window( const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *N, + size_t AN_limbs, + mbedtls_mpi_uint mm, + const mbedtls_mpi_uint *RR, + size_t welem, + mbedtls_mpi_uint *Wtable, + mbedtls_mpi_uint *temp ) +{ + /* W[0] = 1 (in Montgomery presentation) */ + memset( Wtable, 0, AN_limbs * ciL ); + Wtable[0] = 1; + mbedtls_mpi_core_montmul( Wtable, Wtable, RR, AN_limbs, N, AN_limbs, mm, temp ); + + /* W[1] = A (already in Montgomery presentation) */ + mbedtls_mpi_uint *W1 = Wtable + AN_limbs; + memcpy( W1, A, AN_limbs * ciL ); + + /* W[i+1] = W[i] * W[1], i >= 2 */ + mbedtls_mpi_uint *Wprev = W1; + for( size_t i = 2; i < welem; i++ ) + { + mbedtls_mpi_uint *Wcur = Wprev + AN_limbs; + mbedtls_mpi_core_montmul( Wcur, Wprev, W1, AN_limbs, N, AN_limbs, mm, temp ); + Wprev = Wcur; + } +} + +/* Exponentiation: X := A^E mod N. + * + * A must already be in Montgomery form. + * + * As in other bignum functions, assume that AN_limbs and E_limbs are nonzero. + * + * RR must contain 2^{2*biL} mod N. + * + * The algorithm is a variant of Left-to-right k-ary exponentiation: HAC 14.82 + * (The difference is that the body in our loop processes a single bit instead + * of a full window.) + */ +void mbedtls_mpi_core_exp_mod( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *N, + size_t AN_limbs, + const mbedtls_mpi_uint *E, + size_t E_limbs, + const mbedtls_mpi_uint *RR, + mbedtls_mpi_uint *T ) +{ + const size_t wsize = exp_mod_get_window_size( E_limbs * biL ); + const size_t welem = ( (size_t) 1 ) << wsize; + + /* This is how we will use the temporary storage T, which must have space + * for table_limbs, select_limbs and (2 * AN_limbs + 1) for montmul. */ + const size_t table_limbs = welem * AN_limbs; + const size_t select_limbs = AN_limbs; + + /* Pointers to specific parts of the temporary working memory pool */ + mbedtls_mpi_uint *const Wtable = T; + mbedtls_mpi_uint *const Wselect = Wtable + table_limbs; + mbedtls_mpi_uint *const temp = Wselect + select_limbs; + + /* + * Window precomputation + */ + + const mbedtls_mpi_uint mm = mbedtls_mpi_core_montmul_init( N ); + + /* Set Wtable[i] = A^(2^i) (in Montgomery representation) */ + exp_mod_precompute_window( A, N, AN_limbs, + mm, RR, + welem, Wtable, temp ); + + /* + * Fixed window exponentiation + */ + + /* X = 1 (in Montgomery presentation) initially */ + memcpy( X, Wtable, AN_limbs * ciL ); + + /* We'll process the bits of E from most significant + * (limb_index=E_limbs-1, E_bit_index=biL-1) to least significant + * (limb_index=0, E_bit_index=0). */ + size_t E_limb_index = E_limbs; + size_t E_bit_index = 0; + /* At any given time, window contains window_bits bits from E. + * window_bits can go up to wsize. */ + size_t window_bits = 0; + mbedtls_mpi_uint window = 0; + + do + { + /* Square */ + mbedtls_mpi_core_montmul( X, X, X, AN_limbs, N, AN_limbs, mm, temp ); + + /* Move to the next bit of the exponent */ + if( E_bit_index == 0 ) + { + --E_limb_index; + E_bit_index = biL - 1; + } + else + { + --E_bit_index; + } + /* Insert next exponent bit into window */ + ++window_bits; + window <<= 1; + window |= ( E[E_limb_index] >> E_bit_index ) & 1; + + /* Clear window if it's full. Also clear the window at the end, + * when we've finished processing the exponent. */ + if( window_bits == wsize || + ( E_bit_index == 0 && E_limb_index == 0 ) ) + { + /* Select Wtable[window] without leaking window through + * memory access patterns. */ + mbedtls_mpi_core_ct_uint_table_lookup( Wselect, Wtable, + AN_limbs, welem, window ); + /* Multiply X by the selected element. */ + mbedtls_mpi_core_montmul( X, X, Wselect, AN_limbs, N, AN_limbs, mm, + temp ); + window = 0; + window_bits = 0; + } + } + while( ! ( E_bit_index == 0 && E_limb_index == 0 ) ); +} + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ + +mbedtls_mpi_uint mbedtls_mpi_core_sub_int( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + mbedtls_mpi_uint c, /* doubles as carry */ + size_t limbs ) +{ + for( size_t i = 0; i < limbs; i++ ) + { + mbedtls_mpi_uint s = A[i]; + mbedtls_mpi_uint t = s - c; + c = ( t > s ); + X[i] = t; + } + + return( c ); +} + +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ + +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_C */ diff --git a/library/bignum_core.h b/library/bignum_core.h new file mode 100644 index 0000000000..add7fee329 --- /dev/null +++ b/library/bignum_core.h @@ -0,0 +1,602 @@ +/** + * Core bignum functions + * + * This interface should only be used by the legacy bignum module (bignum.h) + * and the modular bignum modules (bignum_mod.c, bignum_mod_raw.c). All other + * modules should use the high-level modular bignum interface (bignum_mod.h) + * or the legacy bignum interface (bignum.h). + * + * This module is about processing non-negative integers with a fixed upper + * bound that's of the form 2^n-1 where n is a multiple of #biL. + * These can be thought of integers written in base 2^#biL with a fixed + * number of digits. Digits in this base are called *limbs*. + * Many operations treat these numbers as the principal representation of + * a number modulo 2^n or a smaller bound. + * + * The functions in this module obey the following conventions unless + * explicitly indicated otherwise: + * + * - **Overflow**: some functions indicate overflow from the range + * [0, 2^n-1] by returning carry parameters, while others operate + * modulo and so cannot overflow. This should be clear from the function + * documentation. + * - **Bignum parameters**: Bignums are passed as pointers to an array of + * limbs. A limb has the type #mbedtls_mpi_uint. Unless otherwise specified: + * - Bignum parameters called \p A, \p B, ... are inputs, and are + * not modified by the function. + * - For operations modulo some number, the modulus is called \p N + * and is input-only. + * - Bignum parameters called \p X, \p Y are outputs or input-output. + * The initial content of output-only parameters is ignored. + * - Some functions use different names that reflect traditional + * naming of operands of certain operations (e.g. + * divisor/dividend/quotient/remainder). + * - \p T is a temporary storage area. The initial content of such + * parameter is ignored and the final content is unspecified. + * - **Bignum sizes**: bignum sizes are always expressed in limbs. + * Most functions work on bignums of a given size and take a single + * \p limbs parameter that applies to all parameters that are limb arrays. + * All bignum sizes must be at least 1 and must be significantly less than + * #SIZE_MAX. The behavior if a size is 0 is undefined. The behavior if the + * total size of all parameters overflows #SIZE_MAX is undefined. + * - **Parameter ordering**: for bignum parameters, outputs come before inputs. + * Temporaries come last. + * - **Aliasing**: in general, output bignums may be aliased to one or more + * inputs. As an exception, parameters that are documented as a modulus value + * may not be aliased to an output. Outputs may not be aliased to one another. + * Temporaries may not be aliased to any other parameter. + * - **Overlap**: apart from aliasing of limb array pointers (where two + * arguments are equal pointers), overlap is not supported and may result + * in undefined behavior. + * - **Error handling**: This is a low-level module. Functions generally do not + * try to protect against invalid arguments such as nonsensical sizes or + * null pointers. Note that some functions that operate on bignums of + * different sizes have constraints about their size, and violating those + * constraints may lead to buffer overflows. + * - **Modular representatives**: functions that operate modulo \p N expect + * all modular inputs to be in the range [0, \p N - 1] and guarantee outputs + * in the range [0, \p N - 1]. If an input is out of range, outputs are + * fully unspecified, though bignum values out of range should not cause + * buffer overflows (beware that this is not extensively tested). + */ + +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MBEDTLS_BIGNUM_CORE_H +#define MBEDTLS_BIGNUM_CORE_H + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) +#include "mbedtls/bignum.h" +#endif + +#define ciL ( sizeof(mbedtls_mpi_uint) ) /** chars in limb */ +#define biL ( ciL << 3 ) /** bits in limb */ +#define biH ( ciL << 2 ) /** half limb size */ + +/* + * Convert between bits/chars and number of limbs + * Divide first in order to avoid potential overflows + */ +#define BITS_TO_LIMBS(i) ( (i) / biL + ( (i) % biL != 0 ) ) +#define CHARS_TO_LIMBS(i) ( (i) / ciL + ( (i) % ciL != 0 ) ) +/* Get a specific byte, without range checks. */ +#define GET_BYTE( X, i ) \ + ( ( (X)[(i) / ciL] >> ( ( (i) % ciL ) * 8 ) ) & 0xff ) + +/** Count leading zero bits in a given integer. + * + * \param a Integer to count leading zero bits. + * + * \return The number of leading zero bits in \p a. + */ +size_t mbedtls_mpi_core_clz( mbedtls_mpi_uint a ); + +/** Return the minimum number of bits required to represent the value held + * in the MPI. + * + * \note This function returns 0 if all the limbs of \p A are 0. + * + * \param[in] A The address of the MPI. + * \param A_limbs The number of limbs of \p A. + * + * \return The number of bits in \p A. + */ +size_t mbedtls_mpi_core_bitlen( const mbedtls_mpi_uint *A, size_t A_limbs ); + +/** Convert a big-endian byte array aligned to the size of mbedtls_mpi_uint + * into the storage form used by mbedtls_mpi. + * + * \param[in,out] A The address of the MPI. + * \param A_limbs The number of limbs of \p A. + */ +void mbedtls_mpi_core_bigendian_to_host( mbedtls_mpi_uint *A, + size_t A_limbs ); + +/** + * \brief Perform a safe conditional copy of an MPI which doesn't reveal + * whether assignment was done or not. + * + * \param[out] X The address of the destination MPI. + * This must be initialized. Must have enough limbs to + * store the full value of \p A. + * \param[in] A The address of the source MPI. This must be initialized. + * \param limbs The number of limbs of \p A. + * \param assign The condition deciding whether to perform the + * assignment or not. Must be either 0 or 1: + * * \c 1: Perform the assignment `X = A`. + * * \c 0: Keep the original value of \p X. + * + * \note This function avoids leaking any information about whether + * the assignment was done or not. + * + * \warning If \p assign is neither 0 nor 1, the result of this function + * is indeterminate, and the resulting value in \p X might be + * neither its original value nor the value in \p A. + */ +void mbedtls_mpi_core_cond_assign( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + size_t limbs, + unsigned char assign ); + +/** + * \brief Perform a safe conditional swap of two MPIs which doesn't reveal + * whether the swap was done or not. + * + * \param[in,out] X The address of the first MPI. + * This must be initialized. + * \param[in,out] Y The address of the second MPI. + * This must be initialized. + * \param limbs The number of limbs of \p X and \p Y. + * \param swap The condition deciding whether to perform + * the swap or not. Must be either 0 or 1: + * * \c 1: Swap the values of \p X and \p Y. + * * \c 0: Keep the original values of \p X and \p Y. + * + * \note This function avoids leaking any information about whether + * the swap was done or not. + * + * \warning If \p swap is neither 0 nor 1, the result of this function + * is indeterminate, and both \p X and \p Y might end up with + * values different to either of the original ones. + */ +void mbedtls_mpi_core_cond_swap( mbedtls_mpi_uint *X, + mbedtls_mpi_uint *Y, + size_t limbs, + unsigned char swap ); + +/** Import X from unsigned binary data, little-endian. + * + * The MPI needs to have enough limbs to store the full value (including any + * most significant zero bytes in the input). + * + * \param[out] X The address of the MPI. + * \param X_limbs The number of limbs of \p X. + * \param[in] input The input buffer to import from. + * \param input_length The length bytes of \p input. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p X isn't + * large enough to hold the value in \p input. + */ +int mbedtls_mpi_core_read_le( mbedtls_mpi_uint *X, + size_t X_limbs, + const unsigned char *input, + size_t input_length ); + +/** Import X from unsigned binary data, big-endian. + * + * The MPI needs to have enough limbs to store the full value (including any + * most significant zero bytes in the input). + * + * \param[out] X The address of the MPI. + * May only be #NULL if \X_limbs is 0 and \p input_length + * is 0. + * \param X_limbs The number of limbs of \p X. + * \param[in] input The input buffer to import from. + * May only be #NULL if \p input_length is 0. + * \param input_length The length in bytes of \p input. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p X isn't + * large enough to hold the value in \p input. + */ +int mbedtls_mpi_core_read_be( mbedtls_mpi_uint *X, + size_t X_limbs, + const unsigned char *input, + size_t input_length ); + +/** Export A into unsigned binary data, little-endian. + * + * \note If \p output is shorter than \p A the export is still successful if the + * value held in \p A fits in the buffer (that is, if enough of the most + * significant bytes of \p A are 0). + * + * \param[in] A The address of the MPI. + * \param A_limbs The number of limbs of \p A. + * \param[out] output The output buffer to export to. + * \param output_length The length in bytes of \p output. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p output isn't + * large enough to hold the value of \p A. + */ +int mbedtls_mpi_core_write_le( const mbedtls_mpi_uint *A, + size_t A_limbs, + unsigned char *output, + size_t output_length ); + +/** Export A into unsigned binary data, big-endian. + * + * \note If \p output is shorter than \p A the export is still successful if the + * value held in \p A fits in the buffer (that is, if enough of the most + * significant bytes of \p A are 0). + * + * \param[in] A The address of the MPI. + * \param A_limbs The number of limbs of \p A. + * \param[out] output The output buffer to export to. + * \param output_length The length in bytes of \p output. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p output isn't + * large enough to hold the value of \p A. + */ +int mbedtls_mpi_core_write_be( const mbedtls_mpi_uint *A, + size_t A_limbs, + unsigned char *output, + size_t output_length ); + +/** \brief Shift an MPI right in place by a number of bits. + * + * Shifting by more bits than there are bit positions + * in \p X is valid and results in setting \p X to 0. + * + * This function's execution time depends on the value + * of \p count (and of course \p limbs). + * + * \param[in,out] X The number to shift. + * \param limbs The number of limbs of \p X. This must be at least 1. + * \param count The number of bits to shift by. + */ +void mbedtls_mpi_core_shift_r( mbedtls_mpi_uint *X, size_t limbs, + size_t count ); + +/** + * \brief Add two fixed-size large unsigned integers, returning the carry. + * + * Calculates `A + B` where `A` and `B` have the same size. + * + * This function operates modulo `2^(biL*limbs)` and returns the carry + * (1 if there was a wraparound, and 0 otherwise). + * + * \p X may be aliased to \p A or \p B. + * + * \param[out] X The result of the addition. + * \param[in] A Little-endian presentation of the left operand. + * \param[in] B Little-endian presentation of the right operand. + * \param limbs Number of limbs of \p X, \p A and \p B. + * + * \return 1 if `A + B >= 2^(biL*limbs)`, 0 otherwise. + */ +mbedtls_mpi_uint mbedtls_mpi_core_add( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs ); + +/** + * \brief Conditional addition of two fixed-size large unsigned integers, + * returning the carry. + * + * Functionally equivalent to + * + * ``` + * if( cond ) + * X += A; + * return carry; + * ``` + * + * This function operates modulo `2^(biL*limbs)`. + * + * \param[in,out] X The pointer to the (little-endian) array + * representing the bignum to accumulate onto. + * \param[in] A The pointer to the (little-endian) array + * representing the bignum to conditionally add + * to \p X. This may be aliased to \p X but may not + * overlap otherwise. + * \param limbs Number of limbs of \p X and \p A. + * \param cond Condition bit dictating whether addition should + * happen or not. This must be \c 0 or \c 1. + * + * \warning If \p cond is neither 0 nor 1, the result of this function + * is unspecified, and the resulting value in \p X might be + * neither its original value nor \p X + \p A. + * + * \return 1 if `X + cond * A >= 2^(biL*limbs)`, 0 otherwise. + */ +mbedtls_mpi_uint mbedtls_mpi_core_add_if( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + size_t limbs, + unsigned cond ); + +/** + * \brief Subtract two fixed-size large unsigned integers, returning the borrow. + * + * Calculate `A - B` where \p A and \p B have the same size. + * This function operates modulo `2^(biL*limbs)` and returns the carry + * (1 if there was a wraparound, i.e. if `A < B`, and 0 otherwise). + * + * \p X may be aliased to \p A or \p B, or even both, but may not overlap + * either otherwise. + * + * \param[out] X The result of the subtraction. + * \param[in] A Little-endian presentation of left operand. + * \param[in] B Little-endian presentation of right operand. + * \param limbs Number of limbs of \p X, \p A and \p B. + * + * \return 1 if `A < B`. + * 0 if `A >= B`. + */ +mbedtls_mpi_uint mbedtls_mpi_core_sub( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs ); + +/** + * \brief Perform a fixed-size multiply accumulate operation: X += b * A + * + * \p X may be aliased to \p A (when \p X_limbs == \p A_limbs), but may not + * otherwise overlap. + * + * This function operates modulo `2^(biL*X_limbs)`. + * + * \param[in,out] X The pointer to the (little-endian) array + * representing the bignum to accumulate onto. + * \param X_limbs The number of limbs of \p X. This must be + * at least \p A_limbs. + * \param[in] A The pointer to the (little-endian) array + * representing the bignum to multiply with. + * This may be aliased to \p X but may not overlap + * otherwise. + * \param A_limbs The number of limbs of \p A. + * \param b X scalar to multiply with. + * + * \return The carry at the end of the operation. + */ +mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *X, size_t X_limbs, + const mbedtls_mpi_uint *A, size_t A_limbs, + mbedtls_mpi_uint b ); + +/** + * \brief Calculate initialisation value for fast Montgomery modular + * multiplication + * + * \param[in] N Little-endian presentation of the modulus. This must have + * at least one limb. + * + * \return The initialisation value for fast Montgomery modular multiplication + */ +mbedtls_mpi_uint mbedtls_mpi_core_montmul_init( const mbedtls_mpi_uint *N ); + +/** + * \brief Montgomery multiplication: X = A * B * R^-1 mod N (HAC 14.36) + * + * \p A and \p B must be in canonical form. That is, < \p N. + * + * \p X may be aliased to \p A or \p N, or even \p B (if \p AN_limbs == + * \p B_limbs) but may not overlap any parameters otherwise. + * + * \p A and \p B may alias each other, if \p AN_limbs == \p B_limbs. They may + * not alias \p N (since they must be in canonical form, they cannot == \p N). + * + * \param[out] X The destination MPI, as a little-endian array of + * length \p AN_limbs. + * On successful completion, X contains the result of + * the multiplication `A * B * R^-1` mod N where + * `R = 2^(biL*AN_limbs)`. + * \param[in] A Little-endian presentation of first operand. + * Must have the same number of limbs as \p N. + * \param[in] B Little-endian presentation of second operand. + * \param[in] B_limbs The number of limbs in \p B. + * Must be <= \p AN_limbs. + * \param[in] N Little-endian presentation of the modulus. + * This must be odd, and have exactly the same number + * of limbs as \p A. + * It may alias \p X, but must not alias or otherwise + * overlap any of the other parameters. + * \param[in] AN_limbs The number of limbs in \p X, \p A and \p N. + * \param mm The Montgomery constant for \p N: -N^-1 mod 2^biL. + * This can be calculated by `mbedtls_mpi_core_montmul_init()`. + * \param[in,out] T Temporary storage of size at least 2*AN_limbs+1 limbs. + * Its initial content is unused and + * its final content is indeterminate. + * It must not alias or otherwise overlap any of the + * other parameters. + */ +void mbedtls_mpi_core_montmul( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, size_t B_limbs, + const mbedtls_mpi_uint *N, size_t AN_limbs, + mbedtls_mpi_uint mm, mbedtls_mpi_uint *T ); + +/** + * \brief Calculate the square of the Montgomery constant. (Needed + * for conversion and operations in Montgomery form.) + * + * \param[out] X A pointer to the result of the calculation of + * the square of the Montgomery constant: + * 2^{2*n*biL} mod N. + * \param[in] N Little-endian presentation of the modulus, which must be odd. + * + * \return 0 if successful. + * \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if there is not enough space + * to store the value of Montgomery constant squared. + * \return #MBEDTLS_ERR_MPI_DIVISION_BY_ZERO if \p N modulus is zero. + * \return #MBEDTLS_ERR_MPI_NEGATIVE_VALUE if \p N modulus is negative. + */ +int mbedtls_mpi_core_get_mont_r2_unsafe( mbedtls_mpi *X, + const mbedtls_mpi *N ); + +#if defined(MBEDTLS_TEST_HOOKS) +/** + * Copy an MPI from a table without leaking the index. + * + * \param dest The destination buffer. This must point to a writable + * buffer of at least \p limbs limbs. + * \param table The address of the table. This must point to a readable + * array of \p count elements of \p limbs limbs each. + * \param limbs The number of limbs in each table entry. + * \param count The number of entries in \p table. + * \param index The (secret) table index to look up. This must be in the + * range `0 .. count-1`. + */ +void mbedtls_mpi_core_ct_uint_table_lookup( mbedtls_mpi_uint *dest, + const mbedtls_mpi_uint *table, + size_t limbs, + size_t count, + size_t index ); +#endif /* MBEDTLS_TEST_HOOKS */ + +/** + * \brief Fill an integer with a number of random bytes. + * + * \param X The destination MPI. + * \param X_limbs The number of limbs of \p X. + * \param bytes The number of random bytes to generate. + * \param f_rng The RNG function to use. This must not be \c NULL. + * \param p_rng The RNG parameter to be passed to \p f_rng. This may be + * \c NULL if \p f_rng doesn't need a context argument. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p X does not have + * enough room for \p bytes bytes. + * \return A negative error code on RNG failure. + * + * \note The bytes obtained from the RNG are interpreted + * as a big-endian representation of an MPI; this can + * be relevant in applications like deterministic ECDSA. + */ +int mbedtls_mpi_core_fill_random( mbedtls_mpi_uint *X, size_t X_limbs, + size_t bytes, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng ); + +/* BEGIN MERGE SLOT 1 */ + +/** + * \brief Returns the number of limbs of working memory required for + * a call to `mbedtls_mpi_core_exp_mod()`. + * + * \param AN_limbs The number of limbs in the input `A` and the modulus `N` + * (they must be the same size) that will be given to + * `mbedtls_mpi_core_exp_mod()`. + * \param E_limbs The number of limbs in the exponent `E` that will be given + * to `mbedtls_mpi_core_exp_mod()`. + * + * \return The number of limbs of working memory required by + * `mbedtls_mpi_core_exp_mod()`. + */ +size_t mbedtls_mpi_core_exp_mod_working_limbs( size_t AN_limbs, size_t E_limbs ); + +/** + * \brief Perform a modular exponentiation with secret exponent: + * X = A^E mod N, where \p A is already in Montgomery form. + * + * \param[out] X The destination MPI, as a little endian array of length + * \p AN_limbs. + * \param[in] A The base MPI, as a little endian array of length \p AN_limbs. + * Must be in Montgomery form. + * \param[in] N The modulus, as a little endian array of length \p AN_limbs. + * \param AN_limbs The number of limbs in \p X, \p A, \p N, \p RR. + * \param[in] E The exponent, as a little endian array of length \p E_limbs. + * \param E_limbs The number of limbs in \p E. + * \param[in] RR The precomputed residue of 2^{2*biL} modulo N, as a little + * endian array of length \p AN_limbs. + * \param[in,out] T Temporary storage of at least the number of limbs returned + * by `mbedtls_mpi_core_exp_mod_working_limbs()`. + * Its initial content is unused and its final content is + * indeterminate. + * It must not alias or otherwise overlap any of the other + * parameters. + * It is up to the caller to zeroize \p T when it is no + * longer needed, and before freeing it if it was dynamically + * allocated. + */ +void mbedtls_mpi_core_exp_mod( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *N, size_t AN_limbs, + const mbedtls_mpi_uint *E, size_t E_limbs, + const mbedtls_mpi_uint *RR, + mbedtls_mpi_uint *T ); + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ + +/** + * \brief Subtract unsigned integer from known-size large unsigned integers. + * Return the borrow. + * + * \param[out] X The result of the subtraction. + * \param[in] A The left operand. + * \param b The unsigned scalar to subtract. + * \param limbs Number of limbs of \p X and \p A. + * + * \return 1 if `A < b`. + * 0 if `A >= b`. + */ +mbedtls_mpi_uint mbedtls_mpi_core_sub_int( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + mbedtls_mpi_uint b, + size_t limbs ); + +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ + +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_CORE_H */ diff --git a/library/bignum_internal.h b/library/bignum_internal.h deleted file mode 100644 index 8677dcf1f0..0000000000 --- a/library/bignum_internal.h +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Internal bignum functions - * - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MBEDTLS_BIGNUM_INTERNAL_H -#define MBEDTLS_BIGNUM_INTERNAL_H - -#include "common.h" - -#if defined(MBEDTLS_BIGNUM_C) -#include "mbedtls/bignum.h" -#endif - -/** Perform a known-size multiply accumulate operation - * - * Add \p b * \p s to \p d. - * - * \param[in,out] d The pointer to the (little-endian) array - * representing the bignum to accumulate onto. - * \param d_len The number of limbs of \p d. This must be - * at least \p s_len. - * \param[in] s The pointer to the (little-endian) array - * representing the bignum to multiply with. - * This may be the same as \p d. Otherwise, - * it must be disjoint from \p d. - * \param s_len The number of limbs of \p s. - * \param b A scalar to multiply with. - * - * \return c The carry at the end of the operation. - */ -mbedtls_mpi_uint mbedtls_mpi_core_mla( mbedtls_mpi_uint *d, size_t d_len , - const mbedtls_mpi_uint *s, size_t s_len, - mbedtls_mpi_uint b ); - -#endif /* MBEDTLS_BIGNUM_INTERNAL_H */ diff --git a/library/bignum_mod.c b/library/bignum_mod.c new file mode 100644 index 0000000000..7cf2fb22c9 --- /dev/null +++ b/library/bignum_mod.c @@ -0,0 +1,288 @@ +/** + * Modular bignum functions + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) + +#include + +#include "mbedtls/platform_util.h" +#include "mbedtls/error.h" +#include "mbedtls/bignum.h" + +#include "mbedtls/platform.h" + +#include "bignum_core.h" +#include "bignum_mod.h" +#include "bignum_mod_raw.h" +#include "constant_time_internal.h" + +int mbedtls_mpi_mod_residue_setup( mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + mbedtls_mpi_uint *p, + size_t p_limbs ) +{ + if( p_limbs != m->limbs || !mbedtls_mpi_core_lt_ct( p, m->p, m->limbs ) ) + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + + r->limbs = m->limbs; + r->p = p; + + return( 0 ); +} + +void mbedtls_mpi_mod_residue_release( mbedtls_mpi_mod_residue *r ) +{ + if( r == NULL ) + return; + + r->limbs = 0; + r->p = NULL; +} + +void mbedtls_mpi_mod_modulus_init( mbedtls_mpi_mod_modulus *m ) +{ + if( m == NULL ) + return; + + m->p = NULL; + m->limbs = 0; + m->bits = 0; + m->int_rep = MBEDTLS_MPI_MOD_REP_INVALID; +} + +void mbedtls_mpi_mod_modulus_free( mbedtls_mpi_mod_modulus *m ) +{ + if( m == NULL ) + return; + + switch( m->int_rep ) + { + case MBEDTLS_MPI_MOD_REP_MONTGOMERY: + if (m->rep.mont.rr != NULL) + { + mbedtls_platform_zeroize( (mbedtls_mpi_uint *) m->rep.mont.rr, + m->limbs ); + mbedtls_free( (mbedtls_mpi_uint *)m->rep.mont.rr ); + m->rep.mont.rr = NULL; + } + m->rep.mont.mm = 0; + break; + case MBEDTLS_MPI_MOD_REP_OPT_RED: + mbedtls_free( m->rep.ored ); + break; + case MBEDTLS_MPI_MOD_REP_INVALID: + break; + } + + m->p = NULL; + m->limbs = 0; + m->bits = 0; + m->int_rep = MBEDTLS_MPI_MOD_REP_INVALID; +} + +static int set_mont_const_square( const mbedtls_mpi_uint **X, + const mbedtls_mpi_uint *A, + size_t limbs ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_mpi N; + mbedtls_mpi RR; + *X = NULL; + + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &RR ); + + if( A == NULL || limbs == 0 || limbs >= ( MBEDTLS_MPI_MAX_LIMBS / 2 ) - 2 ) + goto cleanup; + + if( mbedtls_mpi_grow( &N, limbs ) ) + goto cleanup; + + memcpy( N.p, A, sizeof(mbedtls_mpi_uint) * limbs ); + + ret = mbedtls_mpi_core_get_mont_r2_unsafe(&RR, &N); + + if( ret == 0 ) + { + *X = RR.p; + RR.p = NULL; + } + +cleanup: + mbedtls_mpi_free(&N); + mbedtls_mpi_free(&RR); + ret = ( ret != 0 ) ? MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED : 0; + return( ret ); +} + +int mbedtls_mpi_mod_modulus_setup( mbedtls_mpi_mod_modulus *m, + const mbedtls_mpi_uint *p, + size_t p_limbs, + mbedtls_mpi_mod_rep_selector int_rep ) +{ + int ret = 0; + + m->p = p; + m->limbs = p_limbs; + m->bits = mbedtls_mpi_core_bitlen( p, p_limbs ); + + switch( int_rep ) + { + case MBEDTLS_MPI_MOD_REP_MONTGOMERY: + m->int_rep = int_rep; + m->rep.mont.mm = mbedtls_mpi_core_montmul_init( m->p ); + ret = set_mont_const_square( &m->rep.mont.rr, m->p, m->limbs ); + break; + case MBEDTLS_MPI_MOD_REP_OPT_RED: + m->int_rep = int_rep; + m->rep.ored = NULL; + break; + default: + ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA; + goto exit; + } + +exit: + + if( ret != 0 ) + { + mbedtls_mpi_mod_modulus_free( m ); + } + + return( ret ); +} + +/* BEGIN MERGE SLOT 1 */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ +int mbedtls_mpi_mod_sub( mbedtls_mpi_mod_residue *X, + const mbedtls_mpi_mod_residue *A, + const mbedtls_mpi_mod_residue *B, + const mbedtls_mpi_mod_modulus *N ) +{ + if( X->limbs != N->limbs || A->limbs != N->limbs || B->limbs != N->limbs ) + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + + mbedtls_mpi_mod_raw_sub( X->p, A->p, B->p, N ); + + return( 0 ); +} +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +int mbedtls_mpi_mod_read( mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + const unsigned char *buf, + size_t buflen, + mbedtls_mpi_mod_ext_rep ext_rep ) +{ + int ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA; + + /* Do our best to check if r and m have been set up */ + if( r->limbs == 0 || m->limbs == 0 ) + goto cleanup; + if( r->limbs != m->limbs ) + goto cleanup; + + ret = mbedtls_mpi_mod_raw_read( r->p, m, buf, buflen, ext_rep ); + if( ret != 0 ) + goto cleanup; + + r->limbs = m->limbs; + + if( m->int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY ) + ret = mbedtls_mpi_mod_raw_to_mont_rep( r->p, m ); + +cleanup: + return ( ret ); +} + +int mbedtls_mpi_mod_write( const mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + unsigned char *buf, + size_t buflen, + mbedtls_mpi_mod_ext_rep ext_rep ) +{ + int ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA; + + /* Do our best to check if r and m have been set up */ + if( r->limbs == 0 || m->limbs == 0 ) + goto cleanup; + if( r->limbs != m->limbs ) + goto cleanup; + + if( m->int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY ) + { + ret = mbedtls_mpi_mod_raw_from_mont_rep( r->p, m ); + if( ret != 0 ) + goto cleanup; + } + + ret = mbedtls_mpi_mod_raw_write( r->p, m, buf, buflen, ext_rep ); + + if( m->int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY ) + { + /* If this fails, the value of r is corrupted and we want to return + * this error (as opposed to the error code from the write above) to + * let the caller know. If it succeeds, we want to return the error + * code from write above. */ + int conv_ret = mbedtls_mpi_mod_raw_to_mont_rep( r->p, m ); + if( ret == 0 ) + ret = conv_ret; + } + +cleanup: + + return ( ret ); +} +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_C */ diff --git a/library/bignum_mod.h b/library/bignum_mod.h new file mode 100644 index 0000000000..0a8f4d3d0c --- /dev/null +++ b/library/bignum_mod.h @@ -0,0 +1,290 @@ +/** + * Modular bignum functions + * + * This module implements operations on integers modulo some fixed modulus. + */ + +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MBEDTLS_BIGNUM_MOD_H +#define MBEDTLS_BIGNUM_MOD_H + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) +#include "mbedtls/bignum.h" +#endif + +/* Skip 1 as it is slightly easier to accidentally pass to functions. */ +typedef enum +{ + MBEDTLS_MPI_MOD_REP_INVALID = 0, + MBEDTLS_MPI_MOD_REP_MONTGOMERY = 2, + MBEDTLS_MPI_MOD_REP_OPT_RED +} mbedtls_mpi_mod_rep_selector; + +/* Make mbedtls_mpi_mod_rep_selector and mbedtls_mpi_mod_ext_rep disjoint to + * make it easier to catch when they are accidentally swapped. */ +typedef enum +{ + MBEDTLS_MPI_MOD_EXT_REP_INVALID = 0, + MBEDTLS_MPI_MOD_EXT_REP_LE = 8, + MBEDTLS_MPI_MOD_EXT_REP_BE +} mbedtls_mpi_mod_ext_rep; + +typedef struct +{ + mbedtls_mpi_uint *p; + size_t limbs; +} mbedtls_mpi_mod_residue; + +typedef struct { + mbedtls_mpi_uint const *rr; /* The residue for 2^{2*n*biL} mod N */ + mbedtls_mpi_uint mm; /* Montgomery const for -N^{-1} mod 2^{ciL} */ +} mbedtls_mpi_mont_struct; + +typedef void *mbedtls_mpi_opt_red_struct; + +typedef struct { + const mbedtls_mpi_uint *p; + size_t limbs; // number of limbs + size_t bits; // bitlen of p + mbedtls_mpi_mod_rep_selector int_rep; // selector to signal the active member of the union + union rep + { + mbedtls_mpi_mont_struct mont; + mbedtls_mpi_opt_red_struct ored; + } rep; +} mbedtls_mpi_mod_modulus; + +/** Setup a residue structure. + * + * The residue will be set up with the buffer \p p and modulus \p m. + * + * The memory pointed to by \p p will be used by the resulting residue structure. + * The value at the pointed-to memory will be the initial value of \p r and must + * hold a value that is less than the modulus. This value will be used as-is + * and interpreted according to the value of the `m->int_rep` field. + * + * The modulus \p m will be the modulus associated with \p r. The residue \p r + * should only be used in operations where the modulus is \p m. + * + * \param[out] r The address of the residue to setup. + * \param[in] m The address of the modulus related to \p r. + * \param[in] p The address of the limb array containing the value of \p r. + * The memory pointed to by \p p will be used by \p r and must + * not be modified in any way until after + * mbedtls_mpi_mod_residue_release() is called. The data + * pointed to by \p p must be less than the modulus (the value + * pointed to by `m->p`) and already in the representation + * indicated by `m->int_rep`. + * \param p_limbs The number of limbs of \p p. Must be the same as the number + * of limbs in the modulus \p m. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p p_limbs is less than the + * limbs in \p m or if \p p is not less than \p m. + */ +int mbedtls_mpi_mod_residue_setup( mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + mbedtls_mpi_uint *p, + size_t p_limbs ); + +/** Unbind elements of a residue structure. + * + * This function removes the reference to the limb array that was passed to + * mbedtls_mpi_mod_residue_setup() to make it safe to free or use again. + * + * This function invalidates \p r and it must not be used until after + * mbedtls_mpi_mod_residue_setup() is called on it again. + * + * \param[out] r The address of residue to release. + */ +void mbedtls_mpi_mod_residue_release( mbedtls_mpi_mod_residue *r ); + +/** Initialize a modulus structure. + * + * \param[out] m The address of the modulus structure to initialize. + */ +void mbedtls_mpi_mod_modulus_init( mbedtls_mpi_mod_modulus *m ); + +/** Setup a modulus structure. + * + * \param[out] m The address of the modulus structure to populate. + * \param[in] p The address of the limb array storing the value of \p m. + * The memory pointed to by \p p will be used by \p m and must + * not be modified in any way until after + * mbedtls_mpi_mod_modulus_free() is called. + * \param p_limbs The number of limbs of \p p. + * \param int_rep The internal representation to be used for residues + * associated with \p m (see #mbedtls_mpi_mod_rep_selector). + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p int_rep is invalid. + */ +int mbedtls_mpi_mod_modulus_setup( mbedtls_mpi_mod_modulus *m, + const mbedtls_mpi_uint *p, + size_t p_limbs, + mbedtls_mpi_mod_rep_selector int_rep ); + +/** Free elements of a modulus structure. + * + * This function frees any memory allocated by mbedtls_mpi_mod_modulus_setup(). + * + * \warning This function does not free the limb array passed to + * mbedtls_mpi_mod_modulus_setup() only removes the reference to it, + * making it safe to free or to use it again. + * + * \param[in,out] m The address of the modulus structure to free. + */ +void mbedtls_mpi_mod_modulus_free( mbedtls_mpi_mod_modulus *m ); + +/* BEGIN MERGE SLOT 1 */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ +/** + * \brief Perform a fixed-size modular subtraction. + * + * Calculate `A - B modulo N`. + * + * \p A, \p B and \p X must all have the same number of limbs as \p N. + * + * \p X may be aliased to \p A or \p B, or even both, but may not overlap + * either otherwise. + * + * \note This function does not check that \p A or \p B are in canonical + * form (that is, are < \p N) - that will have been done by + * mbedtls_mpi_mod_residue_setup(). + * + * \param[out] X The address of the result MPI. Must be initialized. + * Must have the same number of limbs as the modulus \p N. + * \param[in] A The address of the first MPI. + * \param[in] B The address of the second MPI. + * \param[in] N The address of the modulus. Used to perform a modulo + * operation on the result of the subtraction. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if the given MPIs do not + * have the correct number of limbs. + */ +int mbedtls_mpi_mod_sub( mbedtls_mpi_mod_residue *X, + const mbedtls_mpi_mod_residue *A, + const mbedtls_mpi_mod_residue *B, + const mbedtls_mpi_mod_modulus *N ); +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +/** Read a residue from a byte buffer. + * + * The residue will be automatically converted to the internal representation + * based on the value of the `m->int_rep` field. + * + * The modulus \p m will be the modulus associated with \p r. The residue \p r + * should only be used in operations where the modulus is \p m or a modulus + * equivalent to \p m (in the sense that all their fields or memory pointed by + * their fields hold the same value). + * + * \param[out] r The address of the residue. It must have exactly the same + * number of limbs as the modulus \p m. + * \param[in] m The address of the modulus. + * \param[in] buf The input buffer to import from. + * \param buflen The length in bytes of \p buf. + * \param ext_rep The endianness of the number in the input buffer. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p r isn't + * large enough to hold the value in \p buf. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p ext_rep + * is invalid or the value in the buffer is not less than \p m. + */ +int mbedtls_mpi_mod_read( mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + const unsigned char *buf, + size_t buflen, + mbedtls_mpi_mod_ext_rep ext_rep ); + +/** Write a residue into a byte buffer. + * + * The modulus \p m must be the modulus associated with \p r (see + * mbedtls_mpi_mod_residue_setup() and mbedtls_mpi_mod_read()). + * + * The residue will be automatically converted from the internal representation + * based on the value of `m->int_rep` field. + * + * \warning If the buffer is smaller than `m->bits`, the number of + * leading zeroes is leaked through timing. If \p r is + * secret, the caller must ensure that \p buflen is at least + * (`m->bits`+7)/8. + * + * \param[in] r The address of the residue. It must have the same number of + * limbs as the modulus \p m. (\p r is an input parameter, but + * its value will be modified during execution and restored + * before the function returns.) + * \param[in] m The address of the modulus associated with \r. + * \param[out] buf The output buffer to export to. + * \param buflen The length in bytes of \p buf. + * \param ext_rep The endianness in which the number should be written into + * the output buffer. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p buf isn't + * large enough to hold the value of \p r (without leading + * zeroes). + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if \p ext_rep is invalid. + * \return #MBEDTLS_ERR_MPI_ALLOC_FAILED if couldn't allocate enough + * memory for conversion. Can occur only for moduli with + * MBEDTLS_MPI_MOD_REP_MONTGOMERY. + */ +int mbedtls_mpi_mod_write( const mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + unsigned char *buf, + size_t buflen, + mbedtls_mpi_mod_ext_rep ext_rep ); +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_MOD_H */ diff --git a/library/bignum_mod_raw.c b/library/bignum_mod_raw.c new file mode 100644 index 0000000000..22e56b7e63 --- /dev/null +++ b/library/bignum_mod_raw.c @@ -0,0 +1,199 @@ +/* + * Low-level modular bignum functions + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) + +#include + +#include "mbedtls/error.h" +#include "mbedtls/platform_util.h" + +#include "mbedtls/platform.h" + +#include "bignum_core.h" +#include "bignum_mod_raw.h" +#include "bignum_mod.h" +#include "constant_time_internal.h" + +void mbedtls_mpi_mod_raw_cond_assign( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_mod_modulus *N, + unsigned char assign ) +{ + mbedtls_mpi_core_cond_assign( X, A, N->limbs, assign ); +} + +void mbedtls_mpi_mod_raw_cond_swap( mbedtls_mpi_uint *X, + mbedtls_mpi_uint *Y, + const mbedtls_mpi_mod_modulus *N, + unsigned char swap ) +{ + mbedtls_mpi_core_cond_swap( X, Y, N->limbs, swap ); +} + +int mbedtls_mpi_mod_raw_read( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m, + const unsigned char *input, + size_t input_length, + mbedtls_mpi_mod_ext_rep ext_rep ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + switch( ext_rep ) + { + case MBEDTLS_MPI_MOD_EXT_REP_LE: + ret = mbedtls_mpi_core_read_le( X, m->limbs, + input, input_length ); + break; + case MBEDTLS_MPI_MOD_EXT_REP_BE: + ret = mbedtls_mpi_core_read_be( X, m->limbs, + input, input_length ); + break; + default: + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + } + + if( ret != 0 ) + goto cleanup; + + if( !mbedtls_mpi_core_lt_ct( X, m->p, m->limbs ) ) + { + ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA; + goto cleanup; + } + +cleanup: + + return( ret ); +} + +int mbedtls_mpi_mod_raw_write( const mbedtls_mpi_uint *A, + const mbedtls_mpi_mod_modulus *m, + unsigned char *output, + size_t output_length, + mbedtls_mpi_mod_ext_rep ext_rep ) +{ + switch( ext_rep ) + { + case MBEDTLS_MPI_MOD_EXT_REP_LE: + return( mbedtls_mpi_core_write_le( A, m->limbs, + output, output_length ) ); + case MBEDTLS_MPI_MOD_EXT_REP_BE: + return( mbedtls_mpi_core_write_be( A, m->limbs, + output, output_length ) ); + default: + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + } +} + +/* BEGIN MERGE SLOT 1 */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +void mbedtls_mpi_mod_raw_sub( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + const mbedtls_mpi_mod_modulus *N ) +{ + mbedtls_mpi_uint c = mbedtls_mpi_core_sub( X, A, B, N->limbs ); + + (void) mbedtls_mpi_core_add_if( X, N->p, N->limbs, (unsigned) c ); +} + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ + +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ +void mbedtls_mpi_mod_raw_add( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + const mbedtls_mpi_mod_modulus *N ) +{ + mbedtls_mpi_uint carry, borrow; + carry = mbedtls_mpi_core_add( X, A, B, N->limbs ); + borrow = mbedtls_mpi_core_sub( X, X, N->p, N->limbs ); + (void) mbedtls_mpi_core_add_if( X, N->p, N->limbs, (unsigned) ( carry ^ borrow ) ); +} +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +int mbedtls_mpi_mod_raw_to_mont_rep( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m ) +{ + mbedtls_mpi_uint *T; + const size_t t_limbs = m->limbs * 2 + 1; + + if( ( T = (mbedtls_mpi_uint *) mbedtls_calloc( t_limbs, ciL ) ) == NULL ) + return( MBEDTLS_ERR_MPI_ALLOC_FAILED ); + + mbedtls_mpi_core_montmul( X, X, m->rep.mont.rr, m->limbs, m->p, m->limbs, + m->rep.mont.mm, T ); + + mbedtls_platform_zeroize( T, t_limbs * ciL ); + mbedtls_free( T ); + return( 0 ); +} + +int mbedtls_mpi_mod_raw_from_mont_rep( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m ) +{ + const mbedtls_mpi_uint one = 1; + const size_t t_limbs = m->limbs * 2 + 1; + mbedtls_mpi_uint *T; + + if( ( T = (mbedtls_mpi_uint *) mbedtls_calloc( t_limbs, ciL ) ) == NULL ) + return( MBEDTLS_ERR_MPI_ALLOC_FAILED ); + + mbedtls_mpi_core_montmul( X, X, &one, 1, m->p, m->limbs, + m->rep.mont.mm, T ); + + mbedtls_platform_zeroize( T, t_limbs * ciL ); + mbedtls_free( T ); + return( 0 ); +} +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_C */ diff --git a/library/bignum_mod_raw.h b/library/bignum_mod_raw.h new file mode 100644 index 0000000000..d7b6dd115e --- /dev/null +++ b/library/bignum_mod_raw.h @@ -0,0 +1,250 @@ +/** + * Low-level modular bignum functions + * + * This interface should only be used by the higher-level modular bignum + * module (bignum_mod.c) and the ECP module (ecp.c, ecp_curves.c). All other + * modules should use the high-level modular bignum interface (bignum_mod.h) + * or the legacy bignum interface (bignum.h). + * + * This is a low-level interface to operations on integers modulo which + * has no protection against passing invalid arguments such as arrays of + * the wrong size. The functions in bignum_mod.h provide a higher-level + * interface that includes protections against accidental misuse, at the + * expense of code size and sometimes more cumbersome memory management. + */ + +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MBEDTLS_BIGNUM_MOD_RAW_H +#define MBEDTLS_BIGNUM_MOD_RAW_H + +#include "common.h" + +#if defined(MBEDTLS_BIGNUM_C) +#include "mbedtls/bignum.h" +#endif + +#include "bignum_mod.h" + +/** + * \brief Perform a safe conditional copy of an MPI which doesn't reveal + * whether the assignment was done or not. + * + * The size to copy is determined by \p N. + * + * \param[out] X The address of the destination MPI. + * This must be initialized. Must have enough limbs to + * store the full value of \p A. + * \param[in] A The address of the source MPI. This must be initialized. + * \param[in] N The address of the modulus related to \p X and \p A. + * \param assign The condition deciding whether to perform the + * assignment or not. Must be either 0 or 1: + * * \c 1: Perform the assignment `X = A`. + * * \c 0: Keep the original value of \p X. + * + * \note This function avoids leaking any information about whether + * the assignment was done or not. + * + * \warning If \p assign is neither 0 nor 1, the result of this function + * is indeterminate, and the resulting value in \p X might be + * neither its original value nor the value in \p A. + */ +void mbedtls_mpi_mod_raw_cond_assign( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_mod_modulus *N, + unsigned char assign ); + +/** + * \brief Perform a safe conditional swap of two MPIs which doesn't reveal + * whether the swap was done or not. + * + * The size to swap is determined by \p N. + * + * \param[in,out] X The address of the first MPI. This must be initialized. + * \param[in,out] Y The address of the second MPI. This must be initialized. + * \param[in] N The address of the modulus related to \p X and \p Y. + * \param swap The condition deciding whether to perform + * the swap or not. Must be either 0 or 1: + * * \c 1: Swap the values of \p X and \p Y. + * * \c 0: Keep the original values of \p X and \p Y. + * + * \note This function avoids leaking any information about whether + * the swap was done or not. + * + * \warning If \p swap is neither 0 nor 1, the result of this function + * is indeterminate, and both \p X and \p Y might end up with + * values different to either of the original ones. + */ +void mbedtls_mpi_mod_raw_cond_swap( mbedtls_mpi_uint *X, + mbedtls_mpi_uint *Y, + const mbedtls_mpi_mod_modulus *N, + unsigned char swap ); + +/** Import X from unsigned binary data. + * + * The MPI needs to have enough limbs to store the full value (including any + * most significant zero bytes in the input). + * + * \param[out] X The address of the MPI. The size is determined by \p m. + * (In particular, it must have at least as many limbs as + * the modulus \p m.) + * \param[in] m The address of the modulus related to \p X. + * \param[in] input The input buffer to import from. + * \param input_length The length in bytes of \p input. + * \param ext_rep The endianness of the number in the input buffer. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p X isn't + * large enough to hold the value in \p input. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if the external representation + * of \p m is invalid or \p X is not less than \p m. + */ +int mbedtls_mpi_mod_raw_read( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m, + const unsigned char *input, + size_t input_length, + mbedtls_mpi_mod_ext_rep ext_rep ); + +/** Export A into unsigned binary data. + * + * \param[in] A The address of the MPI. The size is determined by \p m. + * (In particular, it must have at least as many limbs as + * the modulus \p m.) + * \param[in] m The address of the modulus related to \p A. + * \param[out] output The output buffer to export to. + * \param output_length The length in bytes of \p output. + * \param ext_rep The endianness in which the number should be written into the output buffer. + * + * \return \c 0 if successful. + * \return #MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL if \p output isn't + * large enough to hold the value of \p A. + * \return #MBEDTLS_ERR_MPI_BAD_INPUT_DATA if the external representation + * of \p m is invalid. + */ +int mbedtls_mpi_mod_raw_write( const mbedtls_mpi_uint *A, + const mbedtls_mpi_mod_modulus *m, + unsigned char *output, + size_t output_length, + mbedtls_mpi_mod_ext_rep ext_rep ); + +/* BEGIN MERGE SLOT 1 */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/** \brief Subtract two MPIs, returning the residue modulo the specified + * modulus. + * + * The size of the operation is determined by \p N. \p A and \p B must have + * the same number of limbs as \p N. + * + * \p X may be aliased to \p A or \p B, or even both, but may not overlap + * either otherwise. + * + * \param[out] X The address of the result MPI. + * This must be initialized. Must have enough limbs to + * store the full value of the result. + * \param[in] A The address of the first MPI. This must be initialized. + * \param[in] B The address of the second MPI. This must be initialized. + * \param[in] N The address of the modulus. Used to perform a modulo + * operation on the result of the subtraction. + */ +void mbedtls_mpi_mod_raw_sub( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + const mbedtls_mpi_mod_modulus *N ); + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ + +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ +/** + * \brief Perform a known-size modular addition. + * + * Calculate `A + B modulo N`. + * + * The number of limbs in each operand, and the result, is given by the + * modulus \p N. + * + * \p X may be aliased to \p A or \p B, or even both, but may not overlap + * either otherwise. + * + * \param[out] X The result of the modular addition. + * \param[in] A Little-endian presentation of the left operand. This + * must be smaller than \p N. + * \param[in] B Little-endian presentation of the right operand. This + * must be smaller than \p N. + * \param[in] N The address of the modulus. + */ +void mbedtls_mpi_mod_raw_add( mbedtls_mpi_uint *X, + const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + const mbedtls_mpi_mod_modulus *N ); +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +/** Convert an MPI into Montgomery form. + * + * \param X The address of the MPI. + * Must have the same number of limbs as \p m. + * \param m The address of the modulus, which gives the size of + * the base `R` = 2^(biL*m->limbs). + * + * \return \c 0 if successful. + */ +int mbedtls_mpi_mod_raw_to_mont_rep( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m ); + +/** Convert an MPI back from Montgomery representation. + * + * \param X The address of the MPI. + * Must have the same number of limbs as \p m. + * \param m The address of the modulus, which gives the size of + * the base `R`= 2^(biL*m->limbs). + * + * \return \c 0 if successful. + */ +int mbedtls_mpi_mod_raw_from_mont_rep( mbedtls_mpi_uint *X, + const mbedtls_mpi_mod_modulus *m ); +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ + +#endif /* MBEDTLS_BIGNUM_MOD_RAW_H */ diff --git a/library/bn_mul.h b/library/bn_mul.h index 20e0e53dc0..6b8106f9fe 100644 --- a/library/bn_mul.h +++ b/library/bn_mul.h @@ -90,13 +90,29 @@ #if defined(__GNUC__) && \ ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) +/* + * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a + * fixed reserved register when building as PIC, leading to errors + * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm' + * + * This is fixed by an improved register allocator in GCC 5+. From the + * release notes: + * Register allocation improvements: Reuse of the PIC hard register, + * instead of using a fixed register, was implemented on x86/x86-64 + * targets. This improves generated PIC code performance as more hard + * registers can be used. + */ +#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) +#define MULADDC_CANNOT_USE_EBX +#endif + /* * Disable use of the i386 assembly code below if option -O0, to disable all * compiler optimisations, is passed, detected with __OPTIMIZE__ * This is done as the number of registers used in the assembly code doesn't * work with the -O0 option. */ -#if defined(__i386__) && defined(__OPTIMIZE__) +#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) #define MULADDC_X1_INIT \ { mbedtls_mpi_uint t; \ @@ -566,10 +582,20 @@ "andi r7, r6, 0xffff \n\t" \ "bsrli r6, r6, 16 \n\t" -#define MULADDC_X1_CORE \ +#if(__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#define MULADDC_LHUI \ + "lhui r9, r3, 0 \n\t" \ + "addi r3, r3, 2 \n\t" \ + "lhui r8, r3, 0 \n\t" +#else +#define MULADDC_LHUI \ "lhui r8, r3, 0 \n\t" \ "addi r3, r3, 2 \n\t" \ - "lhui r9, r3, 0 \n\t" \ + "lhui r9, r3, 0 \n\t" +#endif + +#define MULADDC_X1_CORE \ + MULADDC_LHUI \ "addi r3, r3, 2 \n\t" \ "mul r10, r9, r6 \n\t" \ "mul r11, r8, r7 \n\t" \ diff --git a/library/camellia.c b/library/camellia.c index 29d730ab53..5dd6c56157 100644 --- a/library/camellia.c +++ b/library/camellia.c @@ -32,23 +32,10 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_CAMELLIA_ALT) -/* Parameter validation macros */ -#define CAMELLIA_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA ) -#define CAMELLIA_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - static const unsigned char SIGMA_CHARS[6][8] = { { 0xa0, 0x9e, 0x66, 0x7f, 0x3b, 0xcc, 0x90, 0x8b }, @@ -298,7 +285,6 @@ static void camellia_feistel( const uint32_t x[2], const uint32_t k[2], void mbedtls_camellia_init( mbedtls_camellia_context *ctx ) { - CAMELLIA_VALIDATE( ctx != NULL ); memset( ctx, 0, sizeof( mbedtls_camellia_context ) ); } @@ -325,9 +311,6 @@ int mbedtls_camellia_setkey_enc( mbedtls_camellia_context *ctx, uint32_t KC[16]; uint32_t TK[20]; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( key != NULL ); - RK = ctx->rk; memset( t, 0, 64 ); @@ -431,8 +414,6 @@ int mbedtls_camellia_setkey_dec( mbedtls_camellia_context *ctx, mbedtls_camellia_context cty; uint32_t *RK; uint32_t *SK; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( key != NULL ); mbedtls_camellia_init( &cty ); @@ -480,11 +461,8 @@ int mbedtls_camellia_crypt_ecb( mbedtls_camellia_context *ctx, { int NR; uint32_t *RK, X[4]; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || - mode == MBEDTLS_CAMELLIA_DECRYPT ); - CAMELLIA_VALIDATE_RET( input != NULL ); - CAMELLIA_VALIDATE_RET( output != NULL ); + if( mode != MBEDTLS_CAMELLIA_ENCRYPT && mode != MBEDTLS_CAMELLIA_DECRYPT ) + return MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA; ( (void) mode ); @@ -550,12 +528,8 @@ int mbedtls_camellia_crypt_cbc( mbedtls_camellia_context *ctx, { int i; unsigned char temp[16]; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || - mode == MBEDTLS_CAMELLIA_DECRYPT ); - CAMELLIA_VALIDATE_RET( iv != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); + if( mode != MBEDTLS_CAMELLIA_ENCRYPT && mode != MBEDTLS_CAMELLIA_DECRYPT ) + return MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA; if( length % 16 ) return( MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH ); @@ -611,13 +585,8 @@ int mbedtls_camellia_crypt_cfb128( mbedtls_camellia_context *ctx, { int c; size_t n; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( mode == MBEDTLS_CAMELLIA_ENCRYPT || - mode == MBEDTLS_CAMELLIA_DECRYPT ); - CAMELLIA_VALIDATE_RET( iv != NULL ); - CAMELLIA_VALIDATE_RET( iv_off != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); + if( mode != MBEDTLS_CAMELLIA_ENCRYPT && mode != MBEDTLS_CAMELLIA_DECRYPT ) + return MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA; n = *iv_off; if( n >= 16 ) @@ -670,12 +639,6 @@ int mbedtls_camellia_crypt_ctr( mbedtls_camellia_context *ctx, { int c, i; size_t n; - CAMELLIA_VALIDATE_RET( ctx != NULL ); - CAMELLIA_VALIDATE_RET( nonce_counter != NULL ); - CAMELLIA_VALIDATE_RET( stream_block != NULL ); - CAMELLIA_VALIDATE_RET( nc_off != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || input != NULL ); - CAMELLIA_VALIDATE_RET( length == 0 || output != NULL ); n = *nc_off; if( n >= 16 ) diff --git a/library/ccm.c b/library/ccm.c index 3edfba3669..675783e4ca 100644 --- a/library/ccm.c +++ b/library/ccm.c @@ -144,7 +144,7 @@ static int ccm_calculate_first_block_if_ready(mbedtls_ccm_context *ctx) unsigned char i; size_t len_left, olen; - /* length calulcation can be done only after both + /* length calculation can be done only after both * mbedtls_ccm_starts() and mbedtls_ccm_set_lengths() have been executed */ if( !(ctx->state & CCM_STATE__STARTED) || !(ctx->state & CCM_STATE__LENGTHS_SET) ) diff --git a/library/chacha20.c b/library/chacha20.c index 658f046901..85d7461aac 100644 --- a/library/chacha20.c +++ b/library/chacha20.c @@ -32,28 +32,10 @@ #include #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_CHACHA20_ALT) -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - -/* Parameter validation macros */ -#define CHACHA20_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA ) -#define CHACHA20_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #define ROTL32( value, amount ) \ ( (uint32_t) ( (value) << (amount) ) | ( (value) >> ( 32 - (amount) ) ) ) @@ -172,8 +154,6 @@ static void chacha20_block( const uint32_t initial_state[16], void mbedtls_chacha20_init( mbedtls_chacha20_context *ctx ) { - CHACHA20_VALIDATE( ctx != NULL ); - mbedtls_platform_zeroize( ctx->state, sizeof( ctx->state ) ); mbedtls_platform_zeroize( ctx->keystream8, sizeof( ctx->keystream8 ) ); @@ -192,9 +172,6 @@ void mbedtls_chacha20_free( mbedtls_chacha20_context *ctx ) int mbedtls_chacha20_setkey( mbedtls_chacha20_context *ctx, const unsigned char key[32] ) { - CHACHA20_VALIDATE_RET( ctx != NULL ); - CHACHA20_VALIDATE_RET( key != NULL ); - /* ChaCha20 constants - the string "expand 32-byte k" */ ctx->state[0] = 0x61707865; ctx->state[1] = 0x3320646e; @@ -218,9 +195,6 @@ int mbedtls_chacha20_starts( mbedtls_chacha20_context* ctx, const unsigned char nonce[12], uint32_t counter ) { - CHACHA20_VALIDATE_RET( ctx != NULL ); - CHACHA20_VALIDATE_RET( nonce != NULL ); - /* Counter */ ctx->state[12] = counter; @@ -245,10 +219,6 @@ int mbedtls_chacha20_update( mbedtls_chacha20_context *ctx, size_t offset = 0U; size_t i; - CHACHA20_VALIDATE_RET( ctx != NULL ); - CHACHA20_VALIDATE_RET( size == 0 || input != NULL ); - CHACHA20_VALIDATE_RET( size == 0 || output != NULL ); - /* Use leftover keystream bytes, if available */ while( size > 0U && ctx->keystream_bytes_used < CHACHA20_BLOCK_SIZE_BYTES ) { @@ -312,11 +282,6 @@ int mbedtls_chacha20_crypt( const unsigned char key[32], mbedtls_chacha20_context ctx; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - CHACHA20_VALIDATE_RET( key != NULL ); - CHACHA20_VALIDATE_RET( nonce != NULL ); - CHACHA20_VALIDATE_RET( data_len == 0 || input != NULL ); - CHACHA20_VALIDATE_RET( data_len == 0 || output != NULL ); - mbedtls_chacha20_init( &ctx ); ret = mbedtls_chacha20_setkey( &ctx, key ); diff --git a/library/chachapoly.c b/library/chachapoly.c index dc75b2030a..e283853a40 100644 --- a/library/chachapoly.c +++ b/library/chachapoly.c @@ -28,23 +28,10 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_CHACHAPOLY_ALT) -/* Parameter validation macros */ -#define CHACHAPOLY_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA ) -#define CHACHAPOLY_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #define CHACHAPOLY_STATE_INIT ( 0 ) #define CHACHAPOLY_STATE_AAD ( 1 ) #define CHACHAPOLY_STATE_CIPHERTEXT ( 2 ) /* Encrypting or decrypting */ @@ -91,8 +78,6 @@ static int chachapoly_pad_ciphertext( mbedtls_chachapoly_context *ctx ) void mbedtls_chachapoly_init( mbedtls_chachapoly_context *ctx ) { - CHACHAPOLY_VALIDATE( ctx != NULL ); - mbedtls_chacha20_init( &ctx->chacha20_ctx ); mbedtls_poly1305_init( &ctx->poly1305_ctx ); ctx->aad_len = 0U; @@ -118,8 +103,6 @@ int mbedtls_chachapoly_setkey( mbedtls_chachapoly_context *ctx, const unsigned char key[32] ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( key != NULL ); ret = mbedtls_chacha20_setkey( &ctx->chacha20_ctx, key ); @@ -132,8 +115,6 @@ int mbedtls_chachapoly_starts( mbedtls_chachapoly_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char poly1305_key[64]; - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( nonce != NULL ); /* Set counter = 0, will be update to 1 when generating Poly1305 key */ ret = mbedtls_chacha20_starts( &ctx->chacha20_ctx, nonce, 0U ); @@ -170,9 +151,6 @@ int mbedtls_chachapoly_update_aad( mbedtls_chachapoly_context *ctx, const unsigned char *aad, size_t aad_len ) { - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( aad_len == 0 || aad != NULL ); - if( ctx->state != CHACHAPOLY_STATE_AAD ) return( MBEDTLS_ERR_CHACHAPOLY_BAD_STATE ); @@ -187,9 +165,6 @@ int mbedtls_chachapoly_update( mbedtls_chachapoly_context *ctx, unsigned char *output ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( len == 0 || input != NULL ); - CHACHAPOLY_VALIDATE_RET( len == 0 || output != NULL ); if( ( ctx->state != CHACHAPOLY_STATE_AAD ) && ( ctx->state != CHACHAPOLY_STATE_CIPHERTEXT ) ) @@ -237,8 +212,6 @@ int mbedtls_chachapoly_finish( mbedtls_chachapoly_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char len_block[16]; - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( mac != NULL ); if( ctx->state == CHACHAPOLY_STATE_INIT ) { @@ -314,13 +287,6 @@ int mbedtls_chachapoly_encrypt_and_tag( mbedtls_chachapoly_context *ctx, unsigned char *output, unsigned char tag[16] ) { - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( nonce != NULL ); - CHACHAPOLY_VALIDATE_RET( tag != NULL ); - CHACHAPOLY_VALIDATE_RET( aad_len == 0 || aad != NULL ); - CHACHAPOLY_VALIDATE_RET( length == 0 || input != NULL ); - CHACHAPOLY_VALIDATE_RET( length == 0 || output != NULL ); - return( chachapoly_crypt_and_tag( ctx, MBEDTLS_CHACHAPOLY_ENCRYPT, length, nonce, aad, aad_len, input, output, tag ) ); @@ -339,12 +305,6 @@ int mbedtls_chachapoly_auth_decrypt( mbedtls_chachapoly_context *ctx, unsigned char check_tag[16]; size_t i; int diff; - CHACHAPOLY_VALIDATE_RET( ctx != NULL ); - CHACHAPOLY_VALIDATE_RET( nonce != NULL ); - CHACHAPOLY_VALIDATE_RET( tag != NULL ); - CHACHAPOLY_VALIDATE_RET( aad_len == 0 || aad != NULL ); - CHACHAPOLY_VALIDATE_RET( length == 0 || input != NULL ); - CHACHAPOLY_VALIDATE_RET( length == 0 || output != NULL ); if( ( ret = chachapoly_crypt_and_tag( ctx, MBEDTLS_CHACHAPOLY_DECRYPT, length, nonce, diff --git a/library/check_crypto_config.h b/library/check_crypto_config.h index d7ad16a617..e60e666162 100644 --- a/library/check_crypto_config.h +++ b/library/check_crypto_config.h @@ -88,4 +88,14 @@ #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR defined, but not all prerequisites" #endif +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_USE_PSA_CRYPTO) && \ + !( defined(PSA_WANT_ALG_SHA_1) || defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_512) ) +#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites" +#endif + +#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) && \ + !defined(PSA_WANT_ALG_SHA_256) +#error "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS defined, but not all prerequisites" +#endif + #endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */ diff --git a/library/cipher.c b/library/cipher.c index 0bac4ee993..dffe3adca4 100644 --- a/library/cipher.c +++ b/library/cipher.c @@ -63,17 +63,7 @@ #include "mbedtls/nist_kw.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif - -#define CIPHER_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ) -#define CIPHER_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) static int supported_init = 0; @@ -143,7 +133,6 @@ const mbedtls_cipher_info_t *mbedtls_cipher_info_from_values( void mbedtls_cipher_init( mbedtls_cipher_context_t *ctx ) { - CIPHER_VALIDATE( ctx != NULL ); memset( ctx, 0, sizeof( mbedtls_cipher_context_t ) ); } @@ -193,7 +182,6 @@ void mbedtls_cipher_free( mbedtls_cipher_context_t *ctx ) int mbedtls_cipher_setup( mbedtls_cipher_context_t *ctx, const mbedtls_cipher_info_t *cipher_info ) { - CIPHER_VALIDATE_RET( ctx != NULL ); if( cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -257,10 +245,8 @@ int mbedtls_cipher_setkey( mbedtls_cipher_context_t *ctx, int key_bitlen, const mbedtls_operation_t operation ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( key != NULL ); - CIPHER_VALIDATE_RET( operation == MBEDTLS_ENCRYPT || - operation == MBEDTLS_DECRYPT ); + if( operation != MBEDTLS_ENCRYPT && operation != MBEDTLS_DECRYPT ) + return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA; if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -356,8 +342,6 @@ int mbedtls_cipher_set_iv( mbedtls_cipher_context_t *ctx, { size_t actual_iv_size; - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); #if defined(MBEDTLS_USE_PSA_CRYPTO) @@ -453,7 +437,6 @@ int mbedtls_cipher_set_iv( mbedtls_cipher_context_t *ctx, int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx ) { - CIPHER_VALIDATE_RET( ctx != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -475,8 +458,6 @@ int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx ) int mbedtls_cipher_update_ad( mbedtls_cipher_context_t *ctx, const unsigned char *ad, size_t ad_len ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -519,7 +500,7 @@ int mbedtls_cipher_update_ad( mbedtls_cipher_context_t *ctx, } #endif - return( 0 ); + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); } #endif /* MBEDTLS_GCM_C || MBEDTLS_CHACHAPOLY_C */ @@ -529,10 +510,6 @@ int mbedtls_cipher_update( mbedtls_cipher_context_t *ctx, const unsigned char *i int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t block_size; - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); - CIPHER_VALIDATE_RET( output != NULL ); - CIPHER_VALIDATE_RET( olen != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -952,9 +929,6 @@ static int get_no_padding( unsigned char *input, size_t input_len, int mbedtls_cipher_finish( mbedtls_cipher_context_t *ctx, unsigned char *output, size_t *olen ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( output != NULL ); - CIPHER_VALIDATE_RET( olen != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -1054,8 +1028,6 @@ int mbedtls_cipher_finish( mbedtls_cipher_context_t *ctx, int mbedtls_cipher_set_padding_mode( mbedtls_cipher_context_t *ctx, mbedtls_cipher_padding_t mode ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - if( NULL == ctx->cipher_info || MBEDTLS_MODE_CBC != ctx->cipher_info->mode ) { return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -1117,8 +1089,6 @@ int mbedtls_cipher_set_padding_mode( mbedtls_cipher_context_t *ctx, int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx, unsigned char *tag, size_t tag_len ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( tag_len == 0 || tag != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -1159,7 +1129,7 @@ int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx, } #endif - return( 0 ); + return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE ); } int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx, @@ -1168,8 +1138,6 @@ int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx, unsigned char check_tag[16]; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( tag_len == 0 || tag != NULL ); if( ctx->cipher_info == NULL ) return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); @@ -1188,11 +1156,8 @@ int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx, } #endif /* MBEDTLS_USE_PSA_CRYPTO */ - /* Status to return on a non-authenticated algorithm. It would make sense - * to return MBEDTLS_ERR_CIPHER_INVALID_CONTEXT or perhaps - * MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, but at the time I write this our - * unit tests assume 0. */ - ret = 0; + /* Status to return on a non-authenticated algorithm. */ + ret = MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; #if defined(MBEDTLS_GCM_C) if( MBEDTLS_MODE_GCM == ctx->cipher_info->mode ) @@ -1261,12 +1226,6 @@ int mbedtls_cipher_crypt( mbedtls_cipher_context_t *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t finish_olen; - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); - CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); - CIPHER_VALIDATE_RET( output != NULL ); - CIPHER_VALIDATE_RET( olen != NULL ); - #if defined(MBEDTLS_USE_PSA_CRYPTO) if( ctx->psa_enabled == 1 ) { @@ -1542,13 +1501,6 @@ int mbedtls_cipher_auth_encrypt_ext( mbedtls_cipher_context_t *ctx, unsigned char *output, size_t output_len, size_t *olen, size_t tag_len ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); - CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); - CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); - CIPHER_VALIDATE_RET( output != NULL ); - CIPHER_VALIDATE_RET( olen != NULL ); - #if defined(MBEDTLS_NIST_KW_C) if( #if defined(MBEDTLS_USE_PSA_CRYPTO) @@ -1598,13 +1550,6 @@ int mbedtls_cipher_auth_decrypt_ext( mbedtls_cipher_context_t *ctx, unsigned char *output, size_t output_len, size_t *olen, size_t tag_len ) { - CIPHER_VALIDATE_RET( ctx != NULL ); - CIPHER_VALIDATE_RET( iv_len == 0 || iv != NULL ); - CIPHER_VALIDATE_RET( ad_len == 0 || ad != NULL ); - CIPHER_VALIDATE_RET( ilen == 0 || input != NULL ); - CIPHER_VALIDATE_RET( output_len == 0 || output != NULL ); - CIPHER_VALIDATE_RET( olen != NULL ); - #if defined(MBEDTLS_NIST_KW_C) if( #if defined(MBEDTLS_USE_PSA_CRYPTO) diff --git a/library/cipher_wrap.c b/library/cipher_wrap.c index 7da7d9d522..8e395b3014 100644 --- a/library/cipher_wrap.c +++ b/library/cipher_wrap.c @@ -68,13 +68,7 @@ #include #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #if defined(MBEDTLS_GCM_C) /* shared by all GCM ciphers */ diff --git a/library/common.h b/library/common.h index a630fcc456..25d5294e1a 100644 --- a/library/common.h +++ b/library/common.h @@ -25,6 +25,7 @@ #include "mbedtls/build_info.h" +#include #include /** Helper to define a function as static except when building invasive tests. @@ -68,6 +69,44 @@ extern void (*mbedtls_test_hook_test_fail)( const char * test, int line, const c */ #define MBEDTLS_ALLOW_PRIVATE_ACCESS +/** Return an offset into a buffer. + * + * This is just the addition of an offset to a pointer, except that this + * function also accepts an offset of 0 into a buffer whose pointer is null. + * (`p + n` has undefined behavior when `p` is null, even when `n == 0`. + * A null pointer is a valid buffer pointer when the size is 0, for example + * as the result of `malloc(0)` on some platforms.) + * + * \param p Pointer to a buffer of at least n bytes. + * This may be \p NULL if \p n is zero. + * \param n An offset in bytes. + * \return Pointer to offset \p n in the buffer \p p. + * Note that this is only a valid pointer if the size of the + * buffer is at least \p n + 1. + */ +static inline unsigned char *mbedtls_buffer_offset( + unsigned char *p, size_t n ) +{ + return( p == NULL ? NULL : p + n ); +} + +/** Return an offset into a read-only buffer. + * + * Similar to mbedtls_buffer_offset(), but for const pointers. + * + * \param p Pointer to a buffer of at least n bytes. + * This may be \p NULL if \p n is zero. + * \param n An offset in bytes. + * \return Pointer to offset \p n in the buffer \p p. + * Note that this is only a valid pointer if the size of the + * buffer is at least \p n + 1. + */ +static inline const unsigned char *mbedtls_buffer_offset_const( + const unsigned char *p, size_t n ) +{ + return( p == NULL ? NULL : p + n ); +} + /** Byte Reading Macros * * Given a multi-byte integer \p x, MBEDTLS_BYTE_n retrieves the n-th diff --git a/library/constant_time.c b/library/constant_time.c index 47e9b02d6b..510304e32f 100644 --- a/library/constant_time.c +++ b/library/constant_time.c @@ -30,6 +30,7 @@ #if defined(MBEDTLS_BIGNUM_C) #include "mbedtls/bignum.h" +#include "bignum_core.h" #endif #if defined(MBEDTLS_SSL_TLS_C) @@ -81,7 +82,7 @@ unsigned mbedtls_ct_uint_mask( unsigned value ) #endif } -#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) size_t mbedtls_ct_size_mask( size_t value ) { @@ -97,7 +98,7 @@ size_t mbedtls_ct_size_mask( size_t value ) #endif } -#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */ +#endif /* MBEDTLS_SSL_SOME_SUITES_USE_MAC */ #if defined(MBEDTLS_BIGNUM_C) @@ -272,7 +273,7 @@ unsigned mbedtls_ct_uint_if( unsigned condition, * \note if1 and if0 must be either 1 or -1, otherwise the result * is undefined. * - * \param condition Condition to test. + * \param condition Condition to test; must be either 0 or 1. * \param if1 The first sign; must be either +1 or -1. * \param if0 The second sign; must be either +1 or -1. * @@ -404,7 +405,7 @@ static void mbedtls_ct_mem_move_to_left( void *start, #endif /* MBEDTLS_PKCS1_V15 && MBEDTLS_RSA_C && ! MBEDTLS_RSA_ALT */ -#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) void mbedtls_ct_memcpy_if_eq( unsigned char *dest, const unsigned char *src, @@ -654,7 +655,7 @@ int mbedtls_ct_hmac( mbedtls_md_context_t *ctx, } #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */ +#endif /* MBEDTLS_SSL_SOME_SUITES_USE_MAC */ #if defined(MBEDTLS_BIGNUM_C) @@ -678,21 +679,19 @@ int mbedtls_mpi_safe_cond_assign( mbedtls_mpi *X, unsigned char assign ) { int ret = 0; - size_t i; - mbedtls_mpi_uint limb_mask; MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( Y != NULL ); /* all-bits 1 if assign is 1, all-bits 0 if assign is 0 */ - limb_mask = mbedtls_ct_mpi_uint_mask( assign );; + mbedtls_mpi_uint limb_mask = mbedtls_ct_mpi_uint_mask( assign ); MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, Y->n ) ); X->s = mbedtls_ct_cond_select_sign( assign, Y->s, X->s ); - mbedtls_ct_mpi_uint_cond_assign( Y->n, X->p, Y->p, assign ); + mbedtls_mpi_core_cond_assign( X->p, Y->p, Y->n, assign ); - for( i = Y->n; i < X->n; i++ ) + for( size_t i = Y->n; i < X->n; i++ ) X->p[i] &= ~limb_mask; cleanup: @@ -709,19 +708,14 @@ int mbedtls_mpi_safe_cond_swap( mbedtls_mpi *X, mbedtls_mpi *Y, unsigned char swap ) { - int ret, s; - size_t i; - mbedtls_mpi_uint limb_mask; - mbedtls_mpi_uint tmp; + int ret = 0; + int s; MPI_VALIDATE_RET( X != NULL ); MPI_VALIDATE_RET( Y != NULL ); if( X == Y ) return( 0 ); - /* all-bits 1 if swap is 1, all-bits 0 if swap is 0 */ - limb_mask = mbedtls_ct_mpi_uint_mask( swap ); - MBEDTLS_MPI_CHK( mbedtls_mpi_grow( X, Y->n ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_grow( Y, X->n ) ); @@ -729,15 +723,53 @@ int mbedtls_mpi_safe_cond_swap( mbedtls_mpi *X, X->s = mbedtls_ct_cond_select_sign( swap, Y->s, X->s ); Y->s = mbedtls_ct_cond_select_sign( swap, s, Y->s ); + mbedtls_mpi_core_cond_swap( X->p, Y->p, X->n, swap ); + +cleanup: + return( ret ); +} + +/* + * Compare unsigned values in constant time + */ +unsigned mbedtls_mpi_core_lt_ct( const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs ) +{ + unsigned ret, cond, done; + + /* The value of any of these variables is either 0 or 1 for the rest of + * their scope. */ + ret = cond = done = 0; - for( i = 0; i < X->n; i++ ) + for( size_t i = limbs; i > 0; i-- ) { - tmp = X->p[i]; - X->p[i] = ( X->p[i] & ~limb_mask ) | ( Y->p[i] & limb_mask ); - Y->p[i] = ( Y->p[i] & ~limb_mask ) | ( tmp & limb_mask ); + /* + * If B[i - 1] < A[i - 1] then A < B is false and the result must + * remain 0. + * + * Again even if we can make a decision, we just mark the result and + * the fact that we are done and continue looping. + */ + cond = mbedtls_ct_mpi_uint_lt( B[i - 1], A[i - 1] ); + done |= cond; + + /* + * If A[i - 1] < B[i - 1] then A < B is true. + * + * Again even if we can make a decision, we just mark the result and + * the fact that we are done and continue looping. + */ + cond = mbedtls_ct_mpi_uint_lt( A[i - 1], B[i - 1] ); + ret |= cond & ( 1 - done ); + done |= cond; } -cleanup: + /* + * If all the limbs were equal, then the numbers are equal, A < B is false + * and leaving the result 0 is correct. + */ + return( ret ); } diff --git a/library/constant_time_internal.h b/library/constant_time_internal.h index 9466bc3789..1e4a3ab0be 100644 --- a/library/constant_time_internal.h +++ b/library/constant_time_internal.h @@ -46,7 +46,7 @@ */ unsigned mbedtls_ct_uint_mask( unsigned value ); -#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) /** Turn a value into a mask: * - if \p value == 0, return the all-bits 0 mask, aka 0 @@ -61,7 +61,7 @@ unsigned mbedtls_ct_uint_mask( unsigned value ); */ size_t mbedtls_ct_size_mask( size_t value ); -#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */ +#endif /* MBEDTLS_SSL_SOME_SUITES_USE_MAC */ #if defined(MBEDTLS_BIGNUM_C) @@ -129,6 +129,24 @@ unsigned mbedtls_ct_size_bool_eq( size_t x, unsigned mbedtls_ct_mpi_uint_lt( const mbedtls_mpi_uint x, const mbedtls_mpi_uint y ); +/** + * \brief Check if one unsigned MPI is less than another in constant + * time. + * + * \param A The left-hand MPI. This must point to an array of limbs + * with the same allocated length as \p B. + * \param B The right-hand MPI. This must point to an array of limbs + * with the same allocated length as \p A. + * \param limbs The number of limbs in \p A and \p B. + * This must not be 0. + * + * \return The result of the comparison: + * \c 1 if \p A is less than \p B. + * \c 0 if \p A is greater than or equal to \p B. + */ +unsigned mbedtls_mpi_core_lt_ct( const mbedtls_mpi_uint *A, + const mbedtls_mpi_uint *B, + size_t limbs); #endif /* MBEDTLS_BIGNUM_C */ /** Choose between two integer values without branches. @@ -196,7 +214,7 @@ signed char mbedtls_ct_base64_dec_value( unsigned char c ); #endif /* MBEDTLS_BASE64_C */ -#if defined(MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC) +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) /** Conditional memcpy without branches. * @@ -304,7 +322,7 @@ int mbedtls_ct_hmac( mbedtls_md_context_t *ctx, unsigned char *output ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif /* MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC */ +#endif /* MBEDTLS_SSL_SOME_SUITES_USE_MAC */ #if defined(MBEDTLS_PKCS1_V15) && defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_RSA_ALT) diff --git a/library/ctr_drbg.c b/library/ctr_drbg.c index 43f490e831..71c48afd28 100644 --- a/library/ctr_drbg.c +++ b/library/ctr_drbg.c @@ -36,14 +36,7 @@ #include #endif -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ /* * CTR_DRBG context initialization @@ -51,6 +44,7 @@ void mbedtls_ctr_drbg_init( mbedtls_ctr_drbg_context *ctx ) { memset( ctx, 0, sizeof( mbedtls_ctr_drbg_context ) ); + mbedtls_aes_init( &ctx->aes_ctx ); /* Indicate that the entropy nonce length is not set explicitly. * See mbedtls_ctr_drbg_set_nonce_len(). */ ctx->reseed_counter = -1; @@ -448,8 +442,6 @@ int mbedtls_ctr_drbg_seed( mbedtls_ctr_drbg_context *ctx, mbedtls_mutex_init( &ctx->mutex ); #endif - mbedtls_aes_init( &ctx->aes_ctx ); - ctx->f_entropy = f_entropy; ctx->p_entropy = p_entropy; diff --git a/library/debug.c b/library/debug.c index fa60d13f30..78ce9cedc6 100644 --- a/library/debug.c +++ b/library/debug.c @@ -21,16 +21,7 @@ #if defined(MBEDTLS_DEBUG_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_time_t time_t -#define mbedtls_snprintf snprintf -#define mbedtls_vsnprintf vsnprintf -#endif #include "mbedtls/debug.h" #include "mbedtls/error.h" @@ -39,11 +30,6 @@ #include #include -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #define DEBUG_BUF_SIZE 512 static int debug_threshold = 0; @@ -121,7 +107,7 @@ void mbedtls_debug_print_ret( const mbedtls_ssl_context *ssl, int level, /* * With non-blocking I/O and examples that just retry immediately, * the logs would be quickly flooded with WANT_READ, so ignore that. - * Don't ignore WANT_WRITE however, since is is usually rare. + * Don't ignore WANT_WRITE however, since it is usually rare. */ if( ret == MBEDTLS_ERR_SSL_WANT_READ ) return; diff --git a/library/des.c b/library/des.c index 91d22b5d90..65f5681cf1 100644 --- a/library/des.c +++ b/library/des.c @@ -33,14 +33,7 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_DES_ALT) diff --git a/library/dhm.c b/library/dhm.c index 1e95bdab03..6ee5402428 100644 --- a/library/dhm.c +++ b/library/dhm.c @@ -43,23 +43,10 @@ #include "mbedtls/asn1.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #if !defined(MBEDTLS_DHM_ALT) -#define DHM_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_DHM_BAD_INPUT_DATA ) -#define DHM_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - /* * helper to validate the mbedtls_mpi size and import it */ @@ -120,7 +107,6 @@ static int dhm_check_range( const mbedtls_mpi *param, const mbedtls_mpi *P ) void mbedtls_dhm_init( mbedtls_dhm_context *ctx ) { - DHM_VALIDATE( ctx != NULL ); memset( ctx, 0, sizeof( mbedtls_dhm_context ) ); } @@ -173,9 +159,6 @@ int mbedtls_dhm_read_params( mbedtls_dhm_context *ctx, const unsigned char *end ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( p != NULL && *p != NULL ); - DHM_VALIDATE_RET( end != NULL ); if( ( ret = dhm_read_bignum( &ctx->P, p, end ) ) != 0 || ( ret = dhm_read_bignum( &ctx->G, p, end ) ) != 0 || @@ -252,10 +235,6 @@ int mbedtls_dhm_make_params( mbedtls_dhm_context *ctx, int x_size, int ret; size_t n1, n2, n3; unsigned char *p; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( output != NULL ); - DHM_VALIDATE_RET( olen != NULL ); - DHM_VALIDATE_RET( f_rng != NULL ); ret = dhm_make_common( ctx, x_size, f_rng, p_rng ); if( ret != 0 ) @@ -300,9 +279,6 @@ int mbedtls_dhm_set_group( mbedtls_dhm_context *ctx, const mbedtls_mpi *G ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( P != NULL ); - DHM_VALIDATE_RET( G != NULL ); if( ( ret = mbedtls_mpi_copy( &ctx->P, P ) ) != 0 || ( ret = mbedtls_mpi_copy( &ctx->G, G ) ) != 0 ) @@ -320,8 +296,6 @@ int mbedtls_dhm_read_public( mbedtls_dhm_context *ctx, const unsigned char *input, size_t ilen ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( input != NULL ); if( ilen < 1 || ilen > mbedtls_dhm_get_len( ctx ) ) return( MBEDTLS_ERR_DHM_BAD_INPUT_DATA ); @@ -341,9 +315,6 @@ int mbedtls_dhm_make_public( mbedtls_dhm_context *ctx, int x_size, void *p_rng ) { int ret; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( output != NULL ); - DHM_VALIDATE_RET( f_rng != NULL ); if( olen < 1 || olen > mbedtls_dhm_get_len( ctx ) ) return( MBEDTLS_ERR_DHM_BAD_INPUT_DATA ); @@ -440,9 +411,6 @@ int mbedtls_dhm_calc_secret( mbedtls_dhm_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_mpi GYb; - DHM_VALIDATE_RET( ctx != NULL ); - DHM_VALIDATE_RET( output != NULL ); - DHM_VALIDATE_RET( olen != NULL ); if( f_rng == NULL ) return( MBEDTLS_ERR_DHM_BAD_INPUT_DATA ); @@ -518,9 +486,6 @@ int mbedtls_dhm_parse_dhm( mbedtls_dhm_context *dhm, const unsigned char *dhmin, mbedtls_pem_context pem; #endif /* MBEDTLS_PEM_PARSE_C */ - DHM_VALIDATE_RET( dhm != NULL ); - DHM_VALIDATE_RET( dhmin != NULL ); - #if defined(MBEDTLS_PEM_PARSE_C) mbedtls_pem_init( &pem ); @@ -667,8 +632,6 @@ int mbedtls_dhm_parse_dhmfile( mbedtls_dhm_context *dhm, const char *path ) int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t n; unsigned char *buf; - DHM_VALIDATE_RET( dhm != NULL ); - DHM_VALIDATE_RET( path != NULL ); if( ( ret = load_file( path, &buf, &n ) ) != 0 ) return( ret ); diff --git a/library/ecdh.c b/library/ecdh.c index cc1340c923..c9c2e06bd1 100644 --- a/library/ecdh.c +++ b/library/ecdh.c @@ -34,12 +34,6 @@ #include -/* Parameter validation macros based on platform_util.h */ -#define ECDH_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ECP_BAD_INPUT_DATA ) -#define ECDH_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT) typedef mbedtls_ecdh_context mbedtls_ecdh_context_mbed; #endif @@ -77,10 +71,12 @@ static int ecdh_gen_public_restartable( mbedtls_ecp_group *grp, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - /* If multiplication is in progress, we already generated a privkey */ + int restarting = 0; #if defined(MBEDTLS_ECP_RESTARTABLE) - if( rs_ctx == NULL || rs_ctx->rsm == NULL ) + restarting = ( rs_ctx != NULL && rs_ctx->rsm != NULL ); #endif + /* If multiplication is in progress, we already generated a privkey */ + if( !restarting ) MBEDTLS_MPI_CHK( mbedtls_ecp_gen_privkey( grp, d, f_rng, p_rng ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_mul_restartable( grp, Q, d, &grp->G, @@ -97,10 +93,6 @@ int mbedtls_ecdh_gen_public( mbedtls_ecp_group *grp, mbedtls_mpi *d, mbedtls_ecp int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECDH_VALIDATE_RET( grp != NULL ); - ECDH_VALIDATE_RET( d != NULL ); - ECDH_VALIDATE_RET( Q != NULL ); - ECDH_VALIDATE_RET( f_rng != NULL ); return( ecdh_gen_public_restartable( grp, d, Q, f_rng, p_rng, NULL ) ); } #endif /* !MBEDTLS_ECDH_GEN_PUBLIC_ALT */ @@ -146,10 +138,6 @@ int mbedtls_ecdh_compute_shared( mbedtls_ecp_group *grp, mbedtls_mpi *z, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECDH_VALIDATE_RET( grp != NULL ); - ECDH_VALIDATE_RET( Q != NULL ); - ECDH_VALIDATE_RET( d != NULL ); - ECDH_VALIDATE_RET( z != NULL ); return( ecdh_compute_shared_restartable( grp, z, Q, d, f_rng, p_rng, NULL ) ); } @@ -173,8 +161,6 @@ static void ecdh_init_internal( mbedtls_ecdh_context_mbed *ctx ) */ void mbedtls_ecdh_init( mbedtls_ecdh_context *ctx ) { - ECDH_VALIDATE( ctx != NULL ); - #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT) ecdh_init_internal( ctx ); mbedtls_ecp_point_init( &ctx->Vi ); @@ -210,8 +196,6 @@ static int ecdh_setup_internal( mbedtls_ecdh_context_mbed *ctx, */ int mbedtls_ecdh_setup( mbedtls_ecdh_context *ctx, mbedtls_ecp_group_id grp_id ) { - ECDH_VALIDATE_RET( ctx != NULL ); - #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT) return( ecdh_setup_internal( ctx, grp_id ) ); #else @@ -253,8 +237,6 @@ static void ecdh_free_internal( mbedtls_ecdh_context_mbed *ctx ) */ void mbedtls_ecdh_enable_restart( mbedtls_ecdh_context *ctx ) { - ECDH_VALIDATE( ctx != NULL ); - ctx->restart_enabled = 1; } #endif @@ -357,11 +339,6 @@ int mbedtls_ecdh_make_params( mbedtls_ecdh_context *ctx, size_t *olen, void *p_rng ) { int restart_enabled = 0; - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( olen != NULL ); - ECDH_VALIDATE_RET( buf != NULL ); - ECDH_VALIDATE_RET( f_rng != NULL ); - #if defined(MBEDTLS_ECP_RESTARTABLE) restart_enabled = ctx->restart_enabled; #else @@ -411,11 +388,6 @@ int mbedtls_ecdh_read_params( mbedtls_ecdh_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_ecp_group_id grp_id; - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( buf != NULL ); - ECDH_VALIDATE_RET( *buf != NULL ); - ECDH_VALIDATE_RET( end != NULL ); - if( ( ret = mbedtls_ecp_tls_read_group_id( &grp_id, buf, end - *buf ) ) != 0 ) return( ret ); @@ -471,10 +443,8 @@ int mbedtls_ecdh_get_params( mbedtls_ecdh_context *ctx, mbedtls_ecdh_side side ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( key != NULL ); - ECDH_VALIDATE_RET( side == MBEDTLS_ECDH_OURS || - side == MBEDTLS_ECDH_THEIRS ); + if( side != MBEDTLS_ECDH_OURS && side != MBEDTLS_ECDH_THEIRS ) + return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); if( mbedtls_ecdh_grp_id( ctx ) == MBEDTLS_ECP_DP_NONE ) { @@ -563,11 +533,6 @@ int mbedtls_ecdh_make_public( mbedtls_ecdh_context *ctx, size_t *olen, void *p_rng ) { int restart_enabled = 0; - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( olen != NULL ); - ECDH_VALIDATE_RET( buf != NULL ); - ECDH_VALIDATE_RET( f_rng != NULL ); - #if defined(MBEDTLS_ECP_RESTARTABLE) restart_enabled = ctx->restart_enabled; #endif @@ -616,9 +581,6 @@ static int ecdh_read_public_internal( mbedtls_ecdh_context_mbed *ctx, int mbedtls_ecdh_read_public( mbedtls_ecdh_context *ctx, const unsigned char *buf, size_t blen ) { - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( buf != NULL ); - #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT) return( ecdh_read_public_internal( ctx, buf, blen ) ); #else @@ -697,10 +659,6 @@ int mbedtls_ecdh_calc_secret( mbedtls_ecdh_context *ctx, size_t *olen, void *p_rng ) { int restart_enabled = 0; - ECDH_VALIDATE_RET( ctx != NULL ); - ECDH_VALIDATE_RET( olen != NULL ); - ECDH_VALIDATE_RET( buf != NULL ); - #if defined(MBEDTLS_ECP_RESTARTABLE) restart_enabled = ctx->restart_enabled; #endif diff --git a/library/ecdsa.c b/library/ecdsa.c index 0b612ce8af..c58e33155f 100644 --- a/library/ecdsa.c +++ b/library/ecdsa.c @@ -36,23 +36,11 @@ #include "mbedtls/hmac_drbg.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/platform_util.h" #include "mbedtls/error.h" -/* Parameter validation macros based on platform_util.h */ -#define ECDSA_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ECP_BAD_INPUT_DATA ) -#define ECDSA_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #if defined(MBEDTLS_ECP_RESTARTABLE) /* @@ -404,13 +392,6 @@ int mbedtls_ecdsa_sign( mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECDSA_VALIDATE_RET( grp != NULL ); - ECDSA_VALIDATE_RET( r != NULL ); - ECDSA_VALIDATE_RET( s != NULL ); - ECDSA_VALIDATE_RET( d != NULL ); - ECDSA_VALIDATE_RET( f_rng != NULL ); - ECDSA_VALIDATE_RET( buf != NULL || blen == 0 ); - /* Use the same RNG for both blinding and ephemeral key generation */ return( ecdsa_sign_restartable( grp, r, s, d, buf, blen, f_rng, p_rng, f_rng, p_rng, NULL ) ); @@ -503,13 +484,6 @@ int mbedtls_ecdsa_sign_det_ext( mbedtls_ecp_group *grp, mbedtls_mpi *r, size_t), void *p_rng_blind ) { - ECDSA_VALIDATE_RET( grp != NULL ); - ECDSA_VALIDATE_RET( r != NULL ); - ECDSA_VALIDATE_RET( s != NULL ); - ECDSA_VALIDATE_RET( d != NULL ); - ECDSA_VALIDATE_RET( buf != NULL || blen == 0 ); - ECDSA_VALIDATE_RET( f_rng_blind != NULL ); - return( ecdsa_sign_det_restartable( grp, r, s, d, buf, blen, md_alg, f_rng_blind, p_rng_blind, NULL ) ); } @@ -634,12 +608,6 @@ int mbedtls_ecdsa_verify( mbedtls_ecp_group *grp, const mbedtls_mpi *r, const mbedtls_mpi *s) { - ECDSA_VALIDATE_RET( grp != NULL ); - ECDSA_VALIDATE_RET( Q != NULL ); - ECDSA_VALIDATE_RET( r != NULL ); - ECDSA_VALIDATE_RET( s != NULL ); - ECDSA_VALIDATE_RET( buf != NULL || blen == 0 ); - return( ecdsa_verify_restartable( grp, buf, blen, Q, r, s, NULL ) ); } #endif /* !MBEDTLS_ECDSA_VERIFY_ALT */ @@ -685,11 +653,6 @@ int mbedtls_ecdsa_write_signature_restartable( mbedtls_ecdsa_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_mpi r, s; - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( hash != NULL ); - ECDSA_VALIDATE_RET( sig != NULL ); - ECDSA_VALIDATE_RET( slen != NULL ); - if( f_rng == NULL ) return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); @@ -735,10 +698,6 @@ int mbedtls_ecdsa_write_signature( mbedtls_ecdsa_context *ctx, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( hash != NULL ); - ECDSA_VALIDATE_RET( sig != NULL ); - ECDSA_VALIDATE_RET( slen != NULL ); return( mbedtls_ecdsa_write_signature_restartable( ctx, md_alg, hash, hlen, sig, sig_size, slen, f_rng, p_rng, NULL ) ); @@ -751,9 +710,6 @@ int mbedtls_ecdsa_read_signature( mbedtls_ecdsa_context *ctx, const unsigned char *hash, size_t hlen, const unsigned char *sig, size_t slen ) { - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( hash != NULL ); - ECDSA_VALIDATE_RET( sig != NULL ); return( mbedtls_ecdsa_read_signature_restartable( ctx, hash, hlen, sig, slen, NULL ) ); } @@ -771,10 +727,6 @@ int mbedtls_ecdsa_read_signature_restartable( mbedtls_ecdsa_context *ctx, const unsigned char *end = sig + slen; size_t len; mbedtls_mpi r, s; - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( hash != NULL ); - ECDSA_VALIDATE_RET( sig != NULL ); - mbedtls_mpi_init( &r ); mbedtls_mpi_init( &s ); @@ -831,9 +783,6 @@ int mbedtls_ecdsa_genkey( mbedtls_ecdsa_context *ctx, mbedtls_ecp_group_id gid, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { int ret = 0; - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( f_rng != NULL ); - ret = mbedtls_ecp_group_load( &ctx->grp, gid ); if( ret != 0 ) return( ret ); @@ -849,9 +798,6 @@ int mbedtls_ecdsa_genkey( mbedtls_ecdsa_context *ctx, mbedtls_ecp_group_id gid, int mbedtls_ecdsa_from_keypair( mbedtls_ecdsa_context *ctx, const mbedtls_ecp_keypair *key ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECDSA_VALIDATE_RET( ctx != NULL ); - ECDSA_VALIDATE_RET( key != NULL ); - if( ( ret = mbedtls_ecp_group_copy( &ctx->grp, &key->grp ) ) != 0 || ( ret = mbedtls_mpi_copy( &ctx->d, &key->d ) ) != 0 || ( ret = mbedtls_ecp_copy( &ctx->Q, &key->Q ) ) != 0 ) @@ -867,8 +813,6 @@ int mbedtls_ecdsa_from_keypair( mbedtls_ecdsa_context *ctx, const mbedtls_ecp_ke */ void mbedtls_ecdsa_init( mbedtls_ecdsa_context *ctx ) { - ECDSA_VALIDATE( ctx != NULL ); - mbedtls_ecp_keypair_init( ctx ); } @@ -889,8 +833,6 @@ void mbedtls_ecdsa_free( mbedtls_ecdsa_context *ctx ) */ void mbedtls_ecdsa_restart_init( mbedtls_ecdsa_restart_ctx *ctx ) { - ECDSA_VALIDATE( ctx != NULL ); - mbedtls_ecp_restart_init( &ctx->ecp ); ctx->ver = NULL; diff --git a/library/ecjpake.c b/library/ecjpake.c index d467a6540a..289255a13e 100644 --- a/library/ecjpake.c +++ b/library/ecjpake.c @@ -30,16 +30,19 @@ #include "mbedtls/platform_util.h" #include "mbedtls/error.h" +/* We use MD first if it's available (for compatibility reasons) + * and "fall back" to PSA otherwise (which needs psa_crypto_init()). */ +#if !defined(MBEDTLS_MD_C) +#include "psa/crypto.h" +#include "mbedtls/psa_util.h" +#endif /* !MBEDTLS_MD_C */ + +#include "hash_info.h" + #include #if !defined(MBEDTLS_ECJPAKE_ALT) -/* Parameter validation macros based on platform_util.h */ -#define ECJPAKE_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ECP_BAD_INPUT_DATA ) -#define ECJPAKE_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - /* * Convert a mbedtls_ecjpake_role to identifier string */ @@ -51,14 +54,34 @@ static const char * const ecjpake_id[] = { #define ID_MINE ( ecjpake_id[ ctx->role ] ) #define ID_PEER ( ecjpake_id[ 1 - ctx->role ] ) +/** + * Helper to Compute a hash from md_type + */ +static int mbedtls_ecjpake_compute_hash( mbedtls_md_type_t md_type, + const unsigned char *input, size_t ilen, + unsigned char *output ) +{ +#if defined(MBEDTLS_MD_C) + return( mbedtls_md( mbedtls_md_info_from_type( md_type ), + input, ilen, output ) ); +#else + psa_algorithm_t alg = mbedtls_psa_translate_md( md_type ); + psa_status_t status; + size_t out_size = PSA_HASH_LENGTH( alg ); + size_t out_len; + + status = psa_hash_compute( alg, input, ilen, output, out_size, &out_len ); + + return( mbedtls_md_error_from_psa( status ) ); +#endif /* !MBEDTLS_MD_C */ +} + /* * Initialize context */ void mbedtls_ecjpake_init( mbedtls_ecjpake_context *ctx ) { - ECJPAKE_VALIDATE( ctx != NULL ); - - ctx->md_info = NULL; + ctx->md_type = MBEDTLS_MD_NONE; mbedtls_ecp_group_init( &ctx->grp ); ctx->point_format = MBEDTLS_ECP_PF_UNCOMPRESSED; @@ -81,7 +104,7 @@ void mbedtls_ecjpake_free( mbedtls_ecjpake_context *ctx ) if( ctx == NULL ) return; - ctx->md_info = NULL; + ctx->md_type = MBEDTLS_MD_NONE; mbedtls_ecp_group_free( &ctx->grp ); mbedtls_ecp_point_free( &ctx->Xm1 ); @@ -107,15 +130,20 @@ int mbedtls_ecjpake_setup( mbedtls_ecjpake_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( role == MBEDTLS_ECJPAKE_CLIENT || - role == MBEDTLS_ECJPAKE_SERVER ); - ECJPAKE_VALIDATE_RET( secret != NULL || len == 0 ); + if( role != MBEDTLS_ECJPAKE_CLIENT && role != MBEDTLS_ECJPAKE_SERVER ) + return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); ctx->role = role; - if( ( ctx->md_info = mbedtls_md_info_from_type( hash ) ) == NULL ) +#if defined(MBEDTLS_MD_C) + if( ( mbedtls_md_info_from_type( hash ) ) == NULL ) return( MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE ); +#else + if( mbedtls_psa_translate_md( hash ) == MBEDTLS_MD_NONE ) + return( MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE ); +#endif + + ctx->md_type = hash; MBEDTLS_MPI_CHK( mbedtls_ecp_group_load( &ctx->grp, curve ) ); @@ -147,9 +175,7 @@ int mbedtls_ecjpake_set_point_format( mbedtls_ecjpake_context *ctx, */ int mbedtls_ecjpake_check( const mbedtls_ecjpake_context *ctx ) { - ECJPAKE_VALIDATE_RET( ctx != NULL ); - - if( ctx->md_info == NULL || + if( ctx->md_type == MBEDTLS_MD_NONE || ctx->grp.id == MBEDTLS_ECP_DP_NONE || ctx->s.p == NULL ) { @@ -196,7 +222,7 @@ static int ecjpake_write_len_point( unsigned char **p, /* * Compute hash for ZKP (7.4.2.2.2.1) */ -static int ecjpake_hash( const mbedtls_md_info_t *md_info, +static int ecjpake_hash( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -210,7 +236,7 @@ static int ecjpake_hash( const mbedtls_md_info_t *md_info, unsigned char *p = buf; const unsigned char *end = buf + sizeof( buf ); const size_t id_len = strlen( id ); - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; /* Write things to temporary buffer */ MBEDTLS_MPI_CHK( ecjpake_write_len_point( &p, end, grp, pf, G ) ); @@ -230,11 +256,12 @@ static int ecjpake_hash( const mbedtls_md_info_t *md_info, p += id_len; /* Compute hash */ - MBEDTLS_MPI_CHK( mbedtls_md( md_info, buf, p - buf, hash ) ); + MBEDTLS_MPI_CHK( mbedtls_ecjpake_compute_hash( md_type, + buf, p - buf, hash ) ); /* Turn it into an integer mod n */ MBEDTLS_MPI_CHK( mbedtls_mpi_read_binary( h, hash, - mbedtls_md_get_size( md_info ) ) ); + mbedtls_hash_info_get_size( md_type ) ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( h, h, &grp->N ) ); cleanup: @@ -244,7 +271,7 @@ static int ecjpake_hash( const mbedtls_md_info_t *md_info, /* * Parse a ECShnorrZKP (7.4.2.2.2) and verify it (7.4.2.3.3) */ -static int ecjpake_zkp_read( const mbedtls_md_info_t *md_info, +static int ecjpake_zkp_read( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -294,7 +321,7 @@ static int ecjpake_zkp_read( const mbedtls_md_info_t *md_info, /* * Verification */ - MBEDTLS_MPI_CHK( ecjpake_hash( md_info, grp, pf, G, &V, X, id, &h ) ); + MBEDTLS_MPI_CHK( ecjpake_hash( md_type, grp, pf, G, &V, X, id, &h ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_muladd( (mbedtls_ecp_group *) grp, &VV, &h, X, &r, G ) ); @@ -316,7 +343,7 @@ static int ecjpake_zkp_read( const mbedtls_md_info_t *md_info, /* * Generate ZKP (7.4.2.3.2) and write it as ECSchnorrZKP (7.4.2.2.2) */ -static int ecjpake_zkp_write( const mbedtls_md_info_t *md_info, +static int ecjpake_zkp_write( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -344,7 +371,7 @@ static int ecjpake_zkp_write( const mbedtls_md_info_t *md_info, /* Compute signature */ MBEDTLS_MPI_CHK( mbedtls_ecp_gen_keypair_base( (mbedtls_ecp_group *) grp, G, &v, &V, f_rng, p_rng ) ); - MBEDTLS_MPI_CHK( ecjpake_hash( md_info, grp, pf, G, &V, X, id, &h ) ); + MBEDTLS_MPI_CHK( ecjpake_hash( md_type, grp, pf, G, &V, X, id, &h ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &h, &h, x ) ); /* x*h */ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &h, &v, &h ) ); /* v - x*h */ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &h, &h, &grp->N ) ); /* r */ @@ -377,7 +404,7 @@ static int ecjpake_zkp_write( const mbedtls_md_info_t *md_info, * Parse a ECJPAKEKeyKP (7.4.2.2.1) and check proof * Output: verified public key X */ -static int ecjpake_kkp_read( const mbedtls_md_info_t *md_info, +static int ecjpake_kkp_read( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -404,7 +431,7 @@ static int ecjpake_kkp_read( const mbedtls_md_info_t *md_info, goto cleanup; } - MBEDTLS_MPI_CHK( ecjpake_zkp_read( md_info, grp, pf, G, X, id, p, end ) ); + MBEDTLS_MPI_CHK( ecjpake_zkp_read( md_type, grp, pf, G, X, id, p, end ) ); cleanup: return( ret ); @@ -414,7 +441,7 @@ static int ecjpake_kkp_read( const mbedtls_md_info_t *md_info, * Generate an ECJPAKEKeyKP * Output: the serialized structure, plus private/public key pair */ -static int ecjpake_kkp_write( const mbedtls_md_info_t *md_info, +static int ecjpake_kkp_write( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -440,7 +467,7 @@ static int ecjpake_kkp_write( const mbedtls_md_info_t *md_info, *p += len; /* Generate and write proof */ - MBEDTLS_MPI_CHK( ecjpake_zkp_write( md_info, grp, pf, G, x, X, id, + MBEDTLS_MPI_CHK( ecjpake_zkp_write( md_type, grp, pf, G, x, X, id, p, end, f_rng, p_rng ) ); cleanup: @@ -451,7 +478,7 @@ static int ecjpake_kkp_write( const mbedtls_md_info_t *md_info, * Read a ECJPAKEKeyKPPairList (7.4.2.3) and check proofs * Outputs: verified peer public keys Xa, Xb */ -static int ecjpake_kkpp_read( const mbedtls_md_info_t *md_info, +static int ecjpake_kkpp_read( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -470,8 +497,8 @@ static int ecjpake_kkpp_read( const mbedtls_md_info_t *md_info, * ECJPAKEKeyKP ecjpake_key_kp_pair_list[2]; * } ECJPAKEKeyKPPairList; */ - MBEDTLS_MPI_CHK( ecjpake_kkp_read( md_info, grp, pf, G, Xa, id, &p, end ) ); - MBEDTLS_MPI_CHK( ecjpake_kkp_read( md_info, grp, pf, G, Xb, id, &p, end ) ); + MBEDTLS_MPI_CHK( ecjpake_kkp_read( md_type, grp, pf, G, Xa, id, &p, end ) ); + MBEDTLS_MPI_CHK( ecjpake_kkp_read( md_type, grp, pf, G, Xb, id, &p, end ) ); if( p != end ) ret = MBEDTLS_ERR_ECP_BAD_INPUT_DATA; @@ -484,7 +511,7 @@ static int ecjpake_kkpp_read( const mbedtls_md_info_t *md_info, * Generate a ECJPAKEKeyKPPairList * Outputs: the serialized structure, plus two private/public key pairs */ -static int ecjpake_kkpp_write( const mbedtls_md_info_t *md_info, +static int ecjpake_kkpp_write( const mbedtls_md_type_t md_type, const mbedtls_ecp_group *grp, const int pf, const mbedtls_ecp_point *G, @@ -503,9 +530,9 @@ static int ecjpake_kkpp_write( const mbedtls_md_info_t *md_info, unsigned char *p = buf; const unsigned char *end = buf + len; - MBEDTLS_MPI_CHK( ecjpake_kkp_write( md_info, grp, pf, G, xm1, Xa, id, + MBEDTLS_MPI_CHK( ecjpake_kkp_write( md_type, grp, pf, G, xm1, Xa, id, &p, end, f_rng, p_rng ) ); - MBEDTLS_MPI_CHK( ecjpake_kkp_write( md_info, grp, pf, G, xm2, Xb, id, + MBEDTLS_MPI_CHK( ecjpake_kkp_write( md_type, grp, pf, G, xm2, Xb, id, &p, end, f_rng, p_rng ) ); *olen = p - buf; @@ -521,10 +548,7 @@ int mbedtls_ecjpake_read_round_one( mbedtls_ecjpake_context *ctx, const unsigned char *buf, size_t len ) { - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( buf != NULL ); - - return( ecjpake_kkpp_read( ctx->md_info, &ctx->grp, ctx->point_format, + return( ecjpake_kkpp_read( ctx->md_type, &ctx->grp, ctx->point_format, &ctx->grp.G, &ctx->Xp1, &ctx->Xp2, ID_PEER, buf, len ) ); @@ -538,12 +562,7 @@ int mbedtls_ecjpake_write_round_one( mbedtls_ecjpake_context *ctx, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( buf != NULL ); - ECJPAKE_VALIDATE_RET( olen != NULL ); - ECJPAKE_VALIDATE_RET( f_rng != NULL ); - - return( ecjpake_kkpp_write( ctx->md_info, &ctx->grp, ctx->point_format, + return( ecjpake_kkpp_write( ctx->md_type, &ctx->grp, ctx->point_format, &ctx->grp.G, &ctx->xm1, &ctx->Xm1, &ctx->xm2, &ctx->Xm2, ID_MINE, buf, len, olen, f_rng, p_rng ) ); @@ -585,9 +604,6 @@ int mbedtls_ecjpake_read_round_two( mbedtls_ecjpake_context *ctx, mbedtls_ecp_group grp; mbedtls_ecp_point G; /* C: GB, S: GA */ - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( buf != NULL ); - mbedtls_ecp_group_init( &grp ); mbedtls_ecp_point_init( &G ); @@ -616,7 +632,7 @@ int mbedtls_ecjpake_read_round_two( mbedtls_ecjpake_context *ctx, } } - MBEDTLS_MPI_CHK( ecjpake_kkp_read( ctx->md_info, &ctx->grp, + MBEDTLS_MPI_CHK( ecjpake_kkp_read( ctx->md_type, &ctx->grp, ctx->point_format, &G, &ctx->Xp, ID_PEER, &p, end ) ); @@ -680,11 +696,6 @@ int mbedtls_ecjpake_write_round_two( mbedtls_ecjpake_context *ctx, const unsigned char *end = buf + len; size_t ec_len; - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( buf != NULL ); - ECJPAKE_VALIDATE_RET( olen != NULL ); - ECJPAKE_VALIDATE_RET( f_rng != NULL ); - mbedtls_ecp_point_init( &G ); mbedtls_ecp_point_init( &Xm ); mbedtls_mpi_init( &xm ); @@ -731,7 +742,7 @@ int mbedtls_ecjpake_write_round_two( mbedtls_ecjpake_context *ctx, ctx->point_format, &ec_len, p, end - p ) ); p += ec_len; - MBEDTLS_MPI_CHK( ecjpake_zkp_write( ctx->md_info, &ctx->grp, + MBEDTLS_MPI_CHK( ecjpake_zkp_write( ctx->md_type, &ctx->grp, ctx->point_format, &G, &xm, &Xm, ID_MINE, &p, end, f_rng, p_rng ) ); @@ -749,27 +760,14 @@ int mbedtls_ecjpake_write_round_two( mbedtls_ecjpake_context *ctx, /* * Derive PMS (7.4.2.7 / 7.4.2.8) */ -int mbedtls_ecjpake_derive_secret( mbedtls_ecjpake_context *ctx, - unsigned char *buf, size_t len, size_t *olen, - int (*f_rng)(void *, unsigned char *, size_t), - void *p_rng ) +static int mbedtls_ecjpake_derive_k( mbedtls_ecjpake_context *ctx, + mbedtls_ecp_point *K, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - mbedtls_ecp_point K; mbedtls_mpi m_xm2_s, one; - unsigned char kx[MBEDTLS_ECP_MAX_BYTES]; - size_t x_bytes; - - ECJPAKE_VALIDATE_RET( ctx != NULL ); - ECJPAKE_VALIDATE_RET( buf != NULL ); - ECJPAKE_VALIDATE_RET( olen != NULL ); - ECJPAKE_VALIDATE_RET( f_rng != NULL ); - *olen = mbedtls_md_get_size( ctx->md_info ); - if( len < *olen ) - return( MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL ); - - mbedtls_ecp_point_init( &K ); mbedtls_mpi_init( &m_xm2_s ); mbedtls_mpi_init( &one ); @@ -782,21 +780,72 @@ int mbedtls_ecjpake_derive_secret( mbedtls_ecjpake_context *ctx, */ MBEDTLS_MPI_CHK( ecjpake_mul_secret( &m_xm2_s, -1, &ctx->xm2, &ctx->s, &ctx->grp.N, f_rng, p_rng ) ); - MBEDTLS_MPI_CHK( mbedtls_ecp_muladd( &ctx->grp, &K, + MBEDTLS_MPI_CHK( mbedtls_ecp_muladd( &ctx->grp, K, &one, &ctx->Xp, &m_xm2_s, &ctx->Xp2 ) ); - MBEDTLS_MPI_CHK( mbedtls_ecp_mul( &ctx->grp, &K, &ctx->xm2, &K, + MBEDTLS_MPI_CHK( mbedtls_ecp_mul( &ctx->grp, K, &ctx->xm2, K, f_rng, p_rng ) ); +cleanup: + mbedtls_mpi_free( &m_xm2_s ); + mbedtls_mpi_free( &one ); + + return( ret ); +} + +int mbedtls_ecjpake_derive_secret( mbedtls_ecjpake_context *ctx, + unsigned char *buf, size_t len, size_t *olen, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ecp_point K; + unsigned char kx[MBEDTLS_ECP_MAX_BYTES]; + size_t x_bytes; + + *olen = mbedtls_hash_info_get_size( ctx->md_type ); + if( len < *olen ) + return( MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL ); + + mbedtls_ecp_point_init( &K ); + + ret = mbedtls_ecjpake_derive_k(ctx, &K, f_rng, p_rng); + if( ret ) + goto cleanup; + /* PMS = SHA-256( K.X ) */ x_bytes = ( ctx->grp.pbits + 7 ) / 8; MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &K.X, kx, x_bytes ) ); - MBEDTLS_MPI_CHK( mbedtls_md( ctx->md_info, kx, x_bytes, buf ) ); + MBEDTLS_MPI_CHK( mbedtls_ecjpake_compute_hash( ctx->md_type, + kx, x_bytes, buf ) ); + +cleanup: + mbedtls_ecp_point_free( &K ); + + return( ret ); +} + +int mbedtls_ecjpake_write_shared_key( mbedtls_ecjpake_context *ctx, + unsigned char *buf, size_t len, size_t *olen, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ecp_point K; + + mbedtls_ecp_point_init( &K ); + + ret = mbedtls_ecjpake_derive_k(ctx, &K, f_rng, p_rng); + if( ret ) + goto cleanup; + + ret = mbedtls_ecp_point_write_binary( &ctx->grp, &K, ctx->point_format, + olen, buf, len ); + if( ret != 0 ) + goto cleanup; cleanup: mbedtls_ecp_point_free( &K ); - mbedtls_mpi_free( &m_xm2_s ); - mbedtls_mpi_free( &one ); return( ret ); } @@ -808,12 +857,7 @@ int mbedtls_ecjpake_derive_secret( mbedtls_ecjpake_context *ctx, #if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif #if !defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) || \ !defined(MBEDTLS_SHA256_C) @@ -951,6 +995,15 @@ static const unsigned char ecjpake_test_cli_two[] = { 0xcc, 0x38, 0xdb, 0xdc, 0xae, 0x60, 0xd9, 0xc5, 0x4c }; +static const unsigned char ecjpake_test_shared_key[] = { + 0x04, 0x01, 0xab, 0xe9, 0xf2, 0xc7, 0x3a, 0x99, 0x14, 0xcb, 0x1f, 0x80, + 0xfb, 0x9d, 0xdb, 0x7e, 0x00, 0x12, 0xa8, 0x9c, 0x2f, 0x39, 0x27, 0x79, + 0xf9, 0x64, 0x40, 0x14, 0x75, 0xea, 0xc1, 0x31, 0x28, 0x43, 0x8f, 0xe1, + 0x12, 0x41, 0xd6, 0xc1, 0xe5, 0x5f, 0x7b, 0x80, 0x88, 0x94, 0xc9, 0xc0, + 0x27, 0xa3, 0x34, 0x41, 0xf5, 0xcb, 0xa1, 0xfe, 0x6c, 0xc7, 0xe6, 0x12, + 0x17, 0xc3, 0xde, 0x27, 0xb4, +}; + static const unsigned char ecjpake_test_pms[] = { 0xf3, 0xd4, 0x7f, 0x59, 0x98, 0x44, 0xdb, 0x92, 0xa5, 0x69, 0xbb, 0xe7, 0x98, 0x1e, 0x39, 0xd9, 0x31, 0xfd, 0x74, 0x3b, 0xf2, 0x2e, 0x98, 0xf9, @@ -1137,6 +1190,13 @@ int mbedtls_ecjpake_self_test( int verbose ) TEST_ASSERT( len == sizeof( ecjpake_test_pms ) ); TEST_ASSERT( memcmp( buf, ecjpake_test_pms, len ) == 0 ); + /* Server derives K as unsigned binary data */ + TEST_ASSERT( mbedtls_ecjpake_write_shared_key( &srv, + buf, sizeof( buf ), &len, ecjpake_lgc, NULL ) == 0 ); + + TEST_ASSERT( len == sizeof( ecjpake_test_shared_key ) ); + TEST_ASSERT( memcmp( buf, ecjpake_test_shared_key, len ) == 0 ); + memset( buf, 0, len ); /* Avoid interferences with next step */ /* Client derives PMS */ @@ -1146,6 +1206,13 @@ int mbedtls_ecjpake_self_test( int verbose ) TEST_ASSERT( len == sizeof( ecjpake_test_pms ) ); TEST_ASSERT( memcmp( buf, ecjpake_test_pms, len ) == 0 ); + /* Client derives K as unsigned binary data */ + TEST_ASSERT( mbedtls_ecjpake_write_shared_key( &cli, + buf, sizeof( buf ), &len, ecjpake_lgc, NULL ) == 0 ); + + TEST_ASSERT( len == sizeof( ecjpake_test_shared_key ) ); + TEST_ASSERT( memcmp( buf, ecjpake_test_shared_key, len ) == 0 ); + if( verbose != 0 ) mbedtls_printf( "passed\n" ); #endif /* ! MBEDTLS_ECJPAKE_ALT */ diff --git a/library/ecp.c b/library/ecp.c index 67c46f2c30..cd7d5543c3 100644 --- a/library/ecp.c +++ b/library/ecp.c @@ -84,29 +84,10 @@ #if !defined(MBEDTLS_ECP_ALT) -/* Parameter validation macros based on platform_util.h */ -#define ECP_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_ECP_BAD_INPUT_DATA ) -#define ECP_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "ecp_internal_alt.h" -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #if defined(MBEDTLS_SELF_TEST) /* * Counts of point addition and doubling, and field multiplications. @@ -242,7 +223,6 @@ static void ecp_restart_ma_free( mbedtls_ecp_restart_muladd_ctx *ctx ) */ void mbedtls_ecp_restart_init( mbedtls_ecp_restart_ctx *ctx ) { - ECP_VALIDATE( ctx != NULL ); ctx->ops_done = 0; ctx->depth = 0; ctx->rsm = NULL; @@ -273,8 +253,6 @@ int mbedtls_ecp_check_budget( const mbedtls_ecp_group *grp, mbedtls_ecp_restart_ctx *rs_ctx, unsigned ops ) { - ECP_VALIDATE_RET( grp != NULL ); - if( rs_ctx != NULL && ecp_max_ops != 0 ) { /* scale depending on curve size: the chosen reference is 256-bit, @@ -525,8 +503,6 @@ mbedtls_ecp_curve_type mbedtls_ecp_get_type( const mbedtls_ecp_group *grp ) */ void mbedtls_ecp_point_init( mbedtls_ecp_point *pt ) { - ECP_VALIDATE( pt != NULL ); - mbedtls_mpi_init( &pt->X ); mbedtls_mpi_init( &pt->Y ); mbedtls_mpi_init( &pt->Z ); @@ -537,8 +513,6 @@ void mbedtls_ecp_point_init( mbedtls_ecp_point *pt ) */ void mbedtls_ecp_group_init( mbedtls_ecp_group *grp ) { - ECP_VALIDATE( grp != NULL ); - grp->id = MBEDTLS_ECP_DP_NONE; mbedtls_mpi_init( &grp->P ); mbedtls_mpi_init( &grp->A ); @@ -561,8 +535,6 @@ void mbedtls_ecp_group_init( mbedtls_ecp_group *grp ) */ void mbedtls_ecp_keypair_init( mbedtls_ecp_keypair *key ) { - ECP_VALIDATE( key != NULL ); - mbedtls_ecp_group_init( &key->grp ); mbedtls_mpi_init( &key->d ); mbedtls_ecp_point_init( &key->Q ); @@ -641,9 +613,6 @@ void mbedtls_ecp_keypair_free( mbedtls_ecp_keypair *key ) int mbedtls_ecp_copy( mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( Q != NULL ); - MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->X, &Q->X ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->Y, &Q->Y ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->Z, &Q->Z ) ); @@ -657,9 +626,6 @@ int mbedtls_ecp_copy( mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ) */ int mbedtls_ecp_group_copy( mbedtls_ecp_group *dst, const mbedtls_ecp_group *src ) { - ECP_VALIDATE_RET( dst != NULL ); - ECP_VALIDATE_RET( src != NULL ); - return( mbedtls_ecp_group_load( dst, src->id ) ); } @@ -669,8 +635,6 @@ int mbedtls_ecp_group_copy( mbedtls_ecp_group *dst, const mbedtls_ecp_group *src int mbedtls_ecp_set_zero( mbedtls_ecp_point *pt ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( pt != NULL ); - MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &pt->X , 1 ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &pt->Y , 1 ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &pt->Z , 0 ) ); @@ -684,8 +648,6 @@ int mbedtls_ecp_set_zero( mbedtls_ecp_point *pt ) */ int mbedtls_ecp_is_zero( mbedtls_ecp_point *pt ) { - ECP_VALIDATE_RET( pt != NULL ); - return( mbedtls_mpi_cmp_int( &pt->Z, 0 ) == 0 ); } @@ -695,9 +657,6 @@ int mbedtls_ecp_is_zero( mbedtls_ecp_point *pt ) int mbedtls_ecp_point_cmp( const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ) { - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( Q != NULL ); - if( mbedtls_mpi_cmp_mpi( &P->X, &Q->X ) == 0 && mbedtls_mpi_cmp_mpi( &P->Y, &Q->Y ) == 0 && mbedtls_mpi_cmp_mpi( &P->Z, &Q->Z ) == 0 ) @@ -715,10 +674,6 @@ int mbedtls_ecp_point_read_string( mbedtls_ecp_point *P, int radix, const char *x, const char *y ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( x != NULL ); - ECP_VALIDATE_RET( y != NULL ); - MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &P->X, radix, x ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &P->Y, radix, y ) ); MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &P->Z, 1 ) ); @@ -737,12 +692,9 @@ int mbedtls_ecp_point_write_binary( const mbedtls_ecp_group *grp, { int ret = MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE; size_t plen; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( olen != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( format == MBEDTLS_ECP_PF_UNCOMPRESSED || - format == MBEDTLS_ECP_PF_COMPRESSED ); + if( format != MBEDTLS_ECP_PF_UNCOMPRESSED && + format != MBEDTLS_ECP_PF_COMPRESSED ) + return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); plen = mbedtls_mpi_size( &grp->P ); @@ -811,10 +763,6 @@ int mbedtls_ecp_point_read_binary( const mbedtls_ecp_group *grp, { int ret = MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE; size_t plen; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( pt != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - if( ilen < 1 ) return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); @@ -876,11 +824,6 @@ int mbedtls_ecp_tls_read_point( const mbedtls_ecp_group *grp, { unsigned char data_len; const unsigned char *buf_start; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( pt != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( *buf != NULL ); - /* * We must have at least two bytes (1 for length, at least one for data) */ @@ -911,12 +854,9 @@ int mbedtls_ecp_tls_write_point( const mbedtls_ecp_group *grp, const mbedtls_ecp unsigned char *buf, size_t blen ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( pt != NULL ); - ECP_VALIDATE_RET( olen != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( format == MBEDTLS_ECP_PF_UNCOMPRESSED || - format == MBEDTLS_ECP_PF_COMPRESSED ); + if( format != MBEDTLS_ECP_PF_UNCOMPRESSED && + format != MBEDTLS_ECP_PF_COMPRESSED ) + return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); /* * buffer length must be at least one, for our length byte @@ -945,10 +885,6 @@ int mbedtls_ecp_tls_read_group( mbedtls_ecp_group *grp, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_ecp_group_id grp_id; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( *buf != NULL ); - if( ( ret = mbedtls_ecp_tls_read_group_id( &grp_id, buf, len ) ) != 0 ) return( ret ); @@ -964,10 +900,6 @@ int mbedtls_ecp_tls_read_group_id( mbedtls_ecp_group_id *grp, { uint16_t tls_id; const mbedtls_ecp_curve_info *curve_info; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( *buf != NULL ); - /* * We expect at least three bytes (see below) */ @@ -1002,10 +934,6 @@ int mbedtls_ecp_tls_write_group( const mbedtls_ecp_group *grp, size_t *olen, unsigned char *buf, size_t blen ) { const mbedtls_ecp_curve_info *curve_info; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - ECP_VALIDATE_RET( olen != NULL ); - if( ( curve_info = mbedtls_ecp_curve_info_from_grp_id( grp->id ) ) == NULL ) return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); @@ -2346,12 +2274,14 @@ static int ecp_mul_comb( mbedtls_ecp_group *grp, mbedtls_ecp_point *R, mbedtls_free( T ); } - /* don't free R while in progress in case R == P */ + /* prevent caller from using invalid value */ + int should_free_R = ( ret != 0 ); #if defined(MBEDTLS_ECP_RESTARTABLE) - if( ret != MBEDTLS_ERR_ECP_IN_PROGRESS ) + /* don't free R while in progress in case R == P */ + if( ret == MBEDTLS_ERR_ECP_IN_PROGRESS ) + should_free_R = 0; #endif - /* prevent caller from using invalid value */ - if( ret != 0 ) + if( should_free_R ) mbedtls_ecp_point_free( R ); ECP_RS_LEAVE( rsm ); @@ -2526,7 +2456,7 @@ static int ecp_mul_mxz( mbedtls_ecp_group *grp, mbedtls_ecp_point *R, MBEDTLS_MPI_CHK( ecp_randomize_mxz( grp, &RP, f_rng, p_rng ) ); /* Loop invariant: R = result so far, RP = R + P */ - i = mbedtls_mpi_bitlen( m ); /* one past the (zero-based) most significant bit */ + i = grp->nbits + 1; /* one past the (zero-based) required msb for private keys */ while( i-- > 0 ) { b = mbedtls_mpi_get_bit( m, i ); @@ -2596,10 +2526,12 @@ static int ecp_mul_restartable_internal( mbedtls_ecp_group *grp, mbedtls_ecp_poi MBEDTLS_MPI_CHK( mbedtls_internal_ecp_init( grp ) ); #endif /* MBEDTLS_ECP_INTERNAL_ALT */ + int restarting = 0; #if defined(MBEDTLS_ECP_RESTARTABLE) - /* skip argument check when restarting */ - if( rs_ctx == NULL || rs_ctx->rsm == NULL ) + restarting = ( rs_ctx != NULL && rs_ctx->rsm != NULL ); #endif + /* skip argument check when restarting */ + if( !restarting ) { /* check_privkey is free */ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_CHK ); @@ -2642,11 +2574,6 @@ int mbedtls_ecp_mul_restartable( mbedtls_ecp_group *grp, mbedtls_ecp_point *R, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_ecp_restart_ctx *rs_ctx ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( R != NULL ); - ECP_VALIDATE_RET( m != NULL ); - ECP_VALIDATE_RET( P != NULL ); - if( f_rng == NULL ) return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); @@ -2660,10 +2587,6 @@ int mbedtls_ecp_mul( mbedtls_ecp_group *grp, mbedtls_ecp_point *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( R != NULL ); - ECP_VALIDATE_RET( m != NULL ); - ECP_VALIDATE_RET( P != NULL ); return( mbedtls_ecp_mul_restartable( grp, R, m, P, f_rng, p_rng, NULL ) ); } @@ -2734,14 +2657,17 @@ static int mbedtls_ecp_mul_shortcuts( mbedtls_ecp_group *grp, if( mbedtls_mpi_cmp_int( m, 0 ) == 0 ) { + MBEDTLS_MPI_CHK( mbedtls_ecp_check_pubkey( grp, P ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_set_zero( R ) ); } else if( mbedtls_mpi_cmp_int( m, 1 ) == 0 ) { + MBEDTLS_MPI_CHK( mbedtls_ecp_check_pubkey( grp, P ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_copy( R, P ) ); } else if( mbedtls_mpi_cmp_int( m, -1 ) == 0 ) { + MBEDTLS_MPI_CHK( mbedtls_ecp_check_pubkey( grp, P ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_copy( R, P ) ); MPI_ECP_NEG( &R->Y ); } @@ -2775,13 +2701,6 @@ int mbedtls_ecp_muladd_restartable( #if defined(MBEDTLS_ECP_INTERNAL_ALT) char is_grp_capable = 0; #endif - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( R != NULL ); - ECP_VALIDATE_RET( m != NULL ); - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( n != NULL ); - ECP_VALIDATE_RET( Q != NULL ); - if( mbedtls_ecp_get_type( grp ) != MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS ) return( MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE ); @@ -2867,12 +2786,6 @@ int mbedtls_ecp_muladd( mbedtls_ecp_group *grp, mbedtls_ecp_point *R, const mbedtls_mpi *m, const mbedtls_ecp_point *P, const mbedtls_mpi *n, const mbedtls_ecp_point *Q ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( R != NULL ); - ECP_VALIDATE_RET( m != NULL ); - ECP_VALIDATE_RET( P != NULL ); - ECP_VALIDATE_RET( n != NULL ); - ECP_VALIDATE_RET( Q != NULL ); return( mbedtls_ecp_muladd_restartable( grp, R, m, P, n, Q, NULL ) ); } #endif /* MBEDTLS_ECP_SHORT_WEIERSTRASS_ENABLED */ @@ -2996,9 +2909,6 @@ static int ecp_check_pubkey_mx( const mbedtls_ecp_group *grp, const mbedtls_ecp_ int mbedtls_ecp_check_pubkey( const mbedtls_ecp_group *grp, const mbedtls_ecp_point *pt ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( pt != NULL ); - /* Must use affine coordinates */ if( mbedtls_mpi_cmp_int( &pt->Z, 1 ) != 0 ) return( MBEDTLS_ERR_ECP_INVALID_KEY ); @@ -3020,9 +2930,6 @@ int mbedtls_ecp_check_pubkey( const mbedtls_ecp_group *grp, int mbedtls_ecp_check_privkey( const mbedtls_ecp_group *grp, const mbedtls_mpi *d ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( d != NULL ); - #if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED) if( mbedtls_ecp_get_type( grp ) == MBEDTLS_ECP_TYPE_MONTGOMERY ) { @@ -3112,10 +3019,6 @@ int mbedtls_ecp_gen_privkey( const mbedtls_ecp_group *grp, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( d != NULL ); - ECP_VALIDATE_RET( f_rng != NULL ); - #if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED) if( mbedtls_ecp_get_type( grp ) == MBEDTLS_ECP_TYPE_MONTGOMERY ) return( mbedtls_ecp_gen_privkey_mx( grp->nbits, d, f_rng, p_rng ) ); @@ -3139,12 +3042,6 @@ int mbedtls_ecp_gen_keypair_base( mbedtls_ecp_group *grp, void *p_rng ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( d != NULL ); - ECP_VALIDATE_RET( G != NULL ); - ECP_VALIDATE_RET( Q != NULL ); - ECP_VALIDATE_RET( f_rng != NULL ); - MBEDTLS_MPI_CHK( mbedtls_ecp_gen_privkey( grp, d, f_rng, p_rng ) ); MBEDTLS_MPI_CHK( mbedtls_ecp_mul( grp, Q, d, G, f_rng, p_rng ) ); @@ -3160,11 +3057,6 @@ int mbedtls_ecp_gen_keypair( mbedtls_ecp_group *grp, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - ECP_VALIDATE_RET( grp != NULL ); - ECP_VALIDATE_RET( d != NULL ); - ECP_VALIDATE_RET( Q != NULL ); - ECP_VALIDATE_RET( f_rng != NULL ); - return( mbedtls_ecp_gen_keypair_base( grp, &grp->G, d, Q, f_rng, p_rng ) ); } @@ -3175,9 +3067,6 @@ int mbedtls_ecp_gen_key( mbedtls_ecp_group_id grp_id, mbedtls_ecp_keypair *key, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - ECP_VALIDATE_RET( key != NULL ); - ECP_VALIDATE_RET( f_rng != NULL ); - if( ( ret = mbedtls_ecp_group_load( &key->grp, grp_id ) ) != 0 ) return( ret ); @@ -3194,9 +3083,6 @@ int mbedtls_ecp_read_key( mbedtls_ecp_group_id grp_id, mbedtls_ecp_keypair *key, { int ret = 0; - ECP_VALIDATE_RET( key != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - if( ( ret = mbedtls_ecp_group_load( &key->grp, grp_id ) ) != 0 ) return( ret ); @@ -3277,9 +3163,6 @@ int mbedtls_ecp_write_key( mbedtls_ecp_keypair *key, { int ret = MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE; - ECP_VALIDATE_RET( key != NULL ); - ECP_VALIDATE_RET( buf != NULL ); - #if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED) if( mbedtls_ecp_get_type( &key->grp ) == MBEDTLS_ECP_TYPE_MONTGOMERY ) { @@ -3320,9 +3203,6 @@ int mbedtls_ecp_check_pub_priv( int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_ecp_point Q; mbedtls_ecp_group grp; - ECP_VALIDATE_RET( pub != NULL ); - ECP_VALIDATE_RET( prv != NULL ); - if( pub->grp.id == MBEDTLS_ECP_DP_NONE || pub->grp.id != prv->grp.id || mbedtls_mpi_cmp_mpi( &pub->Q.X, &prv->Q.X ) || diff --git a/library/ecp_curves.c b/library/ecp_curves.c index 51956cd5b7..5cd2828f73 100644 --- a/library/ecp_curves.c +++ b/library/ecp_curves.c @@ -26,7 +26,7 @@ #include "mbedtls/error.h" #include "bn_mul.h" -#include "bignum_internal.h" +#include "bignum_core.h" #include "ecp_invasive.h" #include @@ -39,11 +39,6 @@ #define ECP_VALIDATE( cond ) \ MBEDTLS_INTERNAL_VALIDATE( cond ) -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #define ECP_MPI_INIT(s, n, p) {s, (n), (mbedtls_mpi_uint *)(p)} #define ECP_MPI_INIT_ARRAY(x) \ @@ -4969,9 +4964,6 @@ static inline void sub32( uint32_t *dst, uint32_t src, signed char *carry ) #define ADD( j ) add32( &cur, A( j ), &c ); #define SUB( j ) sub32( &cur, A( j ), &c ); -#define ciL (sizeof(mbedtls_mpi_uint)) /* chars in limb */ -#define biL (ciL << 3) /* bits in limb */ - /* * Helpers for the main 'loop' */ diff --git a/library/entropy.c b/library/entropy.c index 08c5bd7d16..1e0d9d3281 100644 --- a/library/entropy.c +++ b/library/entropy.c @@ -32,18 +32,9 @@ #include #endif -#if defined(MBEDTLS_ENTROPY_NV_SEED) #include "mbedtls/platform.h" -#endif -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #define ENTROPY_MAX_LOOP 256 /**< Maximum amount to loop before error */ diff --git a/library/entropy_poll.c b/library/entropy_poll.c index 2ae57fdc09..2df9bbec9d 100644 --- a/library/entropy_poll.c +++ b/library/entropy_poll.c @@ -35,9 +35,7 @@ #if defined(MBEDTLS_TIMING_C) #include "mbedtls/timing.h" #endif -#if defined(MBEDTLS_ENTROPY_NV_SEED) || !defined(HAVE_SYSCTL_ARND) #include "mbedtls/platform.h" -#endif #if !defined(MBEDTLS_NO_PLATFORM_ENTROPY) diff --git a/library/error.c b/library/error.c index f992d5249c..3ab1cd6e89 100644 --- a/library/error.c +++ b/library/error.c @@ -25,11 +25,7 @@ #if defined(MBEDTLS_ERROR_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_snprintf snprintf -#endif #include #include @@ -114,6 +110,10 @@ #include "mbedtls/hmac_drbg.h" #endif +#if defined(MBEDTLS_LMS_C) +#include "mbedtls/lms.h" +#endif + #if defined(MBEDTLS_MD_C) #include "mbedtls/md.h" #endif @@ -142,6 +142,10 @@ #include "mbedtls/pkcs5.h" #endif +#if defined(MBEDTLS_PKCS7_C) +#include "mbedtls/pkcs7.h" +#endif + #if defined(MBEDTLS_POLY1305_C) #include "mbedtls/poly1305.h" #endif @@ -336,6 +340,33 @@ const char * mbedtls_high_level_strerr( int error_code ) return( "PKCS5 - Given private key password does not allow for correct decryption" ); #endif /* MBEDTLS_PKCS5_C */ +#if defined(MBEDTLS_PKCS7_C) + case -(MBEDTLS_ERR_PKCS7_INVALID_FORMAT): + return( "PKCS7 - The format is invalid, e.g. different type expected" ); + case -(MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE): + return( "PKCS7 - Unavailable feature, e.g. anything other than signed data" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_VERSION): + return( "PKCS7 - The PKCS7 version element is invalid or cannot be parsed" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_CONTENT_INFO): + return( "PKCS7 - The PKCS7 content info invalid or cannot be parsed" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_ALG): + return( "PKCS7 - The algorithm tag or value is invalid or cannot be parsed" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_CERT): + return( "PKCS7 - The certificate tag or value is invalid or cannot be parsed" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_SIGNATURE): + return( "PKCS7 - Error parsing the signature" ); + case -(MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO): + return( "PKCS7 - Error parsing the signer's info" ); + case -(MBEDTLS_ERR_PKCS7_BAD_INPUT_DATA): + return( "PKCS7 - Input invalid" ); + case -(MBEDTLS_ERR_PKCS7_ALLOC_FAILED): + return( "PKCS7 - Allocation of memory failed" ); + case -(MBEDTLS_ERR_PKCS7_VERIFY_FAIL): + return( "PKCS7 - Verification Failed" ); + case -(MBEDTLS_ERR_PKCS7_CERT_DATE_INVALID): + return( "PKCS7 - The PKCS7 date issued/expired dates are invalid" ); +#endif /* MBEDTLS_PKCS7_C */ + #if defined(MBEDTLS_RSA_C) case -(MBEDTLS_ERR_RSA_BAD_INPUT_DATA): return( "RSA - Bad input parameters to function" ); @@ -394,6 +425,12 @@ const char * mbedtls_high_level_strerr( int error_code ) return( "SSL - The peer notified us that the connection is going to be closed" ); case -(MBEDTLS_ERR_SSL_BAD_CERTIFICATE): return( "SSL - Processing of the Certificate handshake message failed" ); + case -(MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET): + return( "SSL - * Received NewSessionTicket Post Handshake Message. This error code is experimental and may be changed or removed without notice" ); + case -(MBEDTLS_ERR_SSL_CANNOT_READ_EARLY_DATA): + return( "SSL - Not possible to read early data" ); + case -(MBEDTLS_ERR_SSL_CANNOT_WRITE_EARLY_DATA): + return( "SSL - Not possible to write early data" ); case -(MBEDTLS_ERR_SSL_ALLOC_FAILED): return( "SSL - Memory allocation failed" ); case -(MBEDTLS_ERR_SSL_HW_ACCEL_FAILED): @@ -665,6 +702,19 @@ const char * mbedtls_low_level_strerr( int error_code ) return( "HMAC_DRBG - The entropy source failed" ); #endif /* MBEDTLS_HMAC_DRBG_C */ +#if defined(MBEDTLS_LMS_C) + case -(MBEDTLS_ERR_LMS_BAD_INPUT_DATA): + return( "LMS - Bad data has been input to an LMS function" ); + case -(MBEDTLS_ERR_LMS_OUT_OF_PRIVATE_KEYS): + return( "LMS - Specified LMS key has utilised all of its private keys" ); + case -(MBEDTLS_ERR_LMS_VERIFY_FAILED): + return( "LMS - LMS signature verification failed" ); + case -(MBEDTLS_ERR_LMS_ALLOC_FAILED): + return( "LMS - LMS failed to allocate space for a private key" ); + case -(MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL): + return( "LMS - Input/output buffer is too small to contain requited data" ); +#endif /* MBEDTLS_LMS_C */ + #if defined(MBEDTLS_NET_C) case -(MBEDTLS_ERR_NET_SOCKET_FAILED): return( "NET - Failed to open a socket" ); @@ -804,7 +854,7 @@ void mbedtls_strerror( int ret, char *buf, size_t buflen ) #else /* MBEDTLS_ERROR_C */ /* - * Provide an non-function in case MBEDTLS_ERROR_C is not defined + * Provide a dummy implementation when MBEDTLS_ERROR_C is not defined */ void mbedtls_strerror( int ret, char *buf, size_t buflen ) { diff --git a/library/gcm.c b/library/gcm.c index 6d07f8787f..f004a73c75 100644 --- a/library/gcm.c +++ b/library/gcm.c @@ -32,6 +32,7 @@ #if defined(MBEDTLS_GCM_C) #include "mbedtls/gcm.h" +#include "mbedtls/platform.h" #include "mbedtls/platform_util.h" #include "mbedtls/error.h" @@ -41,29 +42,13 @@ #include "aesni.h" #endif -#if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) -#include "mbedtls/aes.h" -#include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */ - #if !defined(MBEDTLS_GCM_ALT) -/* Parameter validation macros */ -#define GCM_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_GCM_BAD_INPUT ) -#define GCM_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - /* * Initialize a context */ void mbedtls_gcm_init( mbedtls_gcm_context *ctx ) { - GCM_VALIDATE( ctx != NULL ); memset( ctx, 0, sizeof( mbedtls_gcm_context ) ); } @@ -143,9 +128,8 @@ int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; const mbedtls_cipher_info_t *cipher_info; - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( key != NULL ); - GCM_VALIDATE_RET( keybits == 128 || keybits == 192 || keybits == 256 ); + if( keybits != 128 && keybits != 192 && keybits != 256 ) + return MBEDTLS_ERR_GCM_BAD_INPUT; cipher_info = mbedtls_cipher_info_from_values( cipher, keybits, MBEDTLS_MODE_ECB ); @@ -256,9 +240,6 @@ int mbedtls_gcm_starts( mbedtls_gcm_context *ctx, size_t use_len, olen = 0; uint64_t iv_bits; - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( iv != NULL ); - /* IV is limited to 2^64 bits, so 2^61 bytes */ /* IV is not allowed to be zero length */ if( iv_len == 0 || (uint64_t) iv_len >> 61 != 0 ) @@ -334,8 +315,6 @@ int mbedtls_gcm_update_ad( mbedtls_gcm_context *ctx, const unsigned char *p; size_t use_len, i, offset; - GCM_VALIDATE_RET( add_len == 0 || add != NULL ); - /* IV is limited to 2^64 bits, so 2^61 bytes */ if( (uint64_t) add_len >> 61 != 0 ) return( MBEDTLS_ERR_GCM_BAD_INPUT ); @@ -434,7 +413,6 @@ int mbedtls_gcm_update( mbedtls_gcm_context *ctx, if( output_size < input_length ) return( MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL ); - GCM_VALIDATE_RET( output_length != NULL ); *output_length = input_length; /* Exit early if input_length==0 so that we don't do any pointer arithmetic @@ -444,10 +422,6 @@ int mbedtls_gcm_update( mbedtls_gcm_context *ctx, if( input_length == 0 ) return( 0 ); - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( input != NULL ); - GCM_VALIDATE_RET( output != NULL ); - if( output > input && (size_t) ( output - input ) < input_length ) return( MBEDTLS_ERR_GCM_BAD_INPUT ); @@ -519,9 +493,6 @@ int mbedtls_gcm_finish( mbedtls_gcm_context *ctx, uint64_t orig_len; uint64_t orig_add_len; - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( tag != NULL ); - /* We never pass any output in finish(). The output parameter exists only * for the sake of alternative implementations. */ (void) output; @@ -580,13 +551,6 @@ int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t olen; - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( iv != NULL ); - GCM_VALIDATE_RET( add_len == 0 || add != NULL ); - GCM_VALIDATE_RET( length == 0 || input != NULL ); - GCM_VALIDATE_RET( length == 0 || output != NULL ); - GCM_VALIDATE_RET( tag != NULL ); - if( ( ret = mbedtls_gcm_starts( ctx, mode, iv, iv_len ) ) != 0 ) return( ret ); @@ -619,13 +583,6 @@ int mbedtls_gcm_auth_decrypt( mbedtls_gcm_context *ctx, size_t i; int diff; - GCM_VALIDATE_RET( ctx != NULL ); - GCM_VALIDATE_RET( iv != NULL ); - GCM_VALIDATE_RET( add_len == 0 || add != NULL ); - GCM_VALIDATE_RET( tag != NULL ); - GCM_VALIDATE_RET( length == 0 || input != NULL ); - GCM_VALIDATE_RET( length == 0 || output != NULL ); - if( ( ret = mbedtls_gcm_crypt_and_tag( ctx, MBEDTLS_GCM_DECRYPT, length, iv, iv_len, add, add_len, input, output, tag_len, check_tag ) ) != 0 ) diff --git a/library/hash_info.c b/library/hash_info.c new file mode 100644 index 0000000000..cd7d70e821 --- /dev/null +++ b/library/hash_info.c @@ -0,0 +1,127 @@ +/* + * Hash information that's independent from the crypto implementation. + * + * (See the corresponding header file for usage notes.) + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "hash_info.h" +#include "mbedtls/legacy_or_psa.h" +#include "mbedtls/error.h" + +typedef struct +{ + psa_algorithm_t psa_alg; + mbedtls_md_type_t md_type; + unsigned char size; + unsigned char block_size; +} hash_entry; + +static const hash_entry hash_table[] = { +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_MD5, MBEDTLS_MD_MD5, 16, 64 }, +#endif +#if defined(MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_RIPEMD160, MBEDTLS_MD_RIPEMD160, 20, 64 }, +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_SHA_1, MBEDTLS_MD_SHA1, 20, 64 }, +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_SHA_224, MBEDTLS_MD_SHA224, 28, 64 }, +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_SHA_256, MBEDTLS_MD_SHA256, 32, 64 }, +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_SHA_384, MBEDTLS_MD_SHA384, 48, 128 }, +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA) + { PSA_ALG_SHA_512, MBEDTLS_MD_SHA512, 64, 128 }, +#endif + { PSA_ALG_NONE, MBEDTLS_MD_NONE, 0, 0 }, +}; + +/* Get size from MD type */ +unsigned char mbedtls_hash_info_get_size( mbedtls_md_type_t md_type ) +{ + const hash_entry *entry = hash_table; + while( entry->md_type != MBEDTLS_MD_NONE && + entry->md_type != md_type ) + { + entry++; + } + + return entry->size; +} + +/* Get block size from MD type */ +unsigned char mbedtls_hash_info_get_block_size( mbedtls_md_type_t md_type ) +{ + const hash_entry *entry = hash_table; + while( entry->md_type != MBEDTLS_MD_NONE && + entry->md_type != md_type ) + { + entry++; + } + + return entry->block_size; +} + +/* Get PSA from MD */ +psa_algorithm_t mbedtls_hash_info_psa_from_md( mbedtls_md_type_t md_type ) +{ + const hash_entry *entry = hash_table; + while( entry->md_type != MBEDTLS_MD_NONE && + entry->md_type != md_type ) + { + entry++; + } + + return entry->psa_alg; +} + +/* Get MD from PSA */ +mbedtls_md_type_t mbedtls_hash_info_md_from_psa( psa_algorithm_t psa_alg ) +{ + const hash_entry *entry = hash_table; + while( entry->md_type != MBEDTLS_MD_NONE && + entry->psa_alg != psa_alg ) + { + entry++; + } + + return entry->md_type; +} + +int mbedtls_md_error_from_psa( psa_status_t status ) +{ + switch( status ) + { + case PSA_SUCCESS: + return( 0 ); + case PSA_ERROR_NOT_SUPPORTED: + return( MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE ); + case PSA_ERROR_INVALID_ARGUMENT: + return( MBEDTLS_ERR_MD_BAD_INPUT_DATA ); + case PSA_ERROR_INSUFFICIENT_MEMORY: + return( MBEDTLS_ERR_MD_ALLOC_FAILED ); + default: + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + } +} diff --git a/library/hash_info.h b/library/hash_info.h new file mode 100644 index 0000000000..1b7b46cda4 --- /dev/null +++ b/library/hash_info.h @@ -0,0 +1,99 @@ +/** + * Hash information that's independent from the crypto implementation. + * + * This can be used by: + * - code based on PSA + * - code based on the legacy API + * - code based on either of them depending on MBEDTLS_USE_PSA_CRYPTO + * - code based on either of them depending on what's available + * + * Note: this internal module will go away when everything becomes based on + * PSA Crypto; it is a helper for the transition while hash algorithms are + * still represented using mbedtls_md_type_t in most places even when PSA is + * used for the actual crypto computations. + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBEDTLS_HASH_INFO_H +#define MBEDTLS_HASH_INFO_H + +#include "common.h" + +#include "mbedtls/md.h" +#include "psa/crypto.h" + +/** \def MBEDTLS_HASH_MAX_SIZE + * + * Maximum size of a hash based on configuration. + */ +#if defined(MBEDTLS_MD_C) && ( \ + !defined(MBEDTLS_PSA_CRYPTO_C) || \ + MBEDTLS_MD_MAX_SIZE >= PSA_HASH_MAX_SIZE ) +#define MBEDTLS_HASH_MAX_SIZE MBEDTLS_MD_MAX_SIZE +#elif defined(MBEDTLS_PSA_CRYPTO_C) && ( \ + !defined(MBEDTLS_MD_C) || \ + PSA_HASH_MAX_SIZE >= MBEDTLS_MD_MAX_SIZE ) +#define MBEDTLS_HASH_MAX_SIZE PSA_HASH_MAX_SIZE +#endif + +/** Get the output length of the given hash type from its MD type. + * + * \note To get the output length from the PSA alg, use \c PSA_HASH_LENGTH(). + * + * \param md_type The hash MD type. + * + * \return The output length in bytes, or 0 if not known. + */ +unsigned char mbedtls_hash_info_get_size( mbedtls_md_type_t md_type ); + +/** Get the block size of the given hash type from its MD type. + * + * \note To get the output length from the PSA alg, use + * \c PSA_HASH_BLOCK_LENGTH(). + * + * \param md_type The hash MD type. + * + * \return The block size in bytes, or 0 if not known. + */ +unsigned char mbedtls_hash_info_get_block_size( mbedtls_md_type_t md_type ); + +/** Get the PSA alg from the MD type. + * + * \param md_type The hash MD type. + * + * \return The corresponding PSA algorithm identifier, + * or PSA_ALG_NONE if not known. + */ +psa_algorithm_t mbedtls_hash_info_psa_from_md( mbedtls_md_type_t md_type ); + +/** Get the MD type alg from the PSA algorithm identifier. + * + * \param psa_alg The PSA hash algorithm. + * + * \return The corresponding MD type, + * or MBEDTLS_MD_NONE if not known. + */ +mbedtls_md_type_t mbedtls_hash_info_md_from_psa( psa_algorithm_t psa_alg ); + +/** Convert PSA status to MD error code. + * + * \param status PSA status. + * + * \return The corresponding MD error code, + */ +int mbedtls_md_error_from_psa( psa_status_t status ); + +#endif /* MBEDTLS_HASH_INFO_H */ diff --git a/library/hmac_drbg.c b/library/hmac_drbg.c index 8b13a860f7..6bc679dd25 100644 --- a/library/hmac_drbg.c +++ b/library/hmac_drbg.c @@ -37,14 +37,7 @@ #include #endif -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_SELF_TEST */ -#endif /* MBEDTLS_PLATFORM_C */ /* * HMAC_DRBG context initialization diff --git a/library/lmots.c b/library/lmots.c index 7319d29be7..788063c549 100644 --- a/library/lmots.c +++ b/library/lmots.c @@ -32,653 +32,795 @@ #include "common.h" -#ifdef MBEDTLS_LMOTS_C +#if defined(MBEDTLS_LMS_C) #include -#include "mbedtls/lmots.h" -#include "mbedtls/md.h" +#include "lmots.h" + +#include "mbedtls/lms.h" #include "mbedtls/platform_util.h" #include "mbedtls/error.h" -#define W_SYMBOL_BIT_LEN (8) -#define CHECKSUM_LEN (2) -#define I_SYMBOL_IDX_LEN (2) -#define J_HASH_IDX_LEN (1) -#define D_CONST_LEN (2) +#include "psa/crypto.h" + +#define PUBLIC_KEY_TYPE_OFFSET (0) +#define PUBLIC_KEY_I_KEY_ID_OFFSET (PUBLIC_KEY_TYPE_OFFSET + \ + MBEDTLS_LMOTS_TYPE_LEN) +#define PUBLIC_KEY_Q_LEAF_ID_OFFSET (PUBLIC_KEY_I_KEY_ID_OFFSET + \ + MBEDTLS_LMOTS_I_KEY_ID_LEN) +#define PUBLIC_KEY_KEY_HASH_OFFSET (PUBLIC_KEY_Q_LEAF_ID_OFFSET + \ + MBEDTLS_LMOTS_Q_LEAF_ID_LEN) + +/* We only support parameter sets that use 8-bit digits, as it does not require + * translation logic between digits and bytes */ +#define W_WINTERNITZ_PARAMETER (8u) +#define CHECKSUM_LEN (2) +#define I_DIGIT_IDX_LEN (2) +#define J_HASH_IDX_LEN (1) +#define D_CONST_LEN (2) + +#define DIGIT_MAX_VALUE ((1u << W_WINTERNITZ_PARAMETER) - 1u) -#define SYMBOL_MAX_VAL ((1 << W_SYMBOL_BIT_LEN) - 1) +#define D_CONST_LEN (2) +static const unsigned char D_PUBLIC_CONSTANT_BYTES[D_CONST_LEN] = {0x80, 0x80}; +static const unsigned char D_MESSAGE_CONSTANT_BYTES[D_CONST_LEN] = {0x81, 0x81}; -#define D_PBLC_CONSTANT (0x8080) -#define D_MESG_CONSTANT (0x8181) +#if defined(MBEDTLS_TEST_HOOKS) +int( *mbedtls_lmots_sign_private_key_invalidated_hook )( unsigned char * ) = NULL; +#endif /* defined(MBEDTLS_TEST_HOOKS) */ -static void val_to_network_bytes(unsigned int val, size_t len, unsigned char *bytes) +void mbedtls_lms_unsigned_int_to_network_bytes( unsigned int val, size_t len, + unsigned char *bytes ) { size_t idx; - for (idx = 0; idx < len; idx++) { - bytes[idx] = (val >> ((len - 1 - idx) * 8)) & 0xFF; + for ( idx = 0; idx < len; idx++ ) + { + bytes[idx] = ( val >> ( ( len - 1 - idx ) * 8 ) ) & 0xFF; } } -static unsigned int network_bytes_to_val(size_t len, const unsigned char *bytes) +unsigned int mbedtls_lms_network_bytes_to_unsigned_int( size_t len, + const unsigned char *bytes ) { size_t idx; unsigned int val = 0; - for (idx = 0; idx < len; idx++) { - val |= ((unsigned int)bytes[idx]) << (8 * (len - 1 - idx)); + for ( idx = 0; idx < len; idx++ ) + { + val |= ( ( unsigned int )bytes[idx] ) << (8 * ( len - 1 - idx ) ); } - return val; + return ( val ); } -static unsigned short lmots_checksum_generate( const unsigned char* digest ) +/* Calculate the checksum digits that are appended to the end of the LMOTS digit + * string. See NIST SP800-208 section 3.1 or RFC8554 Algorithm 2 for details of + * the checksum algorithm. + * + * params The LMOTS parameter set, I and q values which + * describe the key being used. + * + * digest The digit string to create the digest from. As + * this does not contain a checksum, it is the same + * size as a hash output. + */ +static unsigned short lmots_checksum_calculate( const mbedtls_lmots_parameters_t *params, + const unsigned char* digest ) { size_t idx; - unsigned short sum = 0; + unsigned sum = 0; - for ( idx = 0; idx < MBEDTLS_LMOTS_N_HASH_LEN; idx++ ) + for ( idx = 0; idx < MBEDTLS_LMOTS_N_HASH_LEN(params->type); idx++ ) { - sum += ( 1 << W_SYMBOL_BIT_LEN ) - 1 - digest[idx]; + sum += DIGIT_MAX_VALUE - digest[idx]; } - return sum; + return ( sum ); } -static int create_symbol_array( const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - const unsigned char q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN], - const unsigned char *msg, - size_t msg_len, - const unsigned char C_random_value[MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN], - unsigned char out[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN] ) +/* Create the string of digest digits (in the base determined by the Winternitz + * parameter with the checksum appended to the end (Q || cksm(Q)). See NIST + * SP800-208 section 3.1 or RFC8554 Algorithm 3 step 5 (also used in Algorithm + * 4b step 3) for details. + * + * params The LMOTS parameter set, I and q values which + * describe the key being used. + * + * msg The message that will be hashed to create the + * digest. + * + * msg_size The size of the message. + * + * C_random_value The random value that will be combined with the + * message digest. This is always the same size as a + * hash output for whichever hash algorithm is + * determined by the parameter set. + * + * output An output containing the digit string (+ + * checksum) of length P digits (in the case of + * MBEDTLS_LMOTS_SHA256_N32_W8, this means it is of + * size P bytes). + */ +static int create_digit_array_with_checksum( const mbedtls_lmots_parameters_t *params, + const unsigned char *msg, + size_t msg_len, + const unsigned char *C_random_value, + unsigned char *out ) { - mbedtls_md_context_t hash_ctx; - unsigned char D_MESG_BYTES[D_CONST_LEN]; + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; unsigned short checksum; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if ( ret ) - { - goto out; - } + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, I_key_identifier, MBEDTLS_LMOTS_I_KEY_ID_LEN ); - if ( ret ) - { - goto out; - } + status = psa_hash_update( &op, params->I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, q_leaf_identifier, MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); - if ( ret ) - { - goto out; - } + status = psa_hash_update( &op, params->q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - val_to_network_bytes( D_MESG_CONSTANT, D_CONST_LEN, D_MESG_BYTES ); - ret = mbedtls_md_update( &hash_ctx, D_MESG_BYTES, sizeof( D_MESG_BYTES ) ); - if ( ret ) - { - goto out; - } + status = psa_hash_update( &op, D_MESSAGE_CONSTANT_BYTES, D_CONST_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, C_random_value, MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN ); - if ( ret ) - { - goto out; - } + status = psa_hash_update( &op, C_random_value, + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(params->type) ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, msg, msg_len ); - if ( ret ) - { - goto out; - } + status = psa_hash_update( &op, msg, msg_len ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_finish( &hash_ctx, out ); - if ( ret ) - { - goto out; - } + status = psa_hash_finish( &op, out, + MBEDTLS_LMOTS_N_HASH_LEN(params->type), + &output_hash_len ); + if( status != PSA_SUCCESS ) + goto exit; - checksum = lmots_checksum_generate( out ); - val_to_network_bytes( checksum, CHECKSUM_LEN, out + MBEDTLS_LMOTS_N_HASH_LEN ); + checksum = lmots_checksum_calculate( params, out ); + mbedtls_lms_unsigned_int_to_network_bytes( checksum, CHECKSUM_LEN, + out + MBEDTLS_LMOTS_N_HASH_LEN(params->type) ); -out: - mbedtls_md_free( &hash_ctx ); +exit: + psa_hash_abort( &op ); - return( ret ); + return( mbedtls_lms_error_from_psa( status ) ); } -static int hash_symbol_array( const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - const unsigned char q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN], - const unsigned char x_symbol_array[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32], - const unsigned char hash_idx_min_values[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN], - const unsigned char hash_idx_max_values[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN], - unsigned char output[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32] ) +/* Hash each element of the string of digits (+ checksum), producing a hash + * output for each element. This is used in several places (by varying the + * hash_idx_min/max_values) in order to calculate a public key from a private + * key (RFC8554 Algorithm 1 step 4), in order to sign a message (RFC8554 + * Algorithm 3 step 5), and to calculate a public key candidate from a + * signature and message (RFC8554 Algorithm 4b step 3). + * + * params The LMOTS parameter set, I and q values which + * describe the key being used. + * + * x_digit_array The array of digits (of size P, 34 in the case of + * MBEDTLS_LMOTS_SHA256_N32_W8). + * + * hash_idx_min_values An array of the starting values of the j iterator + * for each of the members of the digit array. If + * this value in NULL, then all iterators will start + * at 0. + * + * hash_idx_max_values An array of the upper bound values of the j + * iterator for each of the members of the digit + * array. If this value in NULL, then iterator is + * bounded to be less than 2^w - 1 (255 in the case + * of MBEDTLS_LMOTS_SHA256_N32_W8) + * + * output An array containing a hash output for each member + * of the digit string P. In the case of + * MBEDTLS_LMOTS_SHA256_N32_W8, this is of size 32 * + * 34. + */ +static int hash_digit_array( const mbedtls_lmots_parameters_t *params, + const unsigned char *x_digit_array, + const unsigned char *hash_idx_min_values, + const unsigned char *hash_idx_max_values, + unsigned char *output ) { - unsigned char i_symbol_idx; - unsigned char j_hash_idx; - unsigned char i_symbol_idx_bytes[I_SYMBOL_IDX_LEN]; - unsigned char j_hash_idx_bytes[1]; - unsigned short j_hash_idx_min; - unsigned short j_hash_idx_max; - mbedtls_md_context_t hash_ctx; - unsigned char tmp_hash[32]; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - for ( i_symbol_idx = 0; i_symbol_idx < MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN; i_symbol_idx++ ) - { - - memcpy( tmp_hash, &x_symbol_array[i_symbol_idx], MBEDTLS_LMOTS_N_HASH_LEN ); - - j_hash_idx_min = hash_idx_min_values != NULL ? hash_idx_min_values[i_symbol_idx] : 0; - j_hash_idx_max = hash_idx_max_values != NULL ? hash_idx_max_values[i_symbol_idx] : SYMBOL_MAX_VAL; - - for ( j_hash_idx = (unsigned char)j_hash_idx_min; j_hash_idx < j_hash_idx_max; j_hash_idx++ ) + unsigned int i_digit_idx; + unsigned char i_digit_idx_bytes[I_DIGIT_IDX_LEN]; + unsigned int j_hash_idx; + unsigned char j_hash_idx_bytes[J_HASH_IDX_LEN]; + unsigned int j_hash_idx_min; + unsigned int j_hash_idx_max; + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; + unsigned char tmp_hash[MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + + for ( i_digit_idx = 0; + i_digit_idx < MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type); + i_digit_idx++ ) + { + + memcpy( tmp_hash, + &x_digit_array[i_digit_idx * MBEDTLS_LMOTS_N_HASH_LEN(params->type)], + MBEDTLS_LMOTS_N_HASH_LEN(params->type) ); + + j_hash_idx_min = hash_idx_min_values != NULL ? + hash_idx_min_values[i_digit_idx] : 0; + j_hash_idx_max = hash_idx_max_values != NULL ? + hash_idx_max_values[i_digit_idx] : DIGIT_MAX_VALUE; + + for ( j_hash_idx = j_hash_idx_min; + j_hash_idx < j_hash_idx_max; + j_hash_idx++ ) { - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_update( &hash_ctx, I_key_identifier, MBEDTLS_LMOTS_I_KEY_ID_LEN ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_update( &hash_ctx, q_leaf_identifier, MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); - if ( ret ) - { - goto out; - } - - val_to_network_bytes( i_symbol_idx, I_SYMBOL_IDX_LEN, i_symbol_idx_bytes ); - ret = mbedtls_md_update( &hash_ctx, i_symbol_idx_bytes, I_SYMBOL_IDX_LEN ); - if ( ret ) - { - goto out; - } - - val_to_network_bytes( j_hash_idx, J_HASH_IDX_LEN, j_hash_idx_bytes ); - ret = mbedtls_md_update( &hash_ctx, j_hash_idx_bytes, J_HASH_IDX_LEN ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_update( &hash_ctx, tmp_hash, MBEDTLS_LMOTS_N_HASH_LEN ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_finish( &hash_ctx, tmp_hash ); - if ( ret ) - { - goto out; - } - - mbedtls_md_free( &hash_ctx ); + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, + params->I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, + params->q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + mbedtls_lms_unsigned_int_to_network_bytes( i_digit_idx, + I_DIGIT_IDX_LEN, + i_digit_idx_bytes ); + status = psa_hash_update( &op, i_digit_idx_bytes, I_DIGIT_IDX_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + mbedtls_lms_unsigned_int_to_network_bytes( j_hash_idx, + J_HASH_IDX_LEN, + j_hash_idx_bytes ); + status = psa_hash_update( &op, j_hash_idx_bytes, J_HASH_IDX_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, tmp_hash, + MBEDTLS_LMOTS_N_HASH_LEN(params->type) ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_finish( &op, tmp_hash, sizeof( tmp_hash ), + &output_hash_len ); + if( status != PSA_SUCCESS ) + goto exit; + + psa_hash_abort( &op ); } - memcpy( &output[i_symbol_idx], tmp_hash, MBEDTLS_LMOTS_N_HASH_LEN ); + memcpy( &output[i_digit_idx * MBEDTLS_LMOTS_N_HASH_LEN(params->type)], + tmp_hash, MBEDTLS_LMOTS_N_HASH_LEN(params->type) ); } -out: - if( ret ) - { - mbedtls_md_free( &hash_ctx ); - return( ret ); - } +exit: + psa_hash_abort( &op ); + mbedtls_platform_zeroize( tmp_hash, sizeof( tmp_hash ) ); - return ret; + return( mbedtls_lms_error_from_psa( status ) ); } -static int public_key_from_hashed_symbol_array( const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - const unsigned char q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN], - const unsigned char y_hashed_symbols[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32], - unsigned char *pub_key ) +/* Combine the hashes of the digit array into a public key. This is used in + * in order to calculate a public key from a private key (RFC8554 Algorithm 1 + * step 4), and to calculate a public key candidate from a signature and message + * (RFC8554 Algorithm 4b step 3). + * + * params The LMOTS parameter set, I and q values which describe + * the key being used. + * y_hashed_digits The array of hashes, one hash for each digit of the + * symbol array (which is of size P, 34 in the case of + * MBEDTLS_LMOTS_SHA256_N32_W8) + * + * pub_key The output public key (or candidate public key in + * case this is being run as part of signature + * verification), in the form of a hash output. + */ +static int public_key_from_hashed_digit_array( const mbedtls_lmots_parameters_t *params, + const unsigned char *y_hashed_digits, + unsigned char *pub_key ) { - unsigned char D_PBLC_bytes[D_CONST_LEN]; - mbedtls_md_context_t hash_ctx; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_update( &hash_ctx, I_key_identifier, - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - if ( ret ) - { - goto out; - } - - ret = mbedtls_md_update( &hash_ctx, q_leaf_identifier, - MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); - if ( ret ) - { - goto out; - } - - val_to_network_bytes( D_PBLC_CONSTANT, D_CONST_LEN, D_PBLC_bytes ); - ret = mbedtls_md_update( &hash_ctx, D_PBLC_bytes, D_CONST_LEN ); - if ( ret ) - { - goto out; - } + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; + + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, + params->I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, params->q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, D_PUBLIC_CONSTANT_BYTES, D_CONST_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, y_hashed_digits, + MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(params->type) * + MBEDTLS_LMOTS_N_HASH_LEN(params->type) ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_finish( &op, pub_key, + MBEDTLS_LMOTS_N_HASH_LEN(params->type), + &output_hash_len ); + if( status != PSA_SUCCESS ) + +exit: + psa_hash_abort( &op ); + + return( mbedtls_lms_error_from_psa( status ) ); +} - ret = mbedtls_md_update( &hash_ctx, ( unsigned char * )y_hashed_symbols, - MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN * MBEDTLS_LMOTS_N_HASH_LEN ); - if ( ret ) - { - goto out; +int mbedtls_lms_error_from_psa( psa_status_t status ) +{ + switch( status ) + { + case PSA_SUCCESS: + return( 0 ); + case PSA_ERROR_HARDWARE_FAILURE: + return( MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED ); + case PSA_ERROR_NOT_SUPPORTED: + return( MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED ); + case PSA_ERROR_BUFFER_TOO_SMALL: + return( MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); + case PSA_ERROR_INVALID_ARGUMENT: + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + default: + return( MBEDTLS_ERR_ERROR_GENERIC_ERROR ); } - - ret = mbedtls_md_finish( &hash_ctx, pub_key ); - -out: - mbedtls_md_free( &hash_ctx ); - return( ret ); } -void mbedtls_lmots_init( mbedtls_lmots_context *ctx ) +void mbedtls_lmots_public_init( mbedtls_lmots_public_t *ctx ) { - if( ctx == NULL ) { - return; - } + memset( ctx, 0, sizeof( *ctx ) ) ; +} - mbedtls_platform_zeroize( ctx, sizeof( mbedtls_lmots_context ) ) ; +void mbedtls_lmots_public_free( mbedtls_lmots_public_t *ctx ) +{ + mbedtls_platform_zeroize( ctx, sizeof( *ctx ) ) ; } -void mbedtls_lmots_free( mbedtls_lmots_context *ctx ) +int mbedtls_lmots_import_public_key( mbedtls_lmots_public_t *ctx, + const unsigned char *key, size_t key_len ) { - if( ctx == NULL ) + if( key_len < MBEDTLS_LMOTS_SIG_TYPE_OFFSET + MBEDTLS_LMOTS_TYPE_LEN ) { - return; + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - mbedtls_platform_zeroize( ctx, sizeof( mbedtls_lmots_context ) ) ; -} + ctx->params.type = + mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMOTS_TYPE_LEN, + key + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); -int mbedtls_lmots_set_algorithm_type( mbedtls_lmots_context *ctx, - mbedtls_lmots_algorithm_type_t type ) -{ - if( ctx == NULL ) + if( key_len != MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type) ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - ctx->MBEDTLS_PRIVATE(type) = type; + memcpy( ctx->params.I_key_identifier, + key + PUBLIC_KEY_I_KEY_ID_OFFSET, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + + memcpy( ctx->params.q_leaf_identifier, + key + PUBLIC_KEY_Q_LEAF_ID_OFFSET, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + + memcpy( ctx->public_key, + key + PUBLIC_KEY_KEY_HASH_OFFSET, + MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type) ); + + ctx->have_public_key = 1; return( 0 ); } -int mbedtls_lmots_generate_pub_key_candidate( const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - const unsigned char q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN], - const unsigned char *msg, - size_t msg_len, - const unsigned char *sig, - unsigned char *out ) +int mbedtls_lmots_export_public_key( const mbedtls_lmots_public_t *ctx, + unsigned char *key, size_t key_size, + size_t *key_len ) { - unsigned char tmp_symbol_array[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN]; - unsigned char y_hashed_symbols[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32]; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - if (I_key_identifier == NULL || msg == NULL || sig == NULL || out == NULL) + if( key_size < MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type) ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); } - ret = create_symbol_array( I_key_identifier, q_leaf_identifier, msg, msg_len, - sig + MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET, tmp_symbol_array ); - if ( ret ) + if( ! ctx->have_public_key ) { - return ( ret ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - ret = hash_symbol_array( I_key_identifier, q_leaf_identifier, - ( const unsigned char( *)[32] )(sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET), - tmp_symbol_array, NULL, y_hashed_symbols ); - if ( ret ) - { - return ( ret ); - } + mbedtls_lms_unsigned_int_to_network_bytes( ctx->params.type, + MBEDTLS_LMOTS_TYPE_LEN, + key + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); + + memcpy( key + PUBLIC_KEY_I_KEY_ID_OFFSET, + ctx->params.I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + + memcpy( key + PUBLIC_KEY_Q_LEAF_ID_OFFSET, + ctx->params.q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); - ret = public_key_from_hashed_symbol_array( I_key_identifier, q_leaf_identifier, - ( const unsigned char( *)[32] )y_hashed_symbols, - out ); - if ( ret ) + memcpy( key + PUBLIC_KEY_KEY_HASH_OFFSET, ctx->public_key, + MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type) ); + + if( key_len != NULL ) { - return ( ret ); + *key_len = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(ctx->params.type); } return( 0 ); } -int mbedtls_lmots_sign( mbedtls_lmots_context *ctx, - int (*f_rng)(void *, unsigned char *, size_t), - void *p_rng, const unsigned char *msg, size_t msg_len, - unsigned char *sig ) +int mbedtls_lmots_calculate_public_key_candidate( const mbedtls_lmots_parameters_t *params, + const unsigned char *msg, + size_t msg_size, + const unsigned char *sig, + size_t sig_size, + unsigned char *out, + size_t out_size, + size_t *out_len ) { - unsigned char tmp_symbol_array[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN]; - unsigned char tmp_sig[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][MBEDTLS_LMOTS_N_HASH_LEN]; + unsigned char tmp_digit_array[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX]; + unsigned char y_hashed_digits[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX][MBEDTLS_LMOTS_N_HASH_LEN_MAX]; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL || f_rng == NULL || p_rng == NULL || msg == NULL || sig == NULL) + if( msg == NULL && msg_size != 0 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return ( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - /* Check that a private key is loaded */ - if ( !ctx->MBEDTLS_PRIVATE(have_privkey) ) + if( sig_size != MBEDTLS_LMOTS_SIG_LEN(params->type) || + out_size < MBEDTLS_LMOTS_N_HASH_LEN(params->type) ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - ret = f_rng( p_rng, sig + MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET, MBEDTLS_LMOTS_N_HASH_LEN ); - if ( ret ) + ret = create_digit_array_with_checksum( params, msg, msg_size, + sig + MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET, + tmp_digit_array ); + if( ret ) { - return( ret ); + return ( ret ); } - ret = create_symbol_array( ctx->MBEDTLS_PRIVATE(I_key_identifier), - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - msg, msg_len, sig + MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET, - tmp_symbol_array ); - if ( ret ) + ret = hash_digit_array( params, + sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(params->type), + tmp_digit_array, NULL, ( unsigned char * )y_hashed_digits ); + if( ret ) { - return( ret ); + return ( ret ); } - ret = hash_symbol_array( ctx->MBEDTLS_PRIVATE(I_key_identifier), - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - ( const unsigned char( *)[32] )(ctx->MBEDTLS_PRIVATE(priv_key)), - NULL, tmp_symbol_array, tmp_sig ); - if ( ret ) + ret = public_key_from_hashed_digit_array( params, + ( unsigned char * )y_hashed_digits, + out ); + if( ret ) { - return( ret ); + return ( ret ); } - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(type), MBEDTLS_LMOTS_TYPE_LEN, - sig + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); - - /* We've got a valid signature now, so it's time to make sure the private - * key can't be reused. - */ - ctx->MBEDTLS_PRIVATE(have_privkey) = 0; - mbedtls_platform_zeroize(ctx->MBEDTLS_PRIVATE(priv_key), - sizeof(ctx->MBEDTLS_PRIVATE(priv_key))); - - memcpy(sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET, tmp_sig, - MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN * MBEDTLS_LMOTS_N_HASH_LEN); + if( out_len != NULL ) + { + *out_len = MBEDTLS_LMOTS_N_HASH_LEN(params->type); + } return( 0 ); } -int mbedtls_lmots_verify( mbedtls_lmots_context *ctx, const unsigned char *msg, - size_t msg_len, const unsigned char *sig ) +int mbedtls_lmots_verify( const mbedtls_lmots_public_t *ctx, + const unsigned char *msg, size_t msg_size, + const unsigned char *sig, size_t sig_size ) { - unsigned char Kc_public_key_candidate[32]; + unsigned char Kc_public_key_candidate[MBEDTLS_LMOTS_N_HASH_LEN_MAX]; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL || msg == NULL || sig == NULL) + if( msg == NULL && msg_size != 0 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if ( !ctx->MBEDTLS_PRIVATE(have_pubkey) ) + if( !ctx->have_public_key ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ctx->MBEDTLS_PRIVATE(type ) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( ctx->params.type != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if ( network_bytes_to_val( MBEDTLS_LMOTS_TYPE_LEN, - sig + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( sig_size < MBEDTLS_LMOTS_SIG_TYPE_OFFSET + MBEDTLS_LMOTS_TYPE_LEN ) { - return( MBEDTLS_ERR_LMOTS_VERIFY_FAILED ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - ret = mbedtls_lmots_generate_pub_key_candidate( ctx->MBEDTLS_PRIVATE(I_key_identifier), - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - msg, msg_len, sig, - Kc_public_key_candidate ); - if ( ret ) + if( mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMOTS_TYPE_LEN, + sig + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ) != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - return( ret ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - if ( memcmp( &Kc_public_key_candidate, ctx->MBEDTLS_PRIVATE(pub_key), - sizeof( ctx->MBEDTLS_PRIVATE(pub_key) ) ) ) + ret = mbedtls_lmots_calculate_public_key_candidate( &ctx->params, + msg, msg_size, sig, sig_size, + Kc_public_key_candidate, + MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type), + NULL ); + if( ret ) { - return( MBEDTLS_ERR_LMOTS_VERIFY_FAILED ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - return( 0 ); -} - -int mbedtls_lmots_import_pubkey( mbedtls_lmots_context *ctx, - const unsigned char *key ) -{ - if ( ctx == NULL || key == NULL) + if( memcmp( &Kc_public_key_candidate, ctx->public_key, + sizeof( ctx->public_key ) ) ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - ctx->MBEDTLS_PRIVATE(type) = network_bytes_to_val( MBEDTLS_LMOTS_TYPE_LEN, - key + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); - - memcpy( ctx->MBEDTLS_PRIVATE(I_key_identifier), key + MBEDTLS_LMOTS_PUBKEY_I_KEY_ID_OFFSET, - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - - memcpy( ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), key + MBEDTLS_LMOTS_PUBKEY_Q_LEAF_ID_OFFSET, - MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); - ctx->MBEDTLS_PRIVATE(q_leaf_identifier) = network_bytes_to_val( MBEDTLS_LMOTS_Q_LEAF_ID_LEN, - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes) ); + return( 0 ); +} - memcpy( ctx->MBEDTLS_PRIVATE(pub_key), key + MBEDTLS_LMOTS_PUBKEY_KEY_HASH_OFFSET, MBEDTLS_LMOTS_N_HASH_LEN ); +#if defined(MBEDTLS_LMS_PRIVATE) - ctx->MBEDTLS_PRIVATE(have_pubkey) = 1; +void mbedtls_lmots_private_init( mbedtls_lmots_private_t *ctx ) +{ + memset( ctx, 0, sizeof( *ctx ) ) ; +} - return( 0 ); +void mbedtls_lmots_private_free( mbedtls_lmots_private_t *ctx ) +{ + mbedtls_platform_zeroize( ctx, sizeof( *ctx ) ) ; } -int mbedtls_lmots_export_pubkey( mbedtls_lmots_context *ctx, - unsigned char *key ) +int mbedtls_lmots_generate_private_key( mbedtls_lmots_private_t *ctx, + mbedtls_lmots_algorithm_type_t type, + const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], + uint32_t q_leaf_identifier, + const unsigned char *seed, + size_t seed_size ) { - if ( ctx == NULL || key == NULL) + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; + unsigned int i_digit_idx; + unsigned char i_digit_idx_bytes[2]; + unsigned char const_bytes[1]; + + if( ctx->have_private_key ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if ( ! ctx->MBEDTLS_PRIVATE(have_pubkey) ) + if( type != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(type), MBEDTLS_LMOTS_TYPE_LEN, - key + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); + ctx->params.type = type; - memcpy( key + MBEDTLS_LMOTS_PUBKEY_I_KEY_ID_OFFSET, ctx->MBEDTLS_PRIVATE(I_key_identifier), - MBEDTLS_LMOTS_I_KEY_ID_LEN ); + memcpy( ctx->params.I_key_identifier, + I_key_identifier, + sizeof( ctx->params.I_key_identifier ) ); - memcpy( key + MBEDTLS_LMOTS_PUBKEY_Q_LEAF_ID_OFFSET, ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + mbedtls_lms_unsigned_int_to_network_bytes( q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN, + ctx->params.q_leaf_identifier ); - memcpy( key + MBEDTLS_LMOTS_PUBKEY_KEY_HASH_OFFSET, ctx->MBEDTLS_PRIVATE(pub_key), - MBEDTLS_LMOTS_N_HASH_LEN ); + mbedtls_lms_unsigned_int_to_network_bytes( 0xFF, sizeof( const_bytes ), + const_bytes ); - return( 0 ); -} + for ( i_digit_idx = 0; + i_digit_idx < MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(ctx->params.type); + i_digit_idx++ ) + { + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; + status = psa_hash_update( &op, + ctx->params.I_key_identifier, + sizeof( ctx->params.I_key_identifier ) ); + if( status != PSA_SUCCESS ) + goto exit; -int mbedtls_lmots_gen_pubkey( mbedtls_lmots_context *ctx ) -{ - unsigned char y_hashed_symbols[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32]; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + status = psa_hash_update( &op, + ctx->params.q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - if( ctx == NULL ) - { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + mbedtls_lms_unsigned_int_to_network_bytes( i_digit_idx, I_DIGIT_IDX_LEN, + i_digit_idx_bytes ); + status = psa_hash_update( &op, i_digit_idx_bytes, I_DIGIT_IDX_LEN ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, const_bytes, sizeof( const_bytes ) ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_update( &op, seed, seed_size ); + if( status != PSA_SUCCESS ) + goto exit; + + status = psa_hash_finish( &op, + ctx->private_key[i_digit_idx], + MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type), + &output_hash_len ); + if( status != PSA_SUCCESS ) + goto exit; + + psa_hash_abort( &op ); } + ctx->have_private_key = 1; + +exit: + psa_hash_abort( &op ); + + return ( mbedtls_lms_error_from_psa( status ) ); +} + +int mbedtls_lmots_calculate_public_key( mbedtls_lmots_public_t *ctx, + const mbedtls_lmots_private_t *priv_ctx ) +{ + unsigned char y_hashed_digits[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX][MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + /* Check that a private key is loaded */ - if ( !ctx->MBEDTLS_PRIVATE(have_privkey) ) + if( !priv_ctx->have_private_key ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - ret = hash_symbol_array( ctx->MBEDTLS_PRIVATE(I_key_identifier), - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - ( const unsigned char( *)[32] )(ctx->MBEDTLS_PRIVATE(priv_key)), - NULL, NULL, y_hashed_symbols ); - if ( ret ) + ret = hash_digit_array( &priv_ctx->params, + ( unsigned char * )priv_ctx->private_key, NULL, + NULL, ( unsigned char * )y_hashed_digits ); + if( ret ) { - return( ret ); + goto exit; } - ret = public_key_from_hashed_symbol_array( ctx->MBEDTLS_PRIVATE(I_key_identifier), - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - ( const unsigned char( *)[32] )y_hashed_symbols, - ctx->MBEDTLS_PRIVATE(pub_key) ); - if ( ret ) + ret = public_key_from_hashed_digit_array( &priv_ctx->params, + ( unsigned char * )y_hashed_digits, + ctx->public_key ); + if( ret ) { - return( ret ); + goto exit; } - ctx->MBEDTLS_PRIVATE(have_pubkey = 1); + memcpy( &ctx->params, &priv_ctx->params, + sizeof( ctx->params ) ); + + ctx->have_public_key = 1; + +exit: + mbedtls_platform_zeroize( y_hashed_digits, sizeof( y_hashed_digits ) ); return( ret ); } -int mbedtls_lmots_gen_privkey( mbedtls_lmots_context *ctx, - const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - unsigned int q_leaf_identifier, - const unsigned char *seed, - size_t seed_len ) +int mbedtls_lmots_sign( mbedtls_lmots_private_t *ctx, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng, const unsigned char *msg, size_t msg_size, + unsigned char *sig, size_t sig_size, size_t* sig_len ) { - mbedtls_md_context_t hash_ctx; - unsigned int i_symbol_idx; - unsigned char i_symbol_idx_bytes[2]; - unsigned char const_bytes[1]; + unsigned char tmp_digit_array[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX]; + /* Create a temporary buffer to prepare the signature in. This allows us to + * finish creating a signature (ensuring the process doesn't fail), and then + * erase the private key **before** writing any data into the sig parameter + * buffer. If data were directly written into the sig buffer, it might leak + * a partial signature on failure, which effectively compromises the private + * key. + */ + unsigned char tmp_sig[MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT_MAX][MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + unsigned char tmp_c_random[MBEDTLS_LMOTS_N_HASH_LEN_MAX]; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL || I_key_identifier == NULL || seed == NULL) + if( msg == NULL && msg_size != 0 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if ( ctx->MBEDTLS_PRIVATE(have_privkey) ) + if( sig_size < MBEDTLS_LMOTS_SIG_LEN(ctx->params.type) ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); } - if ( ctx->MBEDTLS_PRIVATE(type) != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - return( MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA ); + /* Check that a private key is loaded */ + if( !ctx->have_private_key ) + { + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - memcpy( ctx->MBEDTLS_PRIVATE(I_key_identifier), I_key_identifier, - sizeof( ctx->MBEDTLS_PRIVATE(I_key_identifier) ) ); - - ctx->MBEDTLS_PRIVATE(q_leaf_identifier) = q_leaf_identifier; - - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(q_leaf_identifier), MBEDTLS_LMOTS_Q_LEAF_ID_LEN, - ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes) ); - - val_to_network_bytes( 0xFF, sizeof( const_bytes ), const_bytes ); + ret = f_rng( p_rng, tmp_c_random, + MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type) ); + if( ret ) + { + return( ret ); + } - for ( i_symbol_idx = 0; i_symbol_idx < MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN; i_symbol_idx++ ) + ret = create_digit_array_with_checksum( &ctx->params, + msg, msg_size, + tmp_c_random, + tmp_digit_array ); + if( ret ) { - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if ( ret ) - { - goto out; - } + goto exit; + } - ret = mbedtls_md_update( &hash_ctx, ctx->MBEDTLS_PRIVATE(I_key_identifier), - sizeof( ctx->MBEDTLS_PRIVATE(I_key_identifier) ) ); - if ( ret ) { - goto out; - } + ret = hash_digit_array( &ctx->params, ( unsigned char * )ctx->private_key, + NULL, tmp_digit_array, ( unsigned char * )tmp_sig ); + if( ret ) + { + goto exit; + } - ret = mbedtls_md_update( &hash_ctx, ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes), - sizeof( ctx->MBEDTLS_PRIVATE(q_leaf_identifier_bytes) ) ); - if ( ret ) - { - goto out; - } + mbedtls_lms_unsigned_int_to_network_bytes( ctx->params.type, + MBEDTLS_LMOTS_TYPE_LEN, + sig + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ); - val_to_network_bytes( i_symbol_idx, I_SYMBOL_IDX_LEN, i_symbol_idx_bytes ); - ret = mbedtls_md_update( &hash_ctx, i_symbol_idx_bytes, I_SYMBOL_IDX_LEN ); - if ( ret ) - { - goto out; - } + /* Test hook to check if sig is being written to before we invalidate the + * private key. + */ +#if defined(MBEDTLS_TEST_HOOKS) + if( mbedtls_lmots_sign_private_key_invalidated_hook != NULL ) + { + ret = ( *mbedtls_lmots_sign_private_key_invalidated_hook )( sig ); + if( ret != 0 ) + return( ret ); + } +#endif /* defined(MBEDTLS_TEST_HOOKS) */ - ret = mbedtls_md_update( &hash_ctx, const_bytes, sizeof( const_bytes) ); - if ( ret ) - { - goto out; - } + /* We've got a valid signature now, so it's time to make sure the private + * key can't be reused. + */ + ctx->have_private_key = 0; + mbedtls_platform_zeroize( ctx->private_key, + sizeof( ctx->private_key ) ); - ret = mbedtls_md_update( &hash_ctx, seed, seed_len ); - if ( ret ) - { - goto out; - } + memcpy( sig + MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET, tmp_c_random, + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(ctx->params.type) ); - ret = mbedtls_md_finish( &hash_ctx, ctx->MBEDTLS_PRIVATE(priv_key)[i_symbol_idx] ); - if ( ret ) - { - goto out; - } + memcpy( sig + MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(ctx->params.type), tmp_sig, + MBEDTLS_LMOTS_P_SIG_DIGIT_COUNT(ctx->params.type) + * MBEDTLS_LMOTS_N_HASH_LEN(ctx->params.type) ); - mbedtls_md_free( &hash_ctx); + if( sig_len != NULL ) + { + *sig_len = MBEDTLS_LMOTS_SIG_LEN(ctx->params.type); } - ctx->MBEDTLS_PRIVATE(have_privkey) = 1; + ret = 0; -out: - if( ret ) - { - mbedtls_md_free( &hash_ctx ); - return( ret ); - } +exit: + mbedtls_platform_zeroize( tmp_digit_array, sizeof( tmp_digit_array ) ); + mbedtls_platform_zeroize( tmp_sig, sizeof( tmp_sig ) ); - return ret; + return ( ret ); } -#endif /* MBEDTLS_LMOTS_C */ +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ +#endif /* defined(MBEDTLS_LMS_C) */ diff --git a/include/mbedtls/lmots.h b/library/lmots.h similarity index 51% rename from include/mbedtls/lmots.h rename to library/lmots.h index c98f3bfd7e..022dcf3d48 100644 --- a/include/mbedtls/lmots.h +++ b/library/lmots.h @@ -2,7 +2,9 @@ * \file lmots.h * * \brief This file provides an API for the LM-OTS post-quantum-safe one-time - * public-key signature scheme. + * public-key signature scheme as defined in RFC8554 and NIST.SP.200-208. + * This implementation currently only supports a single parameter set + * MBEDTLS_LMOTS_SHA256_N32_W8 in order to reduce complexity. */ /* * Copyright The Mbed TLS Contributors @@ -24,99 +26,129 @@ #ifndef MBEDTLS_LMOTS_H #define MBEDTLS_LMOTS_H -#include "mbedtls/private_access.h" +#include "mbedtls/build_info.h" -#include -#include - -#define MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA -0x0076 /**< Bad data has been input to an LMOTS function */ -#define MBEDTLS_ERR_LMOTS_VERIFY_FAILED -0x0078 /**< LMOTS signature verification failed */ +#include "psa/crypto.h" -#define MBEDTLS_LMOTS_N_HASH_LEN (32) -#define MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN (34) -#define MBEDTLS_LMOTS_TYPE_LEN (4) -#define MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN (MBEDTLS_LMOTS_N_HASH_LEN) -#define MBEDTLS_LMOTS_I_KEY_ID_LEN (16) -#define MBEDTLS_LMOTS_Q_LEAF_ID_LEN (4) +#include "mbedtls/lms.h" -#define MBEDTLS_LMOTS_SIG_LEN (MBEDTLS_LMOTS_TYPE_LEN + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN + \ - (MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN * MBEDTLS_LMOTS_N_HASH_LEN)) - -#define MBEDTLS_LMOTS_PUBKEY_LEN (MBEDTLS_LMOTS_TYPE_LEN + MBEDTLS_LMOTS_I_KEY_ID_LEN + \ - MBEDTLS_LMOTS_Q_LEAF_ID_LEN + MBEDTLS_LMOTS_N_HASH_LEN) +#include +#include -#define MBEDTLS_LMOTS_SIG_TYPE_OFFSET (0) -#define MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET (MBEDTLS_LMOTS_SIG_TYPE_OFFSET + MBEDTLS_LMOTS_TYPE_LEN) -#define MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET (MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN) -#define MBEDTLS_LMOTS_PUBKEY_TYPE_OFFSET (0) -#define MBEDTLS_LMOTS_PUBKEY_I_KEY_ID_OFFSET (MBEDTLS_LMOTS_PUBKEY_TYPE_OFFSET + MBEDTLS_LMOTS_TYPE_LEN) -#define MBEDTLS_LMOTS_PUBKEY_Q_LEAF_ID_OFFSET (MBEDTLS_LMOTS_PUBKEY_I_KEY_ID_OFFSET + MBEDTLS_LMOTS_I_KEY_ID_LEN) -#define MBEDTLS_LMOTS_PUBKEY_KEY_HASH_OFFSET (MBEDTLS_LMOTS_PUBKEY_Q_LEAF_ID_OFFSET + MBEDTLS_LMOTS_Q_LEAF_ID_LEN) +#define MBEDTLS_LMOTS_PUBLIC_KEY_LEN(type) (MBEDTLS_LMOTS_TYPE_LEN + \ + MBEDTLS_LMOTS_I_KEY_ID_LEN + \ + MBEDTLS_LMOTS_Q_LEAF_ID_LEN + \ + MBEDTLS_LMOTS_N_HASH_LEN(type)) +#define MBEDTLS_LMOTS_SIG_TYPE_OFFSET (0) +#define MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET (MBEDTLS_LMOTS_SIG_TYPE_OFFSET + \ + MBEDTLS_LMOTS_TYPE_LEN) +#define MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(type) (MBEDTLS_LMOTS_SIG_C_RANDOM_OFFSET + \ + MBEDTLS_LMOTS_C_RANDOM_VALUE_LEN(type)) #ifdef __cplusplus extern "C" { #endif -/* https://www.iana.org/assignments/leighton-micali-signatures/leighton-micali-signatures.xhtml - * We are only implementing a subset of the types, particularly n32_w8, for the sake of simplicty. + +#if defined(MBEDTLS_TEST_HOOKS) +extern int( *mbedtls_lmots_sign_private_key_invalidated_hook )( unsigned char * ); +#endif /* defined(MBEDTLS_TEST_HOOKS) */ + +/** + * \brief This function converts an unsigned int into a + * network-byte-order (big endian) string. + * + * \param val The unsigned integer value + * \param len The length of the string. + * \param bytes The string to output into. */ -typedef enum { - MBEDTLS_LMOTS_SHA256_N32_W8 = 4 -} mbedtls_lmots_algorithm_type_t; +void mbedtls_lms_unsigned_int_to_network_bytes( unsigned int val, size_t len, + unsigned char *bytes ); +/** + * \brief This function converts a network-byte-order + * (big endian) string into an unsigned integer. + * + * \param len The length of the string. + * \param bytes The string. + * + * \return The corresponding LMS error code. + */ +unsigned int mbedtls_lms_network_bytes_to_unsigned_int( size_t len, + const unsigned char *bytes ); -typedef struct { - unsigned char MBEDTLS_PRIVATE(have_privkey); /*!< Whether the context contains a private key. - Boolean values only. */ - unsigned char MBEDTLS_PRIVATE(have_pubkey); /*!< Whether the context contains a public key. - Boolean values only. */ - unsigned char MBEDTLS_PRIVATE(I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN]); /*!< The key - identifier. */ - unsigned int MBEDTLS_PRIVATE(q_leaf_identifier); /*!< Which leaf of the LMS key this is. - 0 if the key is not part of an LMS key. */ - unsigned char MBEDTLS_PRIVATE(q_leaf_identifier_bytes)[MBEDTLS_LMOTS_Q_LEAF_ID_LEN];/*!< The - leaf identifier in network bytes form. */ - mbedtls_lmots_algorithm_type_t MBEDTLS_PRIVATE(type); /*!< The LM-OTS key type identifier as - per IANA. Only SHA256_N32_W8 is currently - supported. */ - unsigned char MBEDTLS_PRIVATE(priv_key[MBEDTLS_LMOTS_P_SIG_SYMBOL_LEN][32]); /*!< The private - key, one hash output per byte of the encoded - symbol string P (32 bytes of hash output + - 2 bytes of checksum). */ - unsigned char MBEDTLS_PRIVATE(pub_key[32]); /*!< The public key, in the form of a SHA256 - output. */ -} mbedtls_lmots_context; +/** + * \brief This function converts a \ref psa_status_t to a + * low-level LMS error code. + * + * \param status The psa_status_t to convert + * + * \return The corresponding LMS error code. + */ +int mbedtls_lms_error_from_psa( psa_status_t status ); /** - * \brief This function initializes an LMOTS context + * \brief This function initializes a public LMOTS context * * \param ctx The uninitialized LMOTS context that will then be * initialized. */ -void mbedtls_lmots_init( mbedtls_lmots_context *ctx ); +void mbedtls_lmots_public_init( mbedtls_lmots_public_t *ctx ); /** - * \brief This function uninitializes an LMOTS context + * \brief This function uninitializes a public LMOTS context * * \param ctx The initialized LMOTS context that will then be * uninitialized. */ -void mbedtls_lmots_free( mbedtls_lmots_context *ctx ); +void mbedtls_lmots_public_free( mbedtls_lmots_public_t *ctx ); + +/** + * \brief This function imports an LMOTS public key into a + * LMOTS context. + * + * \note Before this function is called, the context must + * have been initialized. + * + * \note See IETF RFC8554 for details of the encoding of + * this public key. + * + * \param ctx The initialized LMOTS context store the key in. + * \param key The buffer from which the key will be read. + * #MBEDTLS_LMOTS_PUBLIC_KEY_LEN bytes will be read + * from this. + * + * \return \c 0 on success. + * \return A non-zero error code on failure. + */ +int mbedtls_lmots_import_public_key( mbedtls_lmots_public_t *ctx, + const unsigned char *key, size_t key_size ); /** - * \brief This function sets the type of an LMOTS context + * \brief This function exports an LMOTS public key from a + * LMOTS context that already contains a public key. + * + * \note Before this function is called, the context must + * have been initialized and the context must contain + * a public key. + * + * \note See IETF RFC8554 for details of the encoding of + * this public key. * - * \note The parameter set in the context will then be used - * for keygen operations etc. + * \param ctx The initialized LMOTS context that contains the + * public key. + * \param key The buffer into which the key will be output. Must + * be at least #MBEDTLS_LMOTS_PUBLIC_KEY_LEN in size. * - * \param ctx The initialized LMOTS context. - * \param type The type that will be set in the context. + * \return \c 0 on success. + * \return A non-zero error code on failure. */ -int mbedtls_lmots_set_algorithm_type( mbedtls_lmots_context *ctx, - mbedtls_lmots_algorithm_type_t type ); +int mbedtls_lmots_export_public_key( const mbedtls_lmots_public_t *ctx, + unsigned char *key, size_t key_size, + size_t *key_len ); /** * \brief This function creates a candidate public key from @@ -129,15 +161,13 @@ int mbedtls_lmots_set_algorithm_type( mbedtls_lmots_context *ctx, * mbedtls_lmots_verify will be used for LMOTS * signature verification. * - * \param I_key_identifier The key identifier of the key, as a 16 byte - * bytestring. - * \param q_leaf_identifier The leaf identifier of key. If this LMOTS key is - * not being used as part of an LMS key, this should - * be set to 0. + * \param params The LMOTS parameter set, q and I values as an + * mbedtls_lmots_parameters_t struct. * \param msg The buffer from which the message will be read. - * \param msg_len The size of the message that will be read. - * \param sig The buff from which the signature will be read. - * MBEDTLS_LMOTS_SIG_LEN bytes will be read from this. + * \param msg_size The size of the message that will be read. + * \param sig The buffer from which the signature will be read. + * #MBEDTLS_LMOTS_SIG_LEN bytes will be read from + * this. * \param out The buffer where the candidate public key will be * stored. Must be at least #MBEDTLS_LMOTS_N_HASH_LEN * bytes in size. @@ -145,58 +175,33 @@ int mbedtls_lmots_set_algorithm_type( mbedtls_lmots_context *ctx, * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lmots_generate_pub_key_candidate( const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - const unsigned char q_leaf_identifier[MBEDTLS_LMOTS_Q_LEAF_ID_LEN], - const unsigned char *msg, - size_t msg_len, - const unsigned char *sig, - unsigned char *out ); - -/** - * \brief This function creates a LMOTS signature, using a - * LMOTS context that contains a private key. - * - * \note Before this function is called, the context must - * have been initialized and must contain a private - * key. - * - * \note LMOTS private keys can only be used once, otherwise - * attackers may be able to create forged signatures. - * If the signing operation is successful, the private - * key in the context will be erased, and no further - * signing will be possible until another private key - * is loaded - * - * \param ctx The initialized LMOTS context from which the - * private key will be read. - * \param f_rng The RNG function to be used for signature - * generation. - * \param p_rng The RNG context to be passed to f_rng - * \param msg The buffer from which the message will be read. - * \param msg_len The size of the message that will be read. - * \param sig The buf into which the signature will be stored. - * Must be at least #MBEDTLS_LMOTS_SIG_LEN in size. - * - * \return \c 0 on success. - * \return A non-zero error code on failure. - */ -int mbedtls_lmots_sign( mbedtls_lmots_context *ctx, - int (*f_rng)(void *, unsigned char *, size_t), - void *p_rng, const unsigned char *msg, size_t msg_len, - unsigned char *sig ); +int mbedtls_lmots_calculate_public_key_candidate( const mbedtls_lmots_parameters_t *params, + const unsigned char *msg, + size_t msg_size, + const unsigned char *sig, + size_t sig_size, + unsigned char *out, + size_t out_size, + size_t *out_len ); /** * \brief This function verifies a LMOTS signature, using a * LMOTS context that contains a public key. * + * \warning This function is **not intended for use in + * production**, due to as-yet unsolved problems with + * handling stateful keys. The API for this function + * may change considerably in future versions. + * * \note Before this function is called, the context must * have been initialized and must contain a public key - * (either by import or generation). + * (either by import or calculation from a private + * key). * * \param ctx The initialized LMOTS context from which the public * key will be read. * \param msg The buffer from which the message will be read. - * \param msg_len The size of the message that will be read. + * \param msg_size The size of the message that will be read. * \param sig The buf from which the signature will be read. * #MBEDTLS_LMOTS_SIG_LEN bytes will be read from * this. @@ -204,51 +209,59 @@ int mbedtls_lmots_sign( mbedtls_lmots_context *ctx, * \return \c 0 on successful verification. * \return A non-zero error code on failure. */ -int mbedtls_lmots_verify( mbedtls_lmots_context *ctx, const unsigned char *msg, - size_t msg_len, const unsigned char *sig ); +int mbedtls_lmots_verify( const mbedtls_lmots_public_t *ctx, + const unsigned char *msg, + size_t msg_size, const unsigned char *sig, + size_t sig_size ); + +#if defined(MBEDTLS_LMS_PRIVATE) /** - * \brief This function imports an LMOTS public key into a - * LMOTS context. + * \brief This function initializes a private LMOTS context * - * \note Before this function is called, the context must - * have been initialized. - * - * \note See IETF RFC8554 for details of the encoding of - * this public key. - * - * \param ctx The initialized LMOTS context store the key in. - * \param key The buffer from which the key will be read. - * #MBEDTLS_LMOTS_PUBKEY_LEN bytes will be read from - * this. + * \param ctx The uninitialized LMOTS context that will then be + * initialized. + */ +void mbedtls_lmots_private_init( mbedtls_lmots_private_t *ctx ); + +/** + * \brief This function uninitializes a private LMOTS context * - * \return \c 0 on success. - * \return A non-zero error code on failure. + * \param ctx The initialized LMOTS context that will then be + * uninitialized. */ -int mbedtls_lmots_import_pubkey( mbedtls_lmots_context *ctx, - const unsigned char *key ); +void mbedtls_lmots_private_free( mbedtls_lmots_private_t *ctx ); /** - * \brief This function exports an LMOTS public key from a - * LMOTS context that already contains a public key. + * \brief This function calculates an LMOTS private key, and + * stores in into an LMOTS context. * - * \note Before this function is called, the context must - * have been initialized and the context must contain - * a public key. + * \warning This function is **not intended for use in + * production**, due to as-yet unsolved problems with + * handling stateful keys. The API for this function + * may change considerably in future versions. * - * \note See IETF RFC8554 for details of the encoding of - * this public key. + * \note The seed must have at least 256 bits of entropy. * - * \param ctx The initialized LMOTS context that contains the - * publc key. - * \param key The buffer into which the key will be output. Must - * be at least #MBEDTLS_LMOTS_PUBKEY_LEN in size. + * \param ctx The initialized LMOTS context to generate the key + * into. + * \param I_key_identifier The key identifier of the key, as a 16-byte string. + * \param q_leaf_identifier The leaf identifier of key. If this LMOTS key is + * not being used as part of an LMS key, this should + * be set to 0. + * \param seed The seed used to deterministically generate the + * key. + * \param seed_size The length of the seed. * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lmots_export_pubkey( mbedtls_lmots_context *ctx, - unsigned char *key ); +int mbedtls_lmots_generate_private_key( mbedtls_lmots_private_t *ctx, + mbedtls_lmots_algorithm_type_t type, + const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], + uint32_t q_leaf_identifier, + const unsigned char *seed, + size_t seed_size ); /** * \brief This function generates an LMOTS public key from a @@ -264,37 +277,43 @@ int mbedtls_lmots_export_pubkey( mbedtls_lmots_context *ctx, * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lmots_gen_pubkey( mbedtls_lmots_context *ctx ); +int mbedtls_lmots_calculate_public_key( mbedtls_lmots_public_t *ctx, + const mbedtls_lmots_private_t *priv_ctx ); /** - * \brief This function generates an LMOTS private key, and - * stores in into an LMOTS context. + * \brief This function creates a LMOTS signature, using a + * LMOTS context that contains a private key. * * \note Before this function is called, the context must - * have been initialized and the type of the LMOTS - * context set using mbedtls_lmots_set_algorithm_type + * have been initialized and must contain a private + * key. * - * \note The seed must have at least 256 bits of entropy. + * \note LMOTS private keys can only be used once, otherwise + * attackers may be able to create forged signatures. + * If the signing operation is successful, the private + * key in the context will be erased, and no further + * signing will be possible until another private key + * is loaded * - * \param ctx The initialized LMOTS context to generate the key - * into. - * \param I_key_identifier The key identifier of the key, as a 16 byte - * bytestring. - * \param q_leaf_identifier The leaf identifier of key. If this LMOTS key is - * not being used as part of an LMS key, this should - * be set to 0. - * \param seed The seed used to deterministically generate the - * key. - * \param seed_len The length of the seed. + * \param ctx The initialized LMOTS context from which the + * private key will be read. + * \param f_rng The RNG function to be used for signature + * generation. + * \param p_rng The RNG context to be passed to f_rng + * \param msg The buffer from which the message will be read. + * \param msg_size The size of the message that will be read. + * \param sig The buf into which the signature will be stored. + * Must be at least #MBEDTLS_LMOTS_SIG_LEN in size. * * \return \c 0 on success. * \return A non-zero error code on failure. */ -int mbedtls_lmots_gen_privkey( mbedtls_lmots_context *ctx, - const unsigned char I_key_identifier[MBEDTLS_LMOTS_I_KEY_ID_LEN], - unsigned int q_leaf_identifier, - const unsigned char *seed, - size_t seed_len ); +int mbedtls_lmots_sign( mbedtls_lmots_private_t *ctx, + int (*f_rng)(void *, unsigned char *, size_t), + void *p_rng, const unsigned char *msg, size_t msg_size, + unsigned char *sig, size_t sig_size, size_t* sig_len ); + +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ #ifdef __cplusplus } diff --git a/library/lms.c b/library/lms.c index e1ac7b9353..46ea567f2f 100644 --- a/library/lms.c +++ b/library/lms.c @@ -32,485 +32,391 @@ #include "common.h" -#ifdef MBEDTLS_LMS_C +#if defined(MBEDTLS_LMS_C) #include +#include "lmots.h" + +#include "psa/crypto.h" + #include "mbedtls/lms.h" -#include "mbedtls/lmots.h" -#include "mbedtls/md.h" #include "mbedtls/error.h" #include "mbedtls/platform_util.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif - -#define MERKLE_TREE_NODE_AM (1 << (MBEDTLS_LMS_H_TREE_HEIGHT + 1)) -#define MERKLE_TREE_LEAF_AM (1 << MBEDTLS_LMS_H_TREE_HEIGHT) -#define MERKLE_TREE_INTR_AM (1 << MBEDTLS_LMS_H_TREE_HEIGHT) - -#define D_CONST_LEN (2) - -#define D_LEAF_CONSTANT (0x8282) -#define D_INTR_CONSTANT (0x8383) -static void val_to_network_bytes(unsigned int val, size_t len, unsigned char *bytes) -{ - size_t idx; +#define SIG_Q_LEAF_ID_OFFSET (0) +#define SIG_OTS_SIG_OFFSET (SIG_Q_LEAF_ID_OFFSET + \ + MBEDTLS_LMOTS_Q_LEAF_ID_LEN) +#define SIG_TYPE_OFFSET(otstype) (SIG_OTS_SIG_OFFSET + \ + MBEDTLS_LMOTS_SIG_LEN(otstype)) +#define SIG_PATH_OFFSET(otstype) (SIG_TYPE_OFFSET(otstype) + \ + MBEDTLS_LMS_TYPE_LEN) + +#define PUBLIC_KEY_TYPE_OFFSET (0) +#define PUBLIC_KEY_OTSTYPE_OFFSET (PUBLIC_KEY_TYPE_OFFSET + \ + MBEDTLS_LMS_TYPE_LEN) +#define PUBLIC_KEY_I_KEY_ID_OFFSET (PUBLIC_KEY_OTSTYPE_OFFSET + \ + MBEDTLS_LMOTS_TYPE_LEN) +#define PUBLIC_KEY_ROOT_NODE_OFFSET (PUBLIC_KEY_I_KEY_ID_OFFSET + \ + MBEDTLS_LMOTS_I_KEY_ID_LEN) + + +/* Currently only support H=10 */ +#define H_TREE_HEIGHT_MAX 10 +#define MERKLE_TREE_NODE_AM_MAX (1u << (H_TREE_HEIGHT_MAX + 1u)) +#define MERKLE_TREE_NODE_AM(type) (1u << (MBEDTLS_LMS_H_TREE_HEIGHT(type) + 1u)) +#define MERKLE_TREE_LEAF_NODE_AM(type) (1u << MBEDTLS_LMS_H_TREE_HEIGHT(type)) +#define MERKLE_TREE_INTERNAL_NODE_AM(type) (1u << MBEDTLS_LMS_H_TREE_HEIGHT(type)) - for (idx = 0; idx < len; idx++) { - bytes[idx] = (val >> ((len - 1 - idx) * 8)) & 0xFF; - } -} - -static unsigned int network_bytes_to_val(size_t len, const unsigned char *bytes) -{ - size_t idx; - unsigned int val = 0; +#define D_CONST_LEN (2) +static const unsigned char D_LEAF_CONSTANT_BYTES[D_CONST_LEN] = {0x82, 0x82}; +static const unsigned char D_INTR_CONSTANT_BYTES[D_CONST_LEN] = {0x83, 0x83}; - for (idx = 0; idx < len; idx++) { - val |= ((unsigned int)bytes[idx]) << (8 * (len - 1 - idx)); - } - return val; -} - -static int create_merkle_leaf_node( const mbedtls_lms_context *ctx, - unsigned char pub_key[MBEDTLS_LMOTS_N_HASH_LEN], - unsigned int r_node_idx, - unsigned char out[32] ) +/* Calculate the value of a leaf node of the Merkle tree (which is a hash of a + * public key and some other parameters like the leaf index). This function + * implements RFC8554 section 5.3, in the case where r >= 2^h. + * + * params The LMS parameter set, the underlying LMOTS + * parameter set, and I value which describe the key + * being used. + * + * pub_key The public key of the private whose index + * corresponds to the index of this leaf node. This + * is a hash output. + * + * r_node_idx The index of this node in the Merkle tree. Note + * that the root node of the Merkle tree is + * 1-indexed. + * + * out The output node value, which is a hash output. + */ +static int create_merkle_leaf_value( const mbedtls_lms_parameters_t *params, + unsigned char *pub_key, + unsigned int r_node_idx, + unsigned char *out ) { - mbedtls_md_context_t hash_ctx; - unsigned char D_LEAF_bytes[D_CONST_LEN]; + psa_hash_operation_t op; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; unsigned char r_node_idx_bytes[4]; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if( ret ) - { - goto out; - } + op = psa_hash_operation_init( ); + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, - ctx->MBEDTLS_PRIVATE(I_key_identifier), - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, params->I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - val_to_network_bytes( r_node_idx, 4, r_node_idx_bytes ); - ret = mbedtls_md_update( &hash_ctx, r_node_idx_bytes, 4 ); - if( ret ) - { - goto out; - } + mbedtls_lms_unsigned_int_to_network_bytes( r_node_idx, 4, r_node_idx_bytes ); + status = psa_hash_update( &op, r_node_idx_bytes, 4 ); + if( status != PSA_SUCCESS ) + goto exit; - val_to_network_bytes( D_LEAF_CONSTANT, D_CONST_LEN, D_LEAF_bytes ); - ret = mbedtls_md_update( &hash_ctx, D_LEAF_bytes, D_CONST_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, D_LEAF_CONSTANT_BYTES, D_CONST_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, pub_key, MBEDTLS_LMOTS_N_HASH_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, pub_key, + MBEDTLS_LMOTS_N_HASH_LEN(params->otstype) ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_finish( &hash_ctx, out ); - if( ret ) - { - goto out; - } + status = psa_hash_finish( &op, out, MBEDTLS_LMS_M_NODE_BYTES(params->type), + &output_hash_len ); + if( status != PSA_SUCCESS ) + goto exit; -out: - mbedtls_md_free( &hash_ctx ); +exit: + psa_hash_abort( &op ); - return( ret ); + return ( mbedtls_lms_error_from_psa( status ) ); } -static int create_merkle_intr_node( const mbedtls_lms_context *ctx, - const unsigned char left_node[32], - const unsigned char rght_node[32], - unsigned int r_node_idx, - unsigned char out[32] ) +/* Calculate the value of an internal node of the Merkle tree (which is a hash + * of a public key and some other parameters like the node index). This function + * implements RFC8554 section 5.3, in the case where r < 2^h. + * + * params The LMS parameter set, the underlying LMOTS + * parameter set, and I value which describe the key + * being used. + * + * left_node The value of the child of this node which is on + * the left-hand side. As with all nodes on the + * Merkle tree, this is a hash output. + * + * right_node The value of the child of this node which is on + * the right-hand side. As with all nodes on the + * Merkle tree, this is a hash output. + * + * r_node_idx The index of this node in the Merkle tree. Note + * that the root node of the Merkle tree is + * 1-indexed. + * + * out The output node value, which is a hash output. + */ +static int create_merkle_internal_value( const mbedtls_lms_parameters_t *params, + const unsigned char *left_node, + const unsigned char *right_node, + unsigned int r_node_idx, + unsigned char *out ) { - mbedtls_md_context_t hash_ctx; - unsigned char D_INTR_bytes[D_CONST_LEN]; + psa_hash_operation_t op; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_hash_len; unsigned char r_node_idx_bytes[4]; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - mbedtls_md_init( &hash_ctx ); - ret = mbedtls_md_setup( &hash_ctx, mbedtls_md_info_from_type( MBEDTLS_MD_SHA256 ), 0 ); - if( ret ) - { - goto out; - } - ret = mbedtls_md_starts( &hash_ctx ); - if( ret ) - { - goto out; - } + op = psa_hash_operation_init( ); + status = psa_hash_setup( &op, PSA_ALG_SHA_256 ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, ctx->MBEDTLS_PRIVATE(I_key_identifier), - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, params->I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - val_to_network_bytes( r_node_idx, 4, r_node_idx_bytes ); - ret = mbedtls_md_update( &hash_ctx, r_node_idx_bytes, 4 ); - if( ret ) - { - goto out; - } + mbedtls_lms_unsigned_int_to_network_bytes( r_node_idx, 4, r_node_idx_bytes ); + status = psa_hash_update( &op, r_node_idx_bytes, 4 ); + if( status != PSA_SUCCESS ) + goto exit; - val_to_network_bytes( D_INTR_CONSTANT, D_CONST_LEN, D_INTR_bytes ); - ret = mbedtls_md_update( &hash_ctx, D_INTR_bytes, D_CONST_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, D_INTR_CONSTANT_BYTES, D_CONST_LEN ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, left_node, MBEDTLS_LMOTS_N_HASH_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, left_node, + MBEDTLS_LMS_M_NODE_BYTES(params->type) ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_update( &hash_ctx, rght_node, MBEDTLS_LMOTS_N_HASH_LEN ); - if( ret ) - { - goto out; - } + status = psa_hash_update( &op, right_node, + MBEDTLS_LMS_M_NODE_BYTES(params->type) ); + if( status != PSA_SUCCESS ) + goto exit; - ret = mbedtls_md_finish( &hash_ctx, out ); - if( ret ) - { - goto out; - } - -out: - mbedtls_md_free( &hash_ctx ); - - return ret; -} - -static int generate_merkle_tree( mbedtls_lms_context *ctx, - unsigned char tree[MERKLE_TREE_NODE_AM][32] ) -{ - unsigned int priv_key_idx; - unsigned int r_node_idx; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - /* First create the leaf nodes, in ascending order */ - for( priv_key_idx = 0; priv_key_idx < MERKLE_TREE_INTR_AM; priv_key_idx++ ) - { - r_node_idx = MERKLE_TREE_INTR_AM + priv_key_idx; - - ret = create_merkle_leaf_node( ctx, ctx->MBEDTLS_PRIVATE(priv_keys)[priv_key_idx].pub_key, - r_node_idx, tree[r_node_idx] ); - if( ret ) - { - return( ret ); - } - } + status = psa_hash_finish( &op, out, MBEDTLS_LMS_M_NODE_BYTES(params->type), + &output_hash_len ); + if( status != PSA_SUCCESS ) + goto exit; - /* Then the internal nodes, in reverse order so that we can guarantee the - * parent has been created */ - for( r_node_idx = MERKLE_TREE_INTR_AM - 1; r_node_idx > 0; r_node_idx-- ) - { - ret = create_merkle_intr_node( ctx, tree[(r_node_idx * 2)], - tree[(r_node_idx * 2 + 1)], - r_node_idx, tree[r_node_idx] ); - if( ret ) - { - return( ret ); - } - } +exit: + psa_hash_abort( &op ); - return( 0 ); + return( mbedtls_lms_error_from_psa( status ) ); } -static int get_merkle_path( mbedtls_lms_context *ctx, - unsigned int leaf_node_id, unsigned char path[MBEDTLS_LMS_H_TREE_HEIGHT][32] ) +void mbedtls_lms_public_init( mbedtls_lms_public_t *ctx ) { - unsigned char tree[MERKLE_TREE_NODE_AM][32]; - unsigned int curr_node_id = leaf_node_id; - unsigned int parent_node_id; - unsigned char sibling_relative_id; - unsigned int adjacent_node_id; - unsigned int height; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - ret = generate_merkle_tree( ctx, tree); - if( ret ) - { - return( ret ); - } - - for( height = 0; height < MBEDTLS_LMS_H_TREE_HEIGHT; height++ ) - { - parent_node_id = ( curr_node_id / 2 ); - - /* 0 if the node is a left child, 1 if the node is a right child */ - sibling_relative_id = curr_node_id & 1; - - adjacent_node_id = ( parent_node_id * 2 ) + ( 1 - sibling_relative_id ); - - memcpy( &path[height], &tree[adjacent_node_id], MBEDTLS_LMOTS_N_HASH_LEN ); - - curr_node_id = parent_node_id; - } - - return( 0 ); + memset( ctx, 0, sizeof( *ctx ) ) ; } -void mbedtls_lms_init( mbedtls_lms_context *ctx ) +void mbedtls_lms_public_free( mbedtls_lms_public_t *ctx ) { - if( ctx == NULL ) - { - return; - } - - mbedtls_platform_zeroize( ctx, sizeof( mbedtls_lms_context ) ) ; + mbedtls_platform_zeroize( ctx, sizeof( *ctx ) ); } -void mbedtls_lms_free( mbedtls_lms_context *ctx ) +int mbedtls_lms_import_public_key( mbedtls_lms_public_t *ctx, + const unsigned char *key, size_t key_size ) { - unsigned int idx; - - if( ctx == NULL ) - { - return; - } - - if( ctx->MBEDTLS_PRIVATE(have_privkey) ) - { - for( idx = 0; idx < MERKLE_TREE_LEAF_AM; idx++ ) - { - mbedtls_lmots_free( &ctx->MBEDTLS_PRIVATE(priv_keys)[idx] ); - } - - mbedtls_free( ctx->MBEDTLS_PRIVATE(priv_keys) ); - } - - mbedtls_platform_zeroize( ctx, sizeof( mbedtls_lms_context ) ); -} + mbedtls_lms_algorithm_type_t type; + mbedtls_lmots_algorithm_type_t otstype; -int mbedtls_lms_set_algorithm_type( mbedtls_lms_context *ctx, - mbedtls_lms_algorithm_type_t type, - mbedtls_lmots_algorithm_type_t otstype ) -{ - if( ctx == NULL ) + type = mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMS_TYPE_LEN, + key + PUBLIC_KEY_TYPE_OFFSET ); + if( type != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } + ctx->params.type = type; - ctx->MBEDTLS_PRIVATE(type) = type; - ctx->MBEDTLS_PRIVATE(otstype) = otstype; - - return( 0 ); -} - -int mbedtls_lms_sign( mbedtls_lms_context *ctx, - int ( *f_rng)(void *, unsigned char *, size_t), - void* p_rng, unsigned char *msg, unsigned int msg_len, - unsigned char *sig ) -{ - unsigned int q_leaf_identifier; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - - if( ctx == NULL ) + if( key_size != MBEDTLS_LMS_PUBLIC_KEY_LEN(ctx->params.type) ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ! ctx->MBEDTLS_PRIVATE(have_privkey) ) + otstype = mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMOTS_TYPE_LEN, + key + PUBLIC_KEY_OTSTYPE_OFFSET ); + if( otstype != MBEDTLS_LMOTS_SHA256_N32_W8 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } + ctx->params.otstype = otstype; - if( msg == NULL ) - { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); - } + memcpy( ctx->params.I_key_identifier, + key + PUBLIC_KEY_I_KEY_ID_OFFSET, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + memcpy( ctx->T_1_pub_key, key + PUBLIC_KEY_ROOT_NODE_OFFSET, + MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type) ); - if( sig == NULL ) - { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); - } + ctx->have_public_key = 1; + return( 0 ); +} - if( ctx->MBEDTLS_PRIVATE(type) != MBEDTLS_LMS_SHA256_M32_H10 ) +int mbedtls_lms_export_public_key( const mbedtls_lms_public_t *ctx, + unsigned char *key, + size_t key_size, size_t *key_len ) +{ + if( key_size < MBEDTLS_LMS_PUBLIC_KEY_LEN(ctx->params.type) ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); } - if( ctx->MBEDTLS_PRIVATE(otstype) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( ! ctx->have_public_key ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } + mbedtls_lms_unsigned_int_to_network_bytes( + ctx->params.type, + MBEDTLS_LMS_TYPE_LEN, key + PUBLIC_KEY_TYPE_OFFSET ); + mbedtls_lms_unsigned_int_to_network_bytes( ctx->params.otstype, + MBEDTLS_LMOTS_TYPE_LEN, + key + PUBLIC_KEY_OTSTYPE_OFFSET ); + memcpy( key + PUBLIC_KEY_I_KEY_ID_OFFSET, + ctx->params.I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + memcpy( key +PUBLIC_KEY_ROOT_NODE_OFFSET, + ctx->T_1_pub_key, + MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type) ); - if( ctx->MBEDTLS_PRIVATE(q_next_usable_key) >= MERKLE_TREE_LEAF_AM ) - { - return( MBEDTLS_ERR_LMS_OUT_OF_PRIV_KEYS ); - } - - - q_leaf_identifier = ctx->MBEDTLS_PRIVATE(q_next_usable_key); - /* This new value must _always_ be written back to the disk before the - * signature is returned. - */ - ctx->MBEDTLS_PRIVATE(q_next_usable_key) += 1; - - ret = mbedtls_lmots_sign( &ctx->MBEDTLS_PRIVATE(priv_keys)[q_leaf_identifier], - f_rng, p_rng, msg, msg_len, - sig + MBEDTLS_LMS_SIG_OTS_SIG_OFFSET ); - if( ret ) - { - return( ret ); - } - - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(type), MBEDTLS_LMS_TYPE_LEN, - sig + MBEDTLS_LMS_SIG_TYPE_OFFSET ); - val_to_network_bytes( q_leaf_identifier, MBEDTLS_LMOTS_Q_LEAF_ID_LEN, - sig + MBEDTLS_LMS_SIG_Q_LEAF_ID_OFFSET); - - ret = get_merkle_path( ctx, MERKLE_TREE_INTR_AM + q_leaf_identifier, - ( unsigned char( * )[32] )( sig + MBEDTLS_LMS_SIG_PATH_OFFSET ) ); - if( ret ) + if( key_len != NULL ) { - return( ret ); + *key_len = MBEDTLS_LMS_PUBLIC_KEY_LEN(ctx->params.type); } return( 0 ); } -int mbedtls_lms_verify( const mbedtls_lms_context *ctx, - const unsigned char *msg, unsigned int msg_len, - const unsigned char *sig ) +int mbedtls_lms_verify( const mbedtls_lms_public_t *ctx, + const unsigned char *msg, size_t msg_size, + const unsigned char *sig, size_t sig_size ) { unsigned int q_leaf_identifier; - unsigned char Kc_candidate_ots_pub_key[MBEDTLS_LMOTS_N_HASH_LEN]; - unsigned char Tc_candidate_root_node[32]; + unsigned char Kc_candidate_ots_pub_key[MBEDTLS_LMOTS_N_HASH_LEN_MAX]; + unsigned char Tc_candidate_root_node[MBEDTLS_LMS_M_NODE_BYTES_MAX]; unsigned int height; unsigned int curr_node_id; unsigned int parent_node_id; const unsigned char* left_node; - const unsigned char* rght_node; + const unsigned char* right_node; + mbedtls_lmots_parameters_t ots_params; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL ) + if( ! ctx->have_public_key ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ! ctx->MBEDTLS_PRIVATE(have_pubkey) ) + if( ctx->params.type + != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( msg == NULL) + if( ctx->params.otstype + != MBEDTLS_LMOTS_SHA256_N32_W8 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( sig == NULL) + if( sig_size != MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype) ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - if( ctx->MBEDTLS_PRIVATE(type) != MBEDTLS_LMS_SHA256_M32_H10 ) + if( sig_size < SIG_OTS_SIG_OFFSET + MBEDTLS_LMOTS_TYPE_LEN ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - if( ctx->MBEDTLS_PRIVATE(otstype) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMOTS_TYPE_LEN, + sig + SIG_OTS_SIG_OFFSET + MBEDTLS_LMOTS_SIG_TYPE_OFFSET ) + != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - - if( network_bytes_to_val( MBEDTLS_LMS_TYPE_LEN, - sig + MBEDTLS_LMS_SIG_TYPE_OFFSET) != MBEDTLS_LMS_SHA256_M32_H10 ) + if( sig_size < SIG_TYPE_OFFSET(ctx->params.otstype) + MBEDTLS_LMS_TYPE_LEN ) { return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - if( network_bytes_to_val( MBEDTLS_LMOTS_TYPE_LEN, - sig + MBEDTLS_LMS_SIG_OTS_SIG_OFFSET + MBEDTLS_LMOTS_SIG_TYPE_OFFSET) - != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( mbedtls_lms_network_bytes_to_unsigned_int( MBEDTLS_LMS_TYPE_LEN, + sig + SIG_TYPE_OFFSET(ctx->params.otstype)) + != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - q_leaf_identifier = network_bytes_to_val( MBEDTLS_LMOTS_Q_LEAF_ID_LEN, - sig + MBEDTLS_LMS_SIG_Q_LEAF_ID_OFFSET ); + q_leaf_identifier = mbedtls_lms_network_bytes_to_unsigned_int( + MBEDTLS_LMOTS_Q_LEAF_ID_LEN, sig + SIG_Q_LEAF_ID_OFFSET ); - if( q_leaf_identifier >= MERKLE_TREE_LEAF_AM ) + if( q_leaf_identifier >= MERKLE_TREE_LEAF_NODE_AM(ctx->params.type) ) { return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - ret = mbedtls_lmots_generate_pub_key_candidate( ctx->MBEDTLS_PRIVATE(I_key_identifier), - sig + MBEDTLS_LMS_SIG_Q_LEAF_ID_OFFSET, - msg, msg_len, - sig + MBEDTLS_LMS_SIG_OTS_SIG_OFFSET, - Kc_candidate_ots_pub_key ); - if( ret ) + memcpy( ots_params.I_key_identifier, + ctx->params.I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + mbedtls_lms_unsigned_int_to_network_bytes( q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN, + ots_params.q_leaf_identifier ); + ots_params.type = ctx->params.otstype; + + ret = mbedtls_lmots_calculate_public_key_candidate( &ots_params, msg, + msg_size, sig + SIG_OTS_SIG_OFFSET, + MBEDTLS_LMOTS_SIG_LEN(ctx->params.otstype), Kc_candidate_ots_pub_key, + sizeof( Kc_candidate_ots_pub_key ), NULL ); + if( ret != 0 ) { - return( ret ); + return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } - create_merkle_leaf_node( ctx, Kc_candidate_ots_pub_key, - MERKLE_TREE_INTR_AM + q_leaf_identifier, - Tc_candidate_root_node ); + create_merkle_leaf_value( + &ctx->params, + Kc_candidate_ots_pub_key, + MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type) + q_leaf_identifier, + Tc_candidate_root_node ); - curr_node_id = MERKLE_TREE_INTR_AM + q_leaf_identifier; + curr_node_id = MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type) + + q_leaf_identifier; - for( height = 0; height < MBEDTLS_LMS_H_TREE_HEIGHT; height++ ) + for( height = 0; height < MBEDTLS_LMS_H_TREE_HEIGHT(ctx->params.type); + height++ ) { parent_node_id = curr_node_id / 2; /* Left/right node ordering matters for the hash */ if( curr_node_id & 1 ) { - left_node = ( ( const unsigned char( * )[32] )( sig + MBEDTLS_LMS_SIG_PATH_OFFSET ) )[height]; - rght_node = Tc_candidate_root_node; + left_node = sig + SIG_PATH_OFFSET(ctx->params.otstype) + + height * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type); + right_node = Tc_candidate_root_node; } else { left_node = Tc_candidate_root_node; - rght_node = ( ( const unsigned char( * )[32] )( sig + MBEDTLS_LMS_SIG_PATH_OFFSET ) )[height]; + right_node = sig + SIG_PATH_OFFSET(ctx->params.otstype) + + height * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type); } - create_merkle_intr_node( ctx, left_node, rght_node, parent_node_id, - Tc_candidate_root_node); + create_merkle_internal_value( &ctx->params, left_node, right_node, + parent_node_id, Tc_candidate_root_node); curr_node_id /= 2; } - if( memcmp( Tc_candidate_root_node, ctx->MBEDTLS_PRIVATE(T_1_pub_key), - MBEDTLS_LMOTS_N_HASH_LEN) ) + if( memcmp( Tc_candidate_root_node, ctx->T_1_pub_key, + MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)) ) { return( MBEDTLS_ERR_LMS_VERIFY_FAILED ); } @@ -518,201 +424,366 @@ int mbedtls_lms_verify( const mbedtls_lms_context *ctx, return( 0 ); } -int mbedtls_lms_import_pubkey( mbedtls_lms_context *ctx, - const unsigned char *key ) +#if defined(MBEDTLS_LMS_PRIVATE) + +/* Calculate a full Merkle tree based on a private key. This function + * implements RFC8554 section 5.3, and is used to generate a public key (as the + * public key is the root node of the Merkle tree). + * + * ctx The LMS private context, containing a parameter + * set and private key material consisting of both + * public and private OTS. + * + * tree The output tree, which is 2^(H + 1) hash outputs. + * In the case of H=10 we have 2048 tree nodes (of + * which 1024 of them are leaf nodes). Note that + * because the Merkle tree root is 1-indexed, the 0 + * index tree node is never used. + */ +static int calculate_merkle_tree( const mbedtls_lms_private_t *ctx, + unsigned char *tree ) { - mbedtls_lms_algorithm_type_t type; - mbedtls_lmots_algorithm_type_t otstype; + unsigned int priv_key_idx; + unsigned int r_node_idx; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL ) + /* First create the leaf nodes, in ascending order */ + for( priv_key_idx = 0; + priv_key_idx < MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type); + priv_key_idx++ ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + r_node_idx = MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type) + priv_key_idx; + + ret = create_merkle_leaf_value( &ctx->params, + ctx->ots_public_keys[priv_key_idx].public_key, r_node_idx, + &tree[r_node_idx * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)] ); + if( ret != 0 ) + { + return( ret ); + } } - if( key == NULL ) - { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + /* Then the internal nodes, in reverse order so that we can guarantee the + * parent has been created */ + for( r_node_idx = MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type) - 1; + r_node_idx > 0; + r_node_idx-- ) + { + ret = create_merkle_internal_value( &ctx->params, + &tree[( r_node_idx * 2 ) * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)], + &tree[( r_node_idx * 2 + 1 ) * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)], + r_node_idx, + &tree[r_node_idx * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)] ); + if( ret != 0 ) + { + return( ret ); + } } - type = network_bytes_to_val( MBEDTLS_LMS_TYPE_LEN, key + MBEDTLS_LMS_PUBKEY_TYPE_OFFSET ); - if( type != MBEDTLS_LMS_SHA256_M32_H10 ) + return( 0 ); +} + +/* Calculate a path from a leaf node of the Merkle tree to the root of the tree, + * and return the full path. This function implements RFC8554 section 5.4.1, as + * the Merkle path is the main component of an LMS signature. + * + * ctx The LMS private context, containing a parameter + * set and private key material consisting of both + * public and private OTS. + * + * leaf_node_id Which leaf node to calculate the path from. + * + * path The output path, which is H hash outputs. + */ +static int get_merkle_path( mbedtls_lms_private_t *ctx, + unsigned int leaf_node_id, + unsigned char *path ) +{ + unsigned char tree[MERKLE_TREE_NODE_AM_MAX][MBEDTLS_LMS_M_NODE_BYTES_MAX]; + unsigned int curr_node_id = leaf_node_id; + unsigned int adjacent_node_id; + unsigned int height; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = calculate_merkle_tree( ctx, ( unsigned char * )tree ); + if( ret != 0 ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + goto exit; } - ctx->MBEDTLS_PRIVATE(type) = type; - otstype = network_bytes_to_val( MBEDTLS_LMOTS_TYPE_LEN, - key + MBEDTLS_LMS_PUBKEY_OTSTYPE_OFFSET ); - if( otstype != MBEDTLS_LMOTS_SHA256_N32_W8 ) + for( height = 0; height < MBEDTLS_LMS_H_TREE_HEIGHT(ctx->params.type); + height++ ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + adjacent_node_id = curr_node_id ^ 1; + + memcpy( &path[height * MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type)], + &tree[adjacent_node_id], + MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type) ); + + curr_node_id >>=1; } - ctx->MBEDTLS_PRIVATE(otstype) = otstype; - memcpy( ctx->MBEDTLS_PRIVATE(I_key_identifier), key + MBEDTLS_LMS_PUBKEY_I_KEY_ID_OFFSET, - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - memcpy( ctx->MBEDTLS_PRIVATE(T_1_pub_key), key + MBEDTLS_LMS_PUBKEY_ROOT_NODE_OFFSET, - MBEDTLS_LMOTS_N_HASH_LEN ); + ret = 0; - ctx->MBEDTLS_PRIVATE(have_pubkey) = 1; +exit: + mbedtls_platform_zeroize( tree, sizeof( tree ) ); - return( 0 ); + return( ret ); +} + +void mbedtls_lms_private_init( mbedtls_lms_private_t *ctx ) +{ + memset( ctx, 0, sizeof( *ctx ) ) ; } -int mbedtls_lms_export_pubkey( mbedtls_lms_context *ctx, - unsigned char *key ) +void mbedtls_lms_private_free( mbedtls_lms_private_t *ctx ) { - if( ctx == NULL ) + unsigned int idx; + + if( ctx->have_private_key ) + { + if( ctx->ots_private_keys != NULL ) + { + for( idx = 0; idx < MERKLE_TREE_LEAF_NODE_AM(ctx->params.type); idx++ ) + { + mbedtls_lmots_private_free( &ctx->ots_private_keys[idx] ); + } + } + + if( ctx->ots_public_keys != NULL ) + { + for( idx = 0; idx < MERKLE_TREE_LEAF_NODE_AM(ctx->params.type); idx++ ) + { + mbedtls_lmots_public_free( &ctx->ots_public_keys[idx] ); + } + } + + mbedtls_free( ctx->ots_private_keys ); + mbedtls_free( ctx->ots_public_keys ); + } + + mbedtls_platform_zeroize( ctx, sizeof( *ctx ) ); +} + + +int mbedtls_lms_generate_private_key( mbedtls_lms_private_t *ctx, + mbedtls_lms_algorithm_type_t type, + mbedtls_lmots_algorithm_type_t otstype, + int (*f_rng)(void *, unsigned char *, size_t), + void* p_rng, const unsigned char *seed, + size_t seed_size ) +{ + unsigned int idx = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + if( type != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( key == NULL ) + if( otstype != MBEDTLS_LMOTS_SHA256_N32_W8 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ! ctx->MBEDTLS_PRIVATE(have_pubkey) ) + if( ctx->have_private_key ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(type), - MBEDTLS_LMS_TYPE_LEN, key + MBEDTLS_LMS_PUBKEY_TYPE_OFFSET ); - val_to_network_bytes( ctx->MBEDTLS_PRIVATE(otstype), - MBEDTLS_LMOTS_TYPE_LEN, key + MBEDTLS_LMS_PUBKEY_OTSTYPE_OFFSET ); - memcpy( key + MBEDTLS_LMS_PUBKEY_I_KEY_ID_OFFSET, - ctx->MBEDTLS_PRIVATE(I_key_identifier), - MBEDTLS_LMOTS_I_KEY_ID_LEN ); - memcpy( key + MBEDTLS_LMS_PUBKEY_ROOT_NODE_OFFSET, - ctx->MBEDTLS_PRIVATE(T_1_pub_key), - MBEDTLS_LMOTS_N_HASH_LEN ); + ctx->params.type = type; + ctx->params.otstype = otstype; + ctx->have_private_key = 1; - return( 0 ); -} + ret = f_rng( p_rng, + ctx->params.I_key_identifier, + MBEDTLS_LMOTS_I_KEY_ID_LEN ); + if( ret != 0 ) + { + goto exit; + } -int mbedtls_lms_gen_pubkey( mbedtls_lms_context *ctx ) -{ - unsigned char tree[MERKLE_TREE_NODE_AM][32]; - unsigned int idx; - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + /* Requires a cast to size_t to avoid an implicit cast warning on certain + * platforms (particularly Windows) */ + ctx->ots_private_keys = mbedtls_calloc( ( size_t )MERKLE_TREE_LEAF_NODE_AM(ctx->params.type), + sizeof( *ctx->ots_private_keys ) ); + if( ctx->ots_private_keys == NULL ) + { + ret = MBEDTLS_ERR_LMS_ALLOC_FAILED; + goto exit; + } - if( ctx == NULL ) + /* Requires a cast to size_t to avoid an implicit cast warning on certain + * platforms (particularly Windows) */ + ctx->ots_public_keys = mbedtls_calloc( ( size_t )MERKLE_TREE_LEAF_NODE_AM(ctx->params.type), + sizeof( *ctx->ots_public_keys ) ); + if( ctx->ots_public_keys == NULL ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + ret = MBEDTLS_ERR_LMS_ALLOC_FAILED; + goto exit; } - if( ! ctx->MBEDTLS_PRIVATE( have_privkey ) ) + for( idx = 0; idx < MERKLE_TREE_LEAF_NODE_AM(ctx->params.type); idx++ ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + mbedtls_lmots_private_init( &ctx->ots_private_keys[idx] ); + mbedtls_lmots_public_init( &ctx->ots_public_keys[idx] ); + } + + + for( idx = 0; idx < MERKLE_TREE_LEAF_NODE_AM(ctx->params.type); idx++ ) + { + ret = mbedtls_lmots_generate_private_key( &ctx->ots_private_keys[idx], + otstype, + ctx->params.I_key_identifier, + idx, seed, seed_size ); + if( ret != 0 ) + goto exit; + + ret = mbedtls_lmots_calculate_public_key( &ctx->ots_public_keys[idx], + &ctx->ots_private_keys[idx] ); + if( ret != 0 ) + goto exit; } - if( ctx->MBEDTLS_PRIVATE(type) != MBEDTLS_LMS_SHA256_M32_H10 ) + ctx->q_next_usable_key = 0; + +exit: + if( ret != 0 ) + { + mbedtls_lms_private_free(ctx); + } + + return( ret ); +} + +int mbedtls_lms_calculate_public_key( mbedtls_lms_public_t *ctx, + const mbedtls_lms_private_t *priv_ctx ) +{ + unsigned char tree[MERKLE_TREE_NODE_AM_MAX][MBEDTLS_LMS_M_NODE_BYTES_MAX]; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + if( ! priv_ctx->have_private_key ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ctx->MBEDTLS_PRIVATE(otstype) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( priv_ctx->params.type + != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - for( idx = 0; idx < MERKLE_TREE_LEAF_AM; idx++ ) + if( priv_ctx->params.otstype + != MBEDTLS_LMOTS_SHA256_N32_W8 ) { - ret = mbedtls_lmots_gen_pubkey( &ctx->MBEDTLS_PRIVATE(priv_keys)[idx] ); - if( ret ) - { - return( ret ); - } + return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - ret = generate_merkle_tree( ctx, tree); - if( ret ) + memcpy( &ctx->params, &priv_ctx->params, + sizeof( mbedtls_lmots_parameters_t ) ); + + ret = calculate_merkle_tree( priv_ctx, ( unsigned char * )tree ); + if( ret != 0 ) { - return( ret ); + goto exit; } /* Root node is always at position 1, due to 1-based indexing */ - memcpy( ctx->MBEDTLS_PRIVATE(T_1_pub_key), &tree[1], MBEDTLS_LMOTS_N_HASH_LEN ); + memcpy( ctx->T_1_pub_key, &tree[1], + MBEDTLS_LMS_M_NODE_BYTES(ctx->params.type) ); - ctx->MBEDTLS_PRIVATE(have_pubkey) = 1; + ctx->have_public_key = 1; - return( 0 ); + ret = 0; + +exit: + mbedtls_platform_zeroize( tree, sizeof( tree ) ); + + return( ret ); } -int mbedtls_lms_gen_privkey( mbedtls_lms_context *ctx, - int ( *f_rng)(void *, unsigned char *, size_t), - void* p_rng, unsigned char *seed, - size_t seed_len ) + +int mbedtls_lms_sign( mbedtls_lms_private_t *ctx, + int (*f_rng)(void *, unsigned char *, size_t), + void* p_rng, const unsigned char *msg, + unsigned int msg_size, unsigned char *sig, size_t sig_size, + size_t *sig_len ) { - unsigned int idx; + uint32_t q_leaf_identifier; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( ctx == NULL ) + if( ! ctx->have_private_key ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ctx->MBEDTLS_PRIVATE(type) != MBEDTLS_LMS_SHA256_M32_H10 ) + if( sig_size < MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype) ) { - return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + return( MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); } - if( ctx->MBEDTLS_PRIVATE(otstype) != MBEDTLS_LMOTS_SHA256_N32_W8 ) + if( ctx->params.type != MBEDTLS_LMS_SHA256_M32_H10 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - if( ctx->MBEDTLS_PRIVATE(have_privkey) ) + if( ctx->params.otstype + != MBEDTLS_LMOTS_SHA256_N32_W8 ) { return( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - f_rng( p_rng, ctx->MBEDTLS_PRIVATE(I_key_identifier), - sizeof( ctx->MBEDTLS_PRIVATE(I_key_identifier) ) ); - - ctx->MBEDTLS_PRIVATE(priv_keys) = mbedtls_calloc( MERKLE_TREE_LEAF_AM, - sizeof( mbedtls_lmots_context)); - if( ctx->MBEDTLS_PRIVATE(priv_keys) == NULL ) + if( ctx->q_next_usable_key >= MERKLE_TREE_LEAF_NODE_AM(ctx->params.type) ) { - ret = MBEDTLS_ERR_LMS_ALLOC_FAILED; - goto out; + return( MBEDTLS_ERR_LMS_OUT_OF_PRIVATE_KEYS ); } - for( idx = 0; idx < MERKLE_TREE_LEAF_AM; idx++ ) + + q_leaf_identifier = ctx->q_next_usable_key; + /* This new value must _always_ be written back to the disk before the + * signature is returned. + */ + ctx->q_next_usable_key += 1; + + if ( MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype) + < SIG_OTS_SIG_OFFSET ) { - mbedtls_lmots_init( &ctx->MBEDTLS_PRIVATE(priv_keys)[idx] ); - ret = mbedtls_lmots_set_algorithm_type( &ctx->MBEDTLS_PRIVATE(priv_keys)[idx], - ctx->MBEDTLS_PRIVATE(otstype) ); - if( ret) - { - goto out; - } + return ( MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); } - - for( idx = 0; idx < MERKLE_TREE_LEAF_AM; idx++ ) + ret = mbedtls_lmots_sign( &ctx->ots_private_keys[q_leaf_identifier], + f_rng, p_rng, msg, msg_size, + sig + SIG_OTS_SIG_OFFSET, + MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype) - SIG_OTS_SIG_OFFSET, + NULL ); + if( ret != 0 ) { - ret = mbedtls_lmots_gen_privkey( &ctx->MBEDTLS_PRIVATE(priv_keys)[idx], - ctx->MBEDTLS_PRIVATE(I_key_identifier), - idx, seed, seed_len ); - if( ret) - { - goto out; - } + return( ret ); } - ctx->MBEDTLS_PRIVATE(q_next_usable_key) = 0; - ctx->MBEDTLS_PRIVATE(have_privkey) = 1; + mbedtls_lms_unsigned_int_to_network_bytes( ctx->params.type, + MBEDTLS_LMS_TYPE_LEN, + sig + SIG_TYPE_OFFSET(ctx->params.otstype) ); + mbedtls_lms_unsigned_int_to_network_bytes( q_leaf_identifier, + MBEDTLS_LMOTS_Q_LEAF_ID_LEN, + sig + SIG_Q_LEAF_ID_OFFSET ); -out: - if( ret ) + ret = get_merkle_path( ctx, + MERKLE_TREE_INTERNAL_NODE_AM(ctx->params.type) + q_leaf_identifier, + sig + SIG_PATH_OFFSET(ctx->params.otstype) ); + if( ret != 0 ) { - mbedtls_free( ctx->MBEDTLS_PRIVATE(priv_keys) ); return( ret ); } + if( sig_len != NULL ) + { + *sig_len = MBEDTLS_LMS_SIG_LEN(ctx->params.type, ctx->params.otstype); + } + + return( 0 ); } -#endif /* MBEDTLS_LMS_C */ +#endif /* defined(MBEDTLS_LMS_PRIVATE) */ +#endif /* defined(MBEDTLS_LMS_C) */ diff --git a/library/md.c b/library/md.c index a387da50a9..8efcf105b4 100644 --- a/library/md.c +++ b/library/md.c @@ -36,13 +36,7 @@ #include "mbedtls/sha256.h" #include "mbedtls/sha512.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include diff --git a/library/md5.c b/library/md5.c index a9bbcb488b..f7a225c1d3 100644 --- a/library/md5.c +++ b/library/md5.c @@ -32,14 +32,7 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_MD5_ALT) diff --git a/library/mps_reader.c b/library/mps_reader.c index 36958b46b8..df97b6cd1f 100644 --- a/library/mps_reader.c +++ b/library/mps_reader.c @@ -29,11 +29,6 @@ #include -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - #if defined(MBEDTLS_MPS_ENABLE_TRACE) static int mbedtls_mps_trace_id = MBEDTLS_MPS_TRACE_BIT_READER; #endif /* MBEDTLS_MPS_ENABLE_TRACE */ @@ -535,7 +530,7 @@ int mbedtls_mps_reader_reclaim( mbedtls_mps_reader *rd, * of the accumulator. */ memmove( acc, acc + acc_backup_offset, acc_backup_len ); - /* Copy uncmmitted parts of the current fragment to the + /* Copy uncommitted parts of the current fragment to the * accumulator. */ memcpy( acc + acc_backup_len, frag + frag_backup_offset, frag_backup_len ); diff --git a/library/mps_trace.h b/library/mps_trace.h index 7c2360118a..820a1b66c2 100644 --- a/library/mps_trace.h +++ b/library/mps_trace.h @@ -30,13 +30,7 @@ #include "mps_common.h" #include "mps_trace.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#define mbedtls_vsnprintf vsnprintf -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_MPS_ENABLE_TRACE) diff --git a/library/net_sockets.c b/library/net_sockets.c index d1700f3bbf..637b9f8d8e 100644 --- a/library/net_sockets.c +++ b/library/net_sockets.c @@ -37,11 +37,7 @@ #error "This module only works on Unix and Windows, see MBEDTLS_NET_C in mbedtls_config.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#endif #include "mbedtls/net_sockets.h" #include "mbedtls/error.h" diff --git a/library/nist_kw.c b/library/nist_kw.c index 1aea0b6345..495c23d06a 100644 --- a/library/nist_kw.c +++ b/library/nist_kw.c @@ -39,14 +39,7 @@ #include #include -#if defined(MBEDTLS_SELF_TEST) && defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST && MBEDTLS_AES_C */ #if !defined(MBEDTLS_NIST_KW_ALT) diff --git a/library/oid.c b/library/oid.c index f70ceea566..aa5f69c66f 100644 --- a/library/oid.c +++ b/library/oid.c @@ -27,14 +27,12 @@ #include "mbedtls/rsa.h" #include "mbedtls/error.h" +#include "mbedtls/legacy_or_psa.h" + #include #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_snprintf snprintf -#endif /* * Macro to automatically add the size of #define'd OIDs @@ -327,7 +325,6 @@ FN_OID_TYPED_FROM_ASN1(mbedtls_oid_descriptor_t, certificate_policies, oid_certi FN_OID_GET_ATTR1(mbedtls_oid_get_certificate_policies, mbedtls_oid_descriptor_t, certificate_policies, const char *, description) #endif /* MBEDTLS_X509_REMOVE_INFO */ -#if defined(MBEDTLS_MD_C) /* * For SignatureAlgorithmIdentifier */ @@ -340,80 +337,80 @@ typedef struct { static const oid_sig_alg_t oid_sig_alg[] = { #if defined(MBEDTLS_RSA_C) -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_MD5, "md5WithRSAEncryption", "RSA with MD5" ), MBEDTLS_MD_MD5, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_MD5_C */ -#if defined(MBEDTLS_SHA1_C) +#endif /* MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_SHA1, "sha-1WithRSAEncryption", "RSA with SHA1" ), MBEDTLS_MD_SHA1, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA224_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_SHA224, "sha224WithRSAEncryption", "RSA with SHA-224" ), MBEDTLS_MD_SHA224, MBEDTLS_PK_RSA, }, -#endif -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_SHA256, "sha256WithRSAEncryption", "RSA with SHA-256" ), MBEDTLS_MD_SHA256, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_SHA384, "sha384WithRSAEncryption", "RSA with SHA-384" ), MBEDTLS_MD_SHA384, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_PKCS1_SHA512, "sha512WithRSAEncryption", "RSA with SHA-512" ), MBEDTLS_MD_SHA512, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_SHA512_C */ -#if defined(MBEDTLS_SHA1_C) +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_RSA_SHA_OBS, "sha-1WithRSAEncryption", "RSA with SHA1" ), MBEDTLS_MD_SHA1, MBEDTLS_PK_RSA, }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA */ #endif /* MBEDTLS_RSA_C */ #if defined(MBEDTLS_ECDSA_C) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_ECDSA_SHA1, "ecdsa-with-SHA1", "ECDSA with SHA1" ), MBEDTLS_MD_SHA1, MBEDTLS_PK_ECDSA, }, -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA224_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_ECDSA_SHA224, "ecdsa-with-SHA224", "ECDSA with SHA224" ), MBEDTLS_MD_SHA224, MBEDTLS_PK_ECDSA, }, #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_ECDSA_SHA256, "ecdsa-with-SHA256", "ECDSA with SHA256" ), MBEDTLS_MD_SHA256, MBEDTLS_PK_ECDSA, }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_ECDSA_SHA384, "ecdsa-with-SHA384", "ECDSA with SHA384" ), MBEDTLS_MD_SHA384, MBEDTLS_PK_ECDSA, }, -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_ECDSA_SHA512, "ecdsa-with-SHA512", "ECDSA with SHA512" ), MBEDTLS_MD_SHA512, MBEDTLS_PK_ECDSA, }, -#endif /* MBEDTLS_SHA512_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA */ #endif /* MBEDTLS_ECDSA_C */ #if defined(MBEDTLS_RSA_C) { @@ -435,7 +432,6 @@ FN_OID_GET_DESCRIPTOR_ATTR1(mbedtls_oid_get_sig_alg_desc, oid_sig_alg_t, sig_alg FN_OID_GET_ATTR2(mbedtls_oid_get_sig_alg, oid_sig_alg_t, sig_alg, mbedtls_md_type_t, md_alg, mbedtls_pk_type_t, pk_alg) FN_OID_GET_OID_BY_ATTR2(mbedtls_oid_get_oid_by_sig_alg, oid_sig_alg_t, oid_sig_alg, mbedtls_pk_type_t, pk_alg, mbedtls_md_type_t, md_alg) -#endif /* MBEDTLS_MD_C */ /* * For PublicKeyInfo (PKCS1, RFC 5480) @@ -586,7 +582,6 @@ FN_OID_TYPED_FROM_ASN1(oid_cipher_alg_t, cipher_alg, oid_cipher_alg) FN_OID_GET_ATTR1(mbedtls_oid_get_cipher_alg, oid_cipher_alg_t, cipher_alg, mbedtls_cipher_type_t, cipher_alg) #endif /* MBEDTLS_CIPHER_C */ -#if defined(MBEDTLS_MD_C) /* * For digestAlgorithm */ @@ -597,48 +592,48 @@ typedef struct { static const oid_md_alg_t oid_md_alg[] = { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_MD5, "id-md5", "MD5" ), MBEDTLS_MD_MD5, }, -#endif /* MBEDTLS_MD5_C */ -#if defined(MBEDTLS_SHA1_C) +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_SHA1, "id-sha1", "SHA-1" ), MBEDTLS_MD_SHA1, }, -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA224_C) +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_SHA224, "id-sha224", "SHA-224" ), MBEDTLS_MD_SHA224, }, #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_SHA256, "id-sha256", "SHA-256" ), MBEDTLS_MD_SHA256, }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_SHA384, "id-sha384", "SHA-384" ), MBEDTLS_MD_SHA384, }, -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_SHA512, "id-sha512", "SHA-512" ), MBEDTLS_MD_SHA512, }, -#endif /* MBEDTLS_SHA512_C */ -#if defined(MBEDTLS_RIPEMD160_C) +#endif +#if defined(MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_DIGEST_ALG_RIPEMD160, "id-ripemd160", "RIPEMD-160" ), MBEDTLS_MD_RIPEMD160, }, -#endif /* MBEDTLS_RIPEMD160_C */ +#endif { NULL_OID_DESCRIPTOR, MBEDTLS_MD_NONE, @@ -659,36 +654,36 @@ typedef struct { static const oid_md_hmac_t oid_md_hmac[] = { -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_HMAC_SHA1, "hmacSHA1", "HMAC-SHA-1" ), MBEDTLS_MD_SHA1, }, -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA224_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_HMAC_SHA224, "hmacSHA224", "HMAC-SHA-224" ), MBEDTLS_MD_SHA224, }, #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_HMAC_SHA256, "hmacSHA256", "HMAC-SHA-256" ), MBEDTLS_MD_SHA256, }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_HMAC_SHA384, "hmacSHA384", "HMAC-SHA-384" ), MBEDTLS_MD_SHA384, }, -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA) { OID_DESCRIPTOR( MBEDTLS_OID_HMAC_SHA512, "hmacSHA512", "HMAC-SHA-512" ), MBEDTLS_MD_SHA512, }, -#endif /* MBEDTLS_SHA512_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA */ { NULL_OID_DESCRIPTOR, MBEDTLS_MD_NONE, @@ -697,7 +692,6 @@ static const oid_md_hmac_t oid_md_hmac[] = FN_OID_TYPED_FROM_ASN1(oid_md_hmac_t, md_hmac, oid_md_hmac) FN_OID_GET_ATTR1(mbedtls_oid_get_md_hmac, oid_md_hmac_t, md_hmac, mbedtls_md_type_t, md_hmac) -#endif /* MBEDTLS_MD_C */ #if defined(MBEDTLS_PKCS12_C) /* diff --git a/library/padlock.c b/library/padlock.c index b8ba1058a8..a1287759e6 100644 --- a/library/padlock.c +++ b/library/padlock.c @@ -82,7 +82,11 @@ int mbedtls_padlock_xcryptecb( mbedtls_aes_context *ctx, uint32_t *ctrl; unsigned char buf[256]; - rk = ctx->rk; + rk = ctx->buf + ctx->rk_offset; + + if( ( (long) rk & 15 ) != 0 ) + return( MBEDTLS_ERR_PADLOCK_DATA_MISALIGNED ); + blk = MBEDTLS_PADLOCK_ALIGN16( buf ); memcpy( blk, input, 16 ); @@ -125,11 +129,13 @@ int mbedtls_padlock_xcryptcbc( mbedtls_aes_context *ctx, uint32_t *ctrl; unsigned char buf[256]; + rk = ctx->buf + ctx->rk_offset; + if( ( (long) input & 15 ) != 0 || - ( (long) output & 15 ) != 0 ) + ( (long) output & 15 ) != 0 || + ( (long) rk & 15 ) != 0 ) return( MBEDTLS_ERR_PADLOCK_DATA_MISALIGNED ); - rk = ctx->rk; iw = MBEDTLS_PADLOCK_ALIGN16( buf ); memcpy( iw, iv, 16 ); diff --git a/library/pem.c b/library/pem.c index 1b40e5e558..e8abba13c8 100644 --- a/library/pem.c +++ b/library/pem.c @@ -29,25 +29,33 @@ #include "mbedtls/cipher.h" #include "mbedtls/platform_util.h" #include "mbedtls/error.h" +#include "hash_info.h" #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free + +#if defined(MBEDTLS_USE_PSA_CRYPTO) +#include "psa/crypto.h" #endif +#include "mbedtls/legacy_or_psa.h" + +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + defined(MBEDTLS_CIPHER_MODE_CBC) && \ + ( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) ) +#define PEM_RFC1421 +#endif /* MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA && + MBEDTLS_CIPHER_MODE_CBC && + ( MBEDTLS_AES_C || MBEDTLS_DES_C ) */ + #if defined(MBEDTLS_PEM_PARSE_C) void mbedtls_pem_init( mbedtls_pem_context *ctx ) { memset( ctx, 0, sizeof( mbedtls_pem_context ) ); } -#if defined(MBEDTLS_MD5_C) && defined(MBEDTLS_CIPHER_MODE_CBC) && \ - ( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) ) +#if defined(PEM_RFC1421) /* * Read a 16-byte hex string and convert it to binary */ @@ -73,6 +81,7 @@ static int pem_get_iv( const unsigned char *s, unsigned char *iv, return( 0 ); } +#if defined(MBEDTLS_MD5_C) static int pem_pbkdf1( unsigned char *key, size_t keylen, unsigned char *iv, const unsigned char *pwd, size_t pwdlen ) @@ -130,6 +139,84 @@ static int pem_pbkdf1( unsigned char *key, size_t keylen, return( ret ); } +#else +static int pem_pbkdf1( unsigned char *key, size_t keylen, + unsigned char *iv, + const unsigned char *pwd, size_t pwdlen ) +{ + unsigned char md5sum[16]; + psa_hash_operation_t operation = PSA_HASH_OPERATION_INIT; + size_t output_length = 0; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + + if( ( status = psa_hash_setup( &operation, PSA_ALG_MD5 ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_update( &operation, pwd, pwdlen ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_update( &operation, iv, 8 ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_finish( &operation, md5sum, + PSA_HASH_LENGTH( PSA_ALG_MD5 ), + &output_length ) ) != PSA_SUCCESS ) + { + goto exit; + } + + if( ( status = psa_hash_abort( &operation ) ) != PSA_SUCCESS ) + goto exit; + + /* + * key[ 0..15] = MD5(pwd || IV) + */ + if( keylen <= 16 ) + { + memcpy( key, md5sum, keylen ); + goto exit; + } + + memcpy( key, md5sum, 16 ); + + /* + * key[16..23] = MD5(key[ 0..15] || pwd || IV]) + */ + if( ( status = psa_hash_setup( &operation, PSA_ALG_MD5 ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_update( &operation, md5sum, 16 ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_update( &operation, pwd, pwdlen ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_update( &operation, iv, 8 ) ) != PSA_SUCCESS ) + goto exit; + + if( ( status = psa_hash_finish( &operation, md5sum, + PSA_HASH_LENGTH( PSA_ALG_MD5 ), + &output_length ) ) != PSA_SUCCESS ) + { + goto exit; + } + + if( ( status = psa_hash_abort( &operation ) ) != PSA_SUCCESS ) + goto exit; + + size_t use_len = 16; + if( keylen < 32 ) + use_len = keylen - 16; + + memcpy( key + 16, md5sum, use_len ); + +exit: + mbedtls_platform_zeroize( md5sum, 16 ); + + return( mbedtls_md_error_from_psa ( status ) ); +} +#endif /* MBEDTLS_MD5_C */ #if defined(MBEDTLS_DES_C) /* @@ -219,8 +306,7 @@ static int pem_aes_decrypt( unsigned char aes_iv[16], unsigned int keylen, } #endif /* MBEDTLS_AES_C */ -#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC && - ( MBEDTLS_AES_C || MBEDTLS_DES_C ) */ +#endif /* PEM_RFC1421 */ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const char *footer, const unsigned char *data, const unsigned char *pwd, @@ -230,15 +316,13 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const size_t len; unsigned char *buf; const unsigned char *s1, *s2, *end; -#if defined(MBEDTLS_MD5_C) && defined(MBEDTLS_CIPHER_MODE_CBC) && \ - ( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) ) +#if defined(PEM_RFC1421) unsigned char pem_iv[16]; mbedtls_cipher_type_t enc_alg = MBEDTLS_CIPHER_NONE; #else ((void) pwd); ((void) pwdlen); -#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC && - ( MBEDTLS_AES_C || MBEDTLS_DES_C ) */ +#endif /* PEM_RFC1421 */ if( ctx == NULL ) return( MBEDTLS_ERR_PEM_BAD_INPUT_DATA ); @@ -270,8 +354,7 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const if( s2 - s1 >= 22 && memcmp( s1, "Proc-Type: 4,ENCRYPTED", 22 ) == 0 ) { -#if defined(MBEDTLS_MD5_C) && defined(MBEDTLS_CIPHER_MODE_CBC) && \ - ( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) ) +#if defined(PEM_RFC1421) enc++; s1 += 22; @@ -333,8 +416,7 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const else return( MBEDTLS_ERR_PEM_INVALID_DATA ); #else return( MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE ); -#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC && - ( MBEDTLS_AES_C || MBEDTLS_DES_C ) */ +#endif /* PEM_RFC1421 */ } if( s1 >= s2 ) @@ -357,8 +439,7 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const if( enc != 0 ) { -#if defined(MBEDTLS_MD5_C) && defined(MBEDTLS_CIPHER_MODE_CBC) && \ - ( defined(MBEDTLS_DES_C) || defined(MBEDTLS_AES_C) ) +#if defined(PEM_RFC1421) if( pwd == NULL ) { mbedtls_platform_zeroize( buf, len ); @@ -406,8 +487,7 @@ int mbedtls_pem_read_buffer( mbedtls_pem_context *ctx, const char *header, const mbedtls_platform_zeroize( buf, len ); mbedtls_free( buf ); return( MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE ); -#endif /* MBEDTLS_MD5_C && MBEDTLS_CIPHER_MODE_CBC && - ( MBEDTLS_AES_C || MBEDTLS_DES_C ) */ +#endif /* PEM_RFC1421 */ } ctx->buf = buf; diff --git a/library/pk.c b/library/pk.c index 1eab65a276..8dc19ef99b 100644 --- a/library/pk.c +++ b/library/pk.c @@ -24,6 +24,8 @@ #include "pk_wrap.h" #include "pkwrite.h" +#include "hash_info.h" + #include "mbedtls/platform_util.h" #include "mbedtls/error.h" @@ -44,19 +46,11 @@ #include #include -/* Parameter validation macros based on platform_util.h */ -#define PK_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_PK_BAD_INPUT_DATA ) -#define PK_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - /* * Initialise a mbedtls_pk_context */ void mbedtls_pk_init( mbedtls_pk_context *ctx ) { - PK_VALIDATE( ctx != NULL ); - ctx->pk_info = NULL; ctx->pk_ctx = NULL; } @@ -81,7 +75,6 @@ void mbedtls_pk_free( mbedtls_pk_context *ctx ) */ void mbedtls_pk_restart_init( mbedtls_pk_restart_ctx *ctx ) { - PK_VALIDATE( ctx != NULL ); ctx->pk_info = NULL; ctx->rs_ctx = NULL; } @@ -135,7 +128,6 @@ const mbedtls_pk_info_t * mbedtls_pk_info_from_type( mbedtls_pk_type_t pk_type ) */ int mbedtls_pk_setup( mbedtls_pk_context *ctx, const mbedtls_pk_info_t *info ) { - PK_VALIDATE_RET( ctx != NULL ); if( info == NULL || ctx->pk_info != NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -198,7 +190,6 @@ int mbedtls_pk_setup_rsa_alt( mbedtls_pk_context *ctx, void * key, mbedtls_rsa_alt_context *rsa_alt; const mbedtls_pk_info_t *info = &mbedtls_rsa_alt_info; - PK_VALIDATE_RET( ctx != NULL ); if( ctx->pk_info != NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -358,15 +349,14 @@ int mbedtls_pk_can_do_ext( const mbedtls_pk_context *ctx, psa_algorithm_t alg, */ static inline int pk_hashlen_helper( mbedtls_md_type_t md_alg, size_t *hash_len ) { - const mbedtls_md_info_t *md_info; - if( *hash_len != 0 ) return( 0 ); - if( ( md_info = mbedtls_md_info_from_type( md_alg ) ) == NULL ) + *hash_len = mbedtls_hash_info_get_size( md_alg ); + + if( *hash_len == 0 ) return( -1 ); - *hash_len = mbedtls_md_get_size( md_info ); return( 0 ); } @@ -403,10 +393,8 @@ int mbedtls_pk_verify_restartable( mbedtls_pk_context *ctx, const unsigned char *sig, size_t sig_len, mbedtls_pk_restart_ctx *rs_ctx ) { - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && hash_len == 0 ) || - hash != NULL ); - PK_VALIDATE_RET( sig != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hash_len != 0 ) && hash == NULL ) + return MBEDTLS_ERR_PK_BAD_INPUT_DATA; if( ctx->pk_info == NULL || pk_hashlen_helper( md_alg, &hash_len ) != 0 ) @@ -461,10 +449,8 @@ int mbedtls_pk_verify_ext( mbedtls_pk_type_t type, const void *options, const unsigned char *hash, size_t hash_len, const unsigned char *sig, size_t sig_len ) { - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && hash_len == 0 ) || - hash != NULL ); - PK_VALIDATE_RET( sig != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hash_len != 0 ) && hash == NULL ) + return MBEDTLS_ERR_PK_BAD_INPUT_DATA; if( ctx->pk_info == NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -508,7 +494,7 @@ int mbedtls_pk_verify_ext( mbedtls_pk_type_t type, const void *options, psa_status_t status = PSA_ERROR_DATA_CORRUPT; psa_status_t destruction_status = PSA_ERROR_DATA_CORRUPT; - psa_algorithm_t psa_md_alg = mbedtls_psa_translate_md( md_alg ); + psa_algorithm_t psa_md_alg = mbedtls_hash_info_psa_from_md( md_alg ); mbedtls_svc_key_id_t key_id = MBEDTLS_SVC_KEY_ID_INIT; psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; psa_algorithm_t psa_sig_alg = @@ -587,13 +573,10 @@ int mbedtls_pk_sign_restartable( mbedtls_pk_context *ctx, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_pk_restart_ctx *rs_ctx ) { - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && hash_len == 0 ) || - hash != NULL ); - PK_VALIDATE_RET( sig != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hash_len != 0 ) && hash == NULL ) + return MBEDTLS_ERR_PK_BAD_INPUT_DATA; - if( ctx->pk_info == NULL || - pk_hashlen_helper( md_alg, &hash_len ) != 0 ) + if( ctx->pk_info == NULL || pk_hashlen_helper( md_alg, &hash_len ) != 0 ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); #if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE) @@ -673,7 +656,7 @@ int mbedtls_pk_sign_ext( mbedtls_pk_type_t pk_type, } #if defined(MBEDTLS_RSA_C) - psa_md_alg = mbedtls_psa_translate_md( md_alg ); + psa_md_alg = mbedtls_hash_info_psa_from_md( md_alg ); if( psa_md_alg == 0 ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -706,11 +689,6 @@ int mbedtls_pk_decrypt( mbedtls_pk_context *ctx, unsigned char *output, size_t *olen, size_t osize, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( input != NULL || ilen == 0 ); - PK_VALIDATE_RET( output != NULL || osize == 0 ); - PK_VALIDATE_RET( olen != NULL ); - if( ctx->pk_info == NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -729,11 +707,6 @@ int mbedtls_pk_encrypt( mbedtls_pk_context *ctx, unsigned char *output, size_t *olen, size_t osize, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( input != NULL || ilen == 0 ); - PK_VALIDATE_RET( output != NULL || osize == 0 ); - PK_VALIDATE_RET( olen != NULL ); - if( ctx->pk_info == NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -752,9 +725,6 @@ int mbedtls_pk_check_pair( const mbedtls_pk_context *pub, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ) { - PK_VALIDATE_RET( pub != NULL ); - PK_VALIDATE_RET( prv != NULL ); - if( pub->pk_info == NULL || prv->pk_info == NULL ) { @@ -799,7 +769,6 @@ size_t mbedtls_pk_get_bitlen( const mbedtls_pk_context *ctx ) */ int mbedtls_pk_debug( const mbedtls_pk_context *ctx, mbedtls_pk_debug_item *items ) { - PK_VALIDATE_RET( ctx != NULL ); if( ctx->pk_info == NULL ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); diff --git a/library/pk_wrap.c b/library/pk_wrap.c index e234a8de30..5de8fa65f7 100644 --- a/library/pk_wrap.c +++ b/library/pk_wrap.c @@ -52,15 +52,10 @@ #include "psa/crypto.h" #include "mbedtls/psa_util.h" #include "mbedtls/asn1.h" +#include "hash_info.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include #include @@ -179,7 +174,7 @@ static int rsa_verify_wrap( void *ctx, mbedtls_md_type_t md_alg, int key_len; unsigned char buf[MBEDTLS_PK_RSA_PUB_DER_MAX_BYTES]; psa_algorithm_t psa_alg_md = - PSA_ALG_RSA_PKCS1V15_SIGN( mbedtls_psa_translate_md( md_alg ) ); + PSA_ALG_RSA_PKCS1V15_SIGN( mbedtls_hash_info_psa_from_md( md_alg ) ); size_t rsa_len = mbedtls_rsa_get_len( rsa ); #if SIZE_MAX > UINT_MAX @@ -328,7 +323,7 @@ static int rsa_sign_wrap( void *ctx, mbedtls_md_type_t md_alg, ((void) p_rng); psa_algorithm_t psa_md_alg; - psa_md_alg = mbedtls_psa_translate_md( md_alg ); + psa_md_alg = mbedtls_hash_info_psa_from_md( md_alg ); if( psa_md_alg == 0 ) return( MBEDTLS_ERR_PK_BAD_INPUT_DATA ); @@ -1168,7 +1163,7 @@ static int ecdsa_sign_wrap( void *ctx_arg, mbedtls_md_type_t md_alg, unsigned char buf[MBEDTLS_PK_ECP_PRV_DER_MAX_BYTES]; unsigned char *p; psa_algorithm_t psa_sig_md = - PSA_ALG_ECDSA( mbedtls_psa_translate_md( md_alg ) ); + PSA_ALG_ECDSA( mbedtls_hash_info_psa_from_md( md_alg ) ); size_t curve_bits; psa_ecc_family_t curve = mbedtls_ecc_group_to_psa( ctx->grp.id, &curve_bits ); @@ -1469,7 +1464,7 @@ static void *pk_opaque_alloc_wrap( void ) { void *ctx = mbedtls_calloc( 1, sizeof( mbedtls_svc_key_id_t ) ); - /* no _init() function to call, an calloc() already zeroized */ + /* no _init() function to call, as calloc() already zeroized */ return( ctx ); } @@ -1542,12 +1537,12 @@ static int pk_opaque_sign_wrap( void *ctx, mbedtls_md_type_t md_alg, #if defined(MBEDTLS_ECDSA_C) if( PSA_KEY_TYPE_IS_ECC_KEY_PAIR( type ) ) - alg = PSA_ALG_ECDSA( mbedtls_psa_translate_md( md_alg ) ); + alg = PSA_ALG_ECDSA( mbedtls_hash_info_psa_from_md( md_alg ) ); else #endif /* MBEDTLS_ECDSA_C */ #if defined(MBEDTLS_RSA_C) if( PSA_KEY_TYPE_IS_RSA( type ) ) - alg = PSA_ALG_RSA_PKCS1V15_SIGN( mbedtls_psa_translate_md( md_alg ) ); + alg = PSA_ALG_RSA_PKCS1V15_SIGN( mbedtls_hash_info_psa_from_md( md_alg ) ); else #endif /* MBEDTLS_RSA_C */ return( MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE ); diff --git a/library/pkcs12.c b/library/pkcs12.c index e725a97cc2..f33507987b 100644 --- a/library/pkcs12.c +++ b/library/pkcs12.c @@ -39,6 +39,9 @@ #include "mbedtls/des.h" #endif +#include "hash_info.h" +#include "mbedtls/psa_util.h" + #if defined(MBEDTLS_ASN1_PARSE_C) static int pkcs12_parse_pbe_params( mbedtls_asn1_buf *params, @@ -209,6 +212,108 @@ static void pkcs12_fill_buffer( unsigned char *data, size_t data_len, } } + +static int calculate_hashes( mbedtls_md_type_t md_type, int iterations, + unsigned char *diversifier, unsigned char *salt_block, + unsigned char *pwd_block, unsigned char *hash_output, int use_salt, + int use_password, size_t hlen, size_t v ) +{ +#if defined(MBEDTLS_MD_C) + int ret = -1; + size_t i; + const mbedtls_md_info_t *md_info; + mbedtls_md_context_t md_ctx; + md_info = mbedtls_md_info_from_type( md_type ); + if( md_info == NULL ) + return ( MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE ); + + mbedtls_md_init( &md_ctx ); + + if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) + return ( ret ); + // Calculate hash( diversifier || salt_block || pwd_block ) + if( ( ret = mbedtls_md_starts( &md_ctx ) ) != 0 ) + goto exit; + + if( ( ret = mbedtls_md_update( &md_ctx, diversifier, v ) ) != 0 ) + goto exit; + + if( use_salt != 0 ) + { + if( ( ret = mbedtls_md_update( &md_ctx, salt_block, v ) ) != 0 ) + goto exit; + } + + if( use_password != 0 ) + { + if( ( ret = mbedtls_md_update( &md_ctx, pwd_block, v ) ) != 0 ) + goto exit; + } + + if( ( ret = mbedtls_md_finish( &md_ctx, hash_output ) ) != 0 ) + goto exit; + + // Perform remaining ( iterations - 1 ) recursive hash calculations + for( i = 1; i < (size_t) iterations; i++ ) + { + if( ( ret = mbedtls_md( md_info, hash_output, hlen, hash_output ) ) + != 0 ) + goto exit; + } + +exit: + mbedtls_md_free( &md_ctx ); + return ret; +#else + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_algorithm_t alg = mbedtls_psa_translate_md( md_type ); + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_status_t status_abort = PSA_ERROR_CORRUPTION_DETECTED; + size_t i, out_len, out_size = PSA_HASH_LENGTH( alg ); + + if( alg == PSA_ALG_NONE ) + return ( MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE ); + + if( ( status = psa_hash_setup( &op, alg ) ) != PSA_SUCCESS ) + goto exit; + + // Calculate hash( diversifier || salt_block || pwd_block ) + if( ( status = psa_hash_update( &op, diversifier, v ) ) != PSA_SUCCESS ) + goto exit; + + if( use_salt != 0 ) + { + if( ( status = psa_hash_update( &op, salt_block, v ) ) != PSA_SUCCESS ) + goto exit; + } + + if( use_password != 0 ) + { + if( ( status = psa_hash_update( &op, pwd_block, v ) ) != PSA_SUCCESS ) + goto exit; + } + + if( ( status = psa_hash_finish( &op, hash_output, out_size, &out_len ) ) + != PSA_SUCCESS ) + goto exit; + + // Perform remaining ( iterations - 1 ) recursive hash calculations + for( i = 1; i < (size_t) iterations; i++ ) + { + if( ( status = psa_hash_compute( alg, hash_output, hlen, hash_output, + out_size, &out_len ) ) != PSA_SUCCESS ) + goto exit; + } + +exit: + status_abort = psa_hash_abort( &op ); + if( status == PSA_SUCCESS ) + status = status_abort; + return ( mbedtls_md_error_from_psa( status ) ); +#endif /* !MBEDTLS_MD_C */ +} + + int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, const unsigned char *pwd, size_t pwdlen, const unsigned char *salt, size_t saltlen, @@ -219,7 +324,7 @@ int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, unsigned char diversifier[128]; unsigned char salt_block[128], pwd_block[128], hash_block[128] = {0}; - unsigned char hash_output[MBEDTLS_MD_MAX_SIZE]; + unsigned char hash_output[MBEDTLS_HASH_MAX_SIZE]; unsigned char *p; unsigned char c; int use_password = 0; @@ -227,9 +332,6 @@ int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, size_t hlen, use_len, v, i; - const mbedtls_md_info_t *md_info; - mbedtls_md_context_t md_ctx; - // This version only allows max of 64 bytes of password or salt if( datalen > 128 || pwdlen > 64 || saltlen > 64 ) return( MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA ); @@ -243,15 +345,7 @@ int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, use_password = ( pwd && pwdlen != 0 ); use_salt = ( salt && saltlen != 0 ); - md_info = mbedtls_md_info_from_type( md_type ); - if( md_info == NULL ) - return( MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE ); - - mbedtls_md_init( &md_ctx ); - - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) - return( ret ); - hlen = mbedtls_md_get_size( md_info ); + hlen = mbedtls_hash_info_get_size( md_type ); if( hlen <= 32 ) v = 64; @@ -273,33 +367,11 @@ int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, p = data; while( datalen > 0 ) { - // Calculate hash( diversifier || salt_block || pwd_block ) - if( ( ret = mbedtls_md_starts( &md_ctx ) ) != 0 ) - goto exit; - - if( ( ret = mbedtls_md_update( &md_ctx, diversifier, v ) ) != 0 ) - goto exit; - - if( use_salt != 0 ) + if( calculate_hashes( md_type, iterations, diversifier, salt_block, + pwd_block, hash_output, use_salt, use_password, hlen, + v ) != 0 ) { - if( ( ret = mbedtls_md_update( &md_ctx, salt_block, v )) != 0 ) - goto exit; - } - - if( use_password != 0) - { - if( ( ret = mbedtls_md_update( &md_ctx, pwd_block, v )) != 0 ) - goto exit; - } - - if( ( ret = mbedtls_md_finish( &md_ctx, hash_output ) ) != 0 ) goto exit; - - // Perform remaining ( iterations - 1 ) recursive hash calculations - for( i = 1; i < (size_t) iterations; i++ ) - { - if( ( ret = mbedtls_md( md_info, hash_output, hlen, hash_output ) ) != 0 ) - goto exit; } use_len = ( datalen > hlen ) ? hlen : datalen; @@ -351,8 +423,6 @@ int mbedtls_pkcs12_derivation( unsigned char *data, size_t datalen, mbedtls_platform_zeroize( hash_block, sizeof( hash_block ) ); mbedtls_platform_zeroize( hash_output, sizeof( hash_output ) ); - mbedtls_md_free( &md_ctx ); - return( ret ); } diff --git a/library/pkcs5.c b/library/pkcs5.c index 2b014d91c8..ac5945a114 100644 --- a/library/pkcs5.c +++ b/library/pkcs5.c @@ -42,12 +42,10 @@ #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif + +#include "hash_info.h" +#include "mbedtls/psa_util.h" #if defined(MBEDTLS_ASN1_PARSE_C) static int pkcs5_parse_pbkdf2_params( const mbedtls_asn1_buf *params, @@ -118,9 +116,7 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, mbedtls_md_type_t md_type = MBEDTLS_MD_SHA1; unsigned char key[32], iv[32]; size_t olen = 0; - const mbedtls_md_info_t *md_info; const mbedtls_cipher_info_t *cipher_info; - mbedtls_md_context_t md_ctx; mbedtls_cipher_type_t cipher_alg; mbedtls_cipher_context_t cipher_ctx; @@ -153,10 +149,6 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, return( ret ); } - md_info = mbedtls_md_info_from_type( md_type ); - if( md_info == NULL ) - return( MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE ); - if( ( ret = mbedtls_asn1_get_alg( &p, end, &enc_scheme_oid, &enc_scheme_params ) ) != 0 ) { @@ -182,16 +174,13 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, return( MBEDTLS_ERR_PKCS5_INVALID_FORMAT ); } - mbedtls_md_init( &md_ctx ); mbedtls_cipher_init( &cipher_ctx ); memcpy( iv, enc_scheme_params.p, enc_scheme_params.len ); - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 1 ) ) != 0 ) - goto exit; - - if( ( ret = mbedtls_pkcs5_pbkdf2_hmac( &md_ctx, pwd, pwdlen, salt.p, salt.len, - iterations, keylen, key ) ) != 0 ) + if( ( ret = mbedtls_pkcs5_pbkdf2_hmac_ext( md_type, pwd, pwdlen, salt.p, + salt.len, iterations, keylen, + key ) ) != 0 ) { goto exit; } @@ -208,18 +197,18 @@ int mbedtls_pkcs5_pbes2( const mbedtls_asn1_buf *pbe_params, int mode, ret = MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH; exit: - mbedtls_md_free( &md_ctx ); mbedtls_cipher_free( &cipher_ctx ); return( ret ); } #endif /* MBEDTLS_ASN1_PARSE_C */ -int mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, - const unsigned char *password, - size_t plen, const unsigned char *salt, size_t slen, - unsigned int iteration_count, - uint32_t key_length, unsigned char *output ) +#if defined(MBEDTLS_MD_C) +static int pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, + const unsigned char *password, + size_t plen, const unsigned char *salt, size_t slen, + unsigned int iteration_count, + uint32_t key_length, unsigned char *output ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; int j; @@ -297,9 +286,149 @@ int mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, return( ret ); } +#if !defined(MBEDTLS_DEPRECATED_REMOVED) +int mbedtls_pkcs5_pbkdf2_hmac( mbedtls_md_context_t *ctx, + const unsigned char *password, + size_t plen, const unsigned char *salt, size_t slen, + unsigned int iteration_count, + uint32_t key_length, unsigned char *output ) +{ + return( pkcs5_pbkdf2_hmac( ctx, password, plen, salt, slen, iteration_count, + key_length, output ) ); +} +#endif +#endif /* MBEDTLS_MD_C */ + +int mbedtls_pkcs5_pbkdf2_hmac_ext( mbedtls_md_type_t md_alg, + const unsigned char *password, + size_t plen, const unsigned char *salt, size_t slen, + unsigned int iteration_count, + uint32_t key_length, unsigned char *output ) +{ +#if defined(MBEDTLS_MD_C) + mbedtls_md_context_t md_ctx; + const mbedtls_md_info_t *md_info = NULL; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + md_info = mbedtls_md_info_from_type( md_alg ); + if( md_info == NULL ) + return( MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE ); + + mbedtls_md_init( &md_ctx ); + + if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 1 ) ) != 0 ) + goto exit; + ret = pkcs5_pbkdf2_hmac( &md_ctx, password, plen, salt, slen, + iteration_count, key_length, output ); +exit: + mbedtls_md_free( &md_ctx ); + return( ret ); +#else + int j; + unsigned int i; + unsigned char md1[PSA_HASH_MAX_SIZE]; + unsigned char work[PSA_HASH_MAX_SIZE]; + const unsigned char md_size = mbedtls_hash_info_get_size( md_alg ); + psa_mac_operation_t operation = PSA_MAC_OPERATION_INIT; + + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_status_t status_destruction = PSA_ERROR_CORRUPTION_DETECTED; + size_t use_len, out_len; + unsigned char *out_p = output; + unsigned char counter[4]; + mbedtls_svc_key_id_t psa_hmac_key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + const psa_algorithm_t alg = PSA_ALG_HMAC( mbedtls_hash_info_psa_from_md( md_alg ) ); + const size_t out_size = PSA_MAC_LENGTH( PSA_KEY_TYPE_HMAC, 0, alg ); + + memset( counter, 0, sizeof( counter ) ); + counter[3] = 1; + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_SIGN_MESSAGE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_HMAC ); + + if( key_length == 0 ) + return 0; + if( ( status = psa_import_key( &attributes, + password, plen, + &psa_hmac_key ) ) != PSA_SUCCESS ) + { + return MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA; + } + +#if UINT_MAX > 0xFFFFFFFF + if( iteration_count > 0xFFFFFFFF ) + return( MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA ); +#endif + + while( key_length ) + { + status = psa_mac_sign_setup( &operation, psa_hmac_key, + PSA_ALG_HMAC( alg ) ); + if( status != PSA_SUCCESS ) + goto cleanup; + // U1 ends up in work + if( ( status = psa_mac_update( &operation, salt, slen ) ) != PSA_SUCCESS ) + goto cleanup; + + if( ( status = psa_mac_update( &operation, counter, sizeof( counter ) ) ) != PSA_SUCCESS ) + goto cleanup; + + if( ( status = psa_mac_sign_finish( &operation, work, out_size, &out_len ) ) + != PSA_SUCCESS ) + goto cleanup; + + memcpy( md1, work, out_len ); + + for( i = 1; i < iteration_count; i++ ) + { + // U2 ends up in md1 + // + status = psa_mac_sign_setup( &operation, psa_hmac_key, + PSA_ALG_HMAC( alg ) ); + if( status != PSA_SUCCESS ) + goto cleanup; + if( ( status = psa_mac_update( &operation, md1, md_size ) ) != PSA_SUCCESS ) + goto cleanup; + if( ( status = psa_mac_sign_finish( &operation, md1, out_size, &out_len ) ) != PSA_SUCCESS ) + goto cleanup; + + // U1 xor U2 + // + for( j = 0; j < md_size; j++ ) + work[j] ^= md1[j]; + } + + use_len = ( key_length < md_size ) ? key_length : md_size; + memcpy( out_p, work, use_len ); + + key_length -= (uint32_t) use_len; + out_p += use_len; + + for( i = 4; i > 0; i-- ) + if( ++counter[i - 1] != 0 ) + break; + } + +cleanup: + /* Zeroise buffers to clear sensitive data from memory. */ + mbedtls_platform_zeroize( work, PSA_HASH_MAX_SIZE ); + mbedtls_platform_zeroize( md1, PSA_HASH_MAX_SIZE ); + status_destruction = psa_destroy_key( psa_hmac_key ); + if( status == PSA_SUCCESS && status_destruction != PSA_SUCCESS ) + status = status_destruction; + status_destruction = psa_mac_abort( &operation ); + if( status == PSA_SUCCESS && status_destruction != PSA_SUCCESS ) + status = status_destruction; + + return( mbedtls_md_error_from_psa( status ) ); +#endif /* !MBEDTLS_MD_C */ +} + #if defined(MBEDTLS_SELF_TEST) -#if !defined(MBEDTLS_SHA1_C) +#if !defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA) int mbedtls_pkcs5_self_test( int verbose ) { if( verbose != 0 ) @@ -362,32 +491,15 @@ static const unsigned char result_key_test_data[MAX_TESTS][32] = int mbedtls_pkcs5_self_test( int verbose ) { - mbedtls_md_context_t sha1_ctx; - const mbedtls_md_info_t *info_sha1; int ret, i; unsigned char key[64]; - mbedtls_md_init( &sha1_ctx ); - - info_sha1 = mbedtls_md_info_from_type( MBEDTLS_MD_SHA1 ); - if( info_sha1 == NULL ) - { - ret = 1; - goto exit; - } - - if( ( ret = mbedtls_md_setup( &sha1_ctx, info_sha1, 1 ) ) != 0 ) - { - ret = 1; - goto exit; - } - for( i = 0; i < MAX_TESTS; i++ ) { if( verbose != 0 ) mbedtls_printf( " PBKDF2 (SHA1) #%d: ", i ); - ret = mbedtls_pkcs5_pbkdf2_hmac( &sha1_ctx, password_test_data[i], + ret = mbedtls_pkcs5_pbkdf2_hmac_ext( MBEDTLS_MD_SHA1, password_test_data[i], plen_test_data[i], salt_test_data[i], slen_test_data[i], it_cnt_test_data[i], key_len_test_data[i], key ); @@ -409,11 +521,9 @@ int mbedtls_pkcs5_self_test( int verbose ) mbedtls_printf( "\n" ); exit: - mbedtls_md_free( &sha1_ctx ); - return( ret ); } -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA */ #endif /* MBEDTLS_SELF_TEST */ diff --git a/library/pkcs7.c b/library/pkcs7.c new file mode 100644 index 0000000000..9100980f68 --- /dev/null +++ b/library/pkcs7.c @@ -0,0 +1,728 @@ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "common.h" + +#include "mbedtls/build_info.h" +#if defined(MBEDTLS_PKCS7_C) +#include "mbedtls/pkcs7.h" +#include "mbedtls/x509.h" +#include "mbedtls/asn1.h" +#include "mbedtls/x509_crt.h" +#include "mbedtls/x509_crl.h" +#include "mbedtls/oid.h" +#include "mbedtls/error.h" + +#include +#include +#include +#if defined(MBEDTLS_FS_IO) +#include +#include +#endif + +#include "mbedtls/platform.h" +#include "mbedtls/platform_util.h" + +#if defined(MBEDTLS_HAVE_TIME) +#include "mbedtls/platform_time.h" +#endif +#if defined(MBEDTLS_HAVE_TIME_DATE) +#include +#endif + +/** + * Initializes the pkcs7 structure. + */ +void mbedtls_pkcs7_init( mbedtls_pkcs7 *pkcs7 ) +{ + memset( pkcs7, 0, sizeof( *pkcs7 ) ); +} + +static int pkcs7_get_next_content_len( unsigned char **p, unsigned char *end, + size_t *len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = mbedtls_asn1_get_tag( p, end, len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_CONTEXT_SPECIFIC ); + if( ret != 0 ) + { + ret = MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_FORMAT, ret ); + } + + return( ret ); +} + +/** + * version Version + * Version ::= INTEGER + **/ +static int pkcs7_get_version( unsigned char **p, unsigned char *end, int *ver ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = mbedtls_asn1_get_int( p, end, ver ); + if( ret != 0 ) + ret = MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_VERSION, ret ); + + /* If version != 1, return invalid version */ + if( *ver != MBEDTLS_PKCS7_SUPPORTED_VERSION ) + ret = MBEDTLS_ERR_PKCS7_INVALID_VERSION; + + return( ret ); +} + +/** + * ContentInfo ::= SEQUENCE { + * contentType ContentType, + * content + * [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL } + **/ +static int pkcs7_get_content_info_type( unsigned char **p, unsigned char *end, + mbedtls_pkcs7_buf *pkcs7 ) +{ + size_t len = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *start = *p; + + ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SEQUENCE ); + if( ret != 0 ) { + *p = start; + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_CONTENT_INFO, ret ) ); + } + + ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_OID ); + if( ret != 0 ) { + *p = start; + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_CONTENT_INFO, ret ) ); + } + + pkcs7->tag = MBEDTLS_ASN1_OID; + pkcs7->len = len; + pkcs7->p = *p; + *p += len; + + return( ret ); +} + +/** + * DigestAlgorithmIdentifier ::= AlgorithmIdentifier + * + * This is from x509.h + **/ +static int pkcs7_get_digest_algorithm( unsigned char **p, unsigned char *end, + mbedtls_x509_buf *alg ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + if( ( ret = mbedtls_asn1_get_alg_null( p, end, alg ) ) != 0 ) + ret = MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_ALG, ret ); + + return( ret ); +} + +/** + * DigestAlgorithmIdentifiers :: SET of DigestAlgorithmIdentifier + **/ +static int pkcs7_get_digest_algorithm_set( unsigned char **p, + unsigned char *end, + mbedtls_x509_buf *alg ) +{ + size_t len = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SET ); + if( ret != 0 ) + { + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_ALG, ret ) ); + } + + end = *p + len; + + ret = mbedtls_asn1_get_alg_null( p, end, alg ); + if( ret != 0 ) + { + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_ALG, ret ) ); + } + + /** For now, it assumes there is only one digest algorithm specified **/ + if ( *p != end ) + return( MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE ); + + return( 0 ); +} + +/** + * certificates :: SET OF ExtendedCertificateOrCertificate, + * ExtendedCertificateOrCertificate ::= CHOICE { + * certificate Certificate -- x509, + * extendedCertificate[0] IMPLICIT ExtendedCertificate } + * Return number of certificates added to the signed data, + * 0 or higher is valid. + * Return negative error code for failure. + **/ +static int pkcs7_get_certificates( unsigned char **p, unsigned char *end, + mbedtls_x509_crt *certs ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t len1 = 0; + size_t len2 = 0; + unsigned char *end_set, *end_cert, *start; + + if( ( ret = mbedtls_asn1_get_tag( p, end, &len1, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_CONTEXT_SPECIFIC ) ) != 0 ) + { + if( ret == MBEDTLS_ERR_ASN1_UNEXPECTED_TAG ) + return( 0 ); + else + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_FORMAT, ret ) ); + } + start = *p; + end_set = *p + len1; + + ret = mbedtls_asn1_get_tag( p, end_set, &len2, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SEQUENCE ); + if( ret != 0 ) + { + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_CERT, ret ) ); + } + + end_cert = *p + len2; + + /* + * This is to verify that there is only one signer certificate. It seems it is + * not easy to differentiate between the chain vs different signer's certificate. + * So, we support only the root certificate and the single signer. + * The behaviour would be improved with addition of multiple signer support. + */ + if ( end_cert != end_set ) + { + return( MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE ); + } + + *p = start; + if( ( ret = mbedtls_x509_crt_parse_der( certs, *p, len1 ) ) < 0 ) + { + return( MBEDTLS_ERR_PKCS7_INVALID_CERT ); + } + + *p = *p + len1; + + /* + * Since in this version we strictly support single certificate, and reaching + * here implies we have parsed successfully, we return 1. + */ + return( 1 ); +} + +/** + * EncryptedDigest ::= OCTET STRING + **/ +static int pkcs7_get_signature( unsigned char **p, unsigned char *end, + mbedtls_pkcs7_buf *signature ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t len = 0; + + ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_OCTET_STRING ); + if( ret != 0 ) + return( ret ); + + signature->tag = MBEDTLS_ASN1_OCTET_STRING; + signature->len = len; + signature->p = *p; + + *p = *p + len; + + return( 0 ); +} + +static void pkcs7_free_signer_info( mbedtls_pkcs7_signer_info *signer ) +{ + mbedtls_x509_name *name_cur; + mbedtls_x509_name *name_prv; + + if( signer == NULL ) + return; + + name_cur = signer->issuer.next; + while( name_cur != NULL ) + { + name_prv = name_cur; + name_cur = name_cur->next; + mbedtls_free( name_prv ); + } + signer->issuer.next = NULL; +} + +/** + * SignerInfo ::= SEQUENCE { + * version Version; + * issuerAndSerialNumber IssuerAndSerialNumber, + * digestAlgorithm DigestAlgorithmIdentifier, + * authenticatedAttributes + * [0] IMPLICIT Attributes OPTIONAL, + * digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier, + * encryptedDigest EncryptedDigest, + * unauthenticatedAttributes + * [1] IMPLICIT Attributes OPTIONAL, + * Returns 0 if the signerInfo is valid. + * Return negative error code for failure. + * Structure must not contain vales for authenticatedAttributes + * and unauthenticatedAttributes. + **/ +static int pkcs7_get_signer_info( unsigned char **p, unsigned char *end, + mbedtls_pkcs7_signer_info *signer ) +{ + unsigned char *end_signer; + int asn1_ret = 0, ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t len = 0; + + asn1_ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SEQUENCE ); + if( asn1_ret != 0 ) + goto out; + + end_signer = *p + len; + + ret = pkcs7_get_version( p, end_signer, &signer->version ); + if( ret != 0 ) + goto out; + + asn1_ret = mbedtls_asn1_get_tag( p, end_signer, &len, + MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ); + if( asn1_ret != 0 ) + goto out; + + /* Parsing IssuerAndSerialNumber */ + signer->issuer_raw.p = *p; + + asn1_ret = mbedtls_asn1_get_tag( p, end_signer, &len, + MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ); + if( asn1_ret != 0 ) + goto out; + + ret = mbedtls_x509_get_name( p, *p + len, &signer->issuer ); + if( ret != 0 ) + goto out; + + signer->issuer_raw.len = *p - signer->issuer_raw.p; + + ret = mbedtls_x509_get_serial( p, end_signer, &signer->serial ); + if( ret != 0 ) + goto out; + + ret = pkcs7_get_digest_algorithm( p, end_signer, &signer->alg_identifier ); + if( ret != 0 ) + goto out; + + /* Assume authenticatedAttributes is nonexistent */ + + ret = pkcs7_get_digest_algorithm( p, end_signer, &signer->sig_alg_identifier ); + if( ret != 0 ) + goto out; + + ret = pkcs7_get_signature( p, end_signer, &signer->sig ); + if( ret != 0 ) + goto out; + + /* Do not permit any unauthenticated attributes */ + if( *p != end_signer ) + ret = MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO; + +out: + if( asn1_ret != 0 || ret != 0 ) + { + pkcs7_free_signer_info( signer ); + ret = MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO, + asn1_ret ); + } + + return( ret ); +} + +/** + * SignerInfos ::= SET of SignerInfo + * Return number of signers added to the signed data, + * 0 or higher is valid. + * Return negative error code for failure. + **/ +static int pkcs7_get_signers_info_set( unsigned char **p, unsigned char *end, + mbedtls_pkcs7_signer_info *signers_set ) +{ + unsigned char *end_set; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + int count = 0; + size_t len = 0; + + ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SET ); + if( ret != 0 ) + { + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO, ret ) ); + } + + /* Detect zero signers */ + if( len == 0 ) + { + return( 0 ); + } + + end_set = *p + len; + + ret = pkcs7_get_signer_info( p, end_set, signers_set ); + if( ret != 0 ) + return( ret ); + count++; + + mbedtls_pkcs7_signer_info *prev = signers_set; + while( *p != end_set ) + { + mbedtls_pkcs7_signer_info *signer = + mbedtls_calloc( 1, sizeof( mbedtls_pkcs7_signer_info ) ); + if( !signer ) + { + ret = MBEDTLS_ERR_PKCS7_ALLOC_FAILED; + goto cleanup; + } + + ret = pkcs7_get_signer_info( p, end_set, signer ); + if( ret != 0 ) { + mbedtls_free( signer ); + goto cleanup; + } + prev->next = signer; + prev = signer; + count++; + } + + return( count ); + +cleanup: + pkcs7_free_signer_info( signers_set ); + mbedtls_pkcs7_signer_info *signer = signers_set->next; + while( signer != NULL ) + { + prev = signer; + signer = signer->next; + pkcs7_free_signer_info( prev ); + mbedtls_free( prev ); + } + signers_set->next = NULL; + return( ret ); +} + +/** + * SignedData ::= SEQUENCE { + * version Version, + * digestAlgorithms DigestAlgorithmIdentifiers, + * contentInfo ContentInfo, + * certificates + * [0] IMPLICIT ExtendedCertificatesAndCertificates + * OPTIONAL, + * crls + * [0] IMPLICIT CertificateRevocationLists OPTIONAL, + * signerInfos SignerInfos } + */ +static int pkcs7_get_signed_data( unsigned char *buf, size_t buflen, + mbedtls_pkcs7_signed_data *signed_data ) +{ + unsigned char *p = buf; + unsigned char *end = buf + buflen; + unsigned char *end_set; + size_t len = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_md_type_t md_alg; + + ret = mbedtls_asn1_get_tag( &p, end, &len, MBEDTLS_ASN1_CONSTRUCTED + | MBEDTLS_ASN1_SEQUENCE ); + if( ret != 0 ) + { + return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_PKCS7_INVALID_FORMAT, ret ) ); + } + + end_set = p + len; + + /* Get version of signed data */ + ret = pkcs7_get_version( &p, end_set, &signed_data->version ); + if( ret != 0 ) + return( ret ); + + /* Get digest algorithm */ + ret = pkcs7_get_digest_algorithm_set( &p, end_set, + &signed_data->digest_alg_identifiers ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_oid_get_md_alg( &signed_data->digest_alg_identifiers, &md_alg ); + if( ret != 0 ) + { + return( MBEDTLS_ERR_PKCS7_INVALID_ALG ); + } + + /* Do not expect any content */ + ret = pkcs7_get_content_info_type( &p, end_set, &signed_data->content.oid ); + if( ret != 0 ) + return( ret ); + + if( MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_DATA, &signed_data->content.oid ) ) + { + return( MBEDTLS_ERR_PKCS7_INVALID_CONTENT_INFO ); + } + + /* Look for certificates, there may or may not be any */ + mbedtls_x509_crt_init( &signed_data->certs ); + ret = pkcs7_get_certificates( &p, end_set, &signed_data->certs ); + if( ret < 0 ) + return( ret ); + + signed_data->no_of_certs = ret; + + /* + * Currently CRLs are not supported. If CRL exist, the parsing will fail + * at next step of getting signers info and return error as invalid + * signer info. + */ + + signed_data->no_of_crls = 0; + + /* Get signers info */ + ret = pkcs7_get_signers_info_set( &p, end_set, &signed_data->signers ); + if( ret < 0 ) + return( ret ); + + signed_data->no_of_signers = ret; + + /* Don't permit trailing data */ + if ( p != end ) + return( MBEDTLS_ERR_PKCS7_INVALID_FORMAT ); + + return( 0 ); +} + +int mbedtls_pkcs7_parse_der( mbedtls_pkcs7 *pkcs7, const unsigned char *buf, + const size_t buflen ) +{ + unsigned char *p; + unsigned char *end; + size_t len = 0; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + int isoidset = 0; + + if( pkcs7 == NULL ) + { + return( MBEDTLS_ERR_PKCS7_BAD_INPUT_DATA ); + } + + /* make an internal copy of the buffer for parsing */ + pkcs7->raw.p = p = mbedtls_calloc( 1, buflen ); + if( pkcs7->raw.p == NULL ) + { + ret = MBEDTLS_ERR_PKCS7_ALLOC_FAILED; + goto out; + } + memcpy( p, buf, buflen ); + pkcs7->raw.len = buflen; + end = p + buflen; + + ret = pkcs7_get_content_info_type( &p, end, &pkcs7->content_type_oid ); + if( ret != 0 ) + { + len = buflen; + goto try_data; + } + + if( ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_DATA, &pkcs7->content_type_oid ) + || ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_ENCRYPTED_DATA, &pkcs7->content_type_oid ) + || ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_ENVELOPED_DATA, &pkcs7->content_type_oid ) + || ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_SIGNED_AND_ENVELOPED_DATA, &pkcs7->content_type_oid ) + || ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_DIGESTED_DATA, &pkcs7->content_type_oid ) + || ! MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_ENCRYPTED_DATA, &pkcs7->content_type_oid ) ) + { + ret = MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE; + goto out; + } + + if( MBEDTLS_OID_CMP( MBEDTLS_OID_PKCS7_SIGNED_DATA, &pkcs7->content_type_oid ) ) + { + ret = MBEDTLS_ERR_PKCS7_BAD_INPUT_DATA; + goto out; + } + + isoidset = 1; + + ret = pkcs7_get_next_content_len( &p, end, &len ); + if( ret != 0 ) + goto out; + +try_data: + ret = pkcs7_get_signed_data( p, len, &pkcs7->signed_data ); + if ( ret != 0 ) + goto out; + + if ( !isoidset ) + { + pkcs7->content_type_oid.tag = MBEDTLS_ASN1_OID; + pkcs7->content_type_oid.len = MBEDTLS_OID_SIZE( MBEDTLS_OID_PKCS7_SIGNED_DATA ); + pkcs7->content_type_oid.p = (unsigned char *)MBEDTLS_OID_PKCS7_SIGNED_DATA; + } + + ret = MBEDTLS_PKCS7_SIGNED_DATA; + +out: + if ( ret < 0 ) + mbedtls_pkcs7_free( pkcs7 ); + + return( ret ); +} + +static int mbedtls_pkcs7_data_or_hash_verify( mbedtls_pkcs7 *pkcs7, + const mbedtls_x509_crt *cert, + const unsigned char *data, + size_t datalen, + const int is_data_hash ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *hash; + mbedtls_pk_context pk_cxt = cert->pk; + const mbedtls_md_info_t *md_info; + mbedtls_md_type_t md_alg; + mbedtls_pkcs7_signer_info *signer; + + if( pkcs7->signed_data.no_of_signers == 0 ) + { + return( MBEDTLS_ERR_PKCS7_INVALID_CERT ); + } + + if( mbedtls_x509_time_is_past( &cert->valid_to ) || + mbedtls_x509_time_is_future( &cert->valid_from )) + { + return( MBEDTLS_ERR_PKCS7_CERT_DATE_INVALID ); + } + + /* + * Potential TODOs + * Currently we iterate over all signers and return success if any of them + * verify. + * + * However, we could make this better by checking against the certificate's + * identification and SignerIdentifier fields first. That would also allow + * us to distinguish between 'no signature for key' and 'signature for key + * failed to validate'. + * + * We could also cache hashes by md, so if there are several sigs all using + * the same algo we don't recalculate the hash each time. + */ + for( signer = &pkcs7->signed_data.signers; signer; signer = signer->next ) + { + ret = mbedtls_oid_get_md_alg( &signer->alg_identifier, &md_alg ); + if( ret != 0 ) + { + ret = MBEDTLS_ERR_PKCS7_VERIFY_FAIL; + continue; + } + + md_info = mbedtls_md_info_from_type( md_alg ); + if( md_info == NULL ) + { + ret = MBEDTLS_ERR_PKCS7_VERIFY_FAIL; + continue; + } + + hash = mbedtls_calloc( mbedtls_md_get_size( md_info ), 1 ); + if( hash == NULL ) { + return( MBEDTLS_ERR_PKCS7_ALLOC_FAILED ); + } + /* BEGIN must free hash before jumping out */ + if( is_data_hash ) + { + if( datalen != mbedtls_md_get_size( md_info )) + ret = MBEDTLS_ERR_PKCS7_VERIFY_FAIL; + else + memcpy(hash, data, datalen); + } + else + { + ret = mbedtls_md( md_info, data, datalen, hash ); + } + if( ret != 0 ) + { + ret = MBEDTLS_ERR_PKCS7_VERIFY_FAIL; + mbedtls_free( hash ); + continue; + } + + ret = mbedtls_pk_verify( &pk_cxt, md_alg, hash, + mbedtls_md_get_size( md_info ), + signer->sig.p, signer->sig.len ); + mbedtls_free( hash ); + /* END must free hash before jumping out */ + + if( ret == 0 ) + break; + } + + return( ret ); +} +int mbedtls_pkcs7_signed_data_verify( mbedtls_pkcs7 *pkcs7, + const mbedtls_x509_crt *cert, + const unsigned char *data, + size_t datalen ) +{ + return( mbedtls_pkcs7_data_or_hash_verify( pkcs7, cert, data, datalen, 0 ) ); +} + +int mbedtls_pkcs7_signed_hash_verify( mbedtls_pkcs7 *pkcs7, + const mbedtls_x509_crt *cert, + const unsigned char *hash, + size_t hashlen ) +{ + return( mbedtls_pkcs7_data_or_hash_verify( pkcs7, cert, hash, hashlen, 1 ) ); +} + +/* + * Unallocate all pkcs7 data + */ +void mbedtls_pkcs7_free( mbedtls_pkcs7 *pkcs7 ) +{ + mbedtls_pkcs7_signer_info *signer_cur; + mbedtls_pkcs7_signer_info *signer_prev; + + if( pkcs7 == NULL || pkcs7->raw.p == NULL ) + return; + + mbedtls_free( pkcs7->raw.p ); + + mbedtls_x509_crt_free( &pkcs7->signed_data.certs ); + mbedtls_x509_crl_free( &pkcs7->signed_data.crl ); + + signer_cur = pkcs7->signed_data.signers.next; + pkcs7_free_signer_info( &pkcs7->signed_data.signers ); + while( signer_cur != NULL ) + { + signer_prev = signer_cur; + signer_cur = signer_prev->next; + pkcs7_free_signer_info( signer_prev ); + mbedtls_free( signer_prev ); + } + + pkcs7->raw.p = NULL; +} + +#endif diff --git a/library/pkparse.c b/library/pkparse.c index 73d59a6bbe..b9826378d4 100644 --- a/library/pkparse.c +++ b/library/pkparse.c @@ -48,19 +48,7 @@ #include "mbedtls/pkcs12.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif - -/* Parameter validation macros based on platform_util.h */ -#define PK_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_PK_BAD_INPUT_DATA ) -#define PK_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) #if defined(MBEDTLS_FS_IO) /* @@ -75,10 +63,6 @@ int mbedtls_pk_load_file( const char *path, unsigned char **buf, size_t *n ) FILE *f; long size; - PK_VALIDATE_RET( path != NULL ); - PK_VALIDATE_RET( buf != NULL ); - PK_VALIDATE_RET( n != NULL ); - if( ( f = fopen( path, "rb" ) ) == NULL ) return( MBEDTLS_ERR_PK_FILE_IO_ERROR ); @@ -133,9 +117,6 @@ int mbedtls_pk_parse_keyfile( mbedtls_pk_context *ctx, size_t n; unsigned char *buf; - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( path != NULL ); - if( ( ret = mbedtls_pk_load_file( path, &buf, &n ) ) != 0 ) return( ret ); @@ -160,9 +141,6 @@ int mbedtls_pk_parse_public_keyfile( mbedtls_pk_context *ctx, const char *path ) size_t n; unsigned char *buf; - PK_VALIDATE_RET( ctx != NULL ); - PK_VALIDATE_RET( path != NULL ); - if( ( ret = mbedtls_pk_load_file( path, &buf, &n ) ) != 0 ) return( ret ); @@ -620,11 +598,6 @@ int mbedtls_pk_parse_subpubkey( unsigned char **p, const unsigned char *end, mbedtls_pk_type_t pk_alg = MBEDTLS_PK_NONE; const mbedtls_pk_info_t *pk_info; - PK_VALIDATE_RET( p != NULL ); - PK_VALIDATE_RET( *p != NULL ); - PK_VALIDATE_RET( end != NULL ); - PK_VALIDATE_RET( pk != NULL ); - if( ( ret = mbedtls_asn1_get_tag( p, end, &len, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ) ) != 0 ) { @@ -1217,10 +1190,8 @@ int mbedtls_pk_parse_key( mbedtls_pk_context *pk, mbedtls_pem_context pem; #endif - PK_VALIDATE_RET( pk != NULL ); if( keylen == 0 ) return( MBEDTLS_ERR_PK_KEY_INVALID_FORMAT ); - PK_VALIDATE_RET( key != NULL ); #if defined(MBEDTLS_PEM_PARSE_C) mbedtls_pem_init( &pem ); @@ -1436,10 +1407,8 @@ int mbedtls_pk_parse_public_key( mbedtls_pk_context *ctx, mbedtls_pem_context pem; #endif - PK_VALIDATE_RET( ctx != NULL ); if( keylen == 0 ) return( MBEDTLS_ERR_PK_KEY_INVALID_FORMAT ); - PK_VALIDATE_RET( key != NULL || keylen == 0 ); #if defined(MBEDTLS_PEM_PARSE_C) mbedtls_pem_init( &pem ); diff --git a/library/pkwrite.c b/library/pkwrite.c index 8b99340507..f699a2726b 100644 --- a/library/pkwrite.c +++ b/library/pkwrite.c @@ -51,19 +51,7 @@ #include "psa/crypto.h" #include "mbedtls/psa_util.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif - -/* Parameter validation macros based on platform_util.h */ -#define PK_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_PK_BAD_INPUT_DATA ) -#define PK_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) #if defined(MBEDTLS_RSA_C) /* @@ -182,11 +170,6 @@ int mbedtls_pk_write_pubkey( unsigned char **p, unsigned char *start, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t len = 0; - PK_VALIDATE_RET( p != NULL ); - PK_VALIDATE_RET( *p != NULL ); - PK_VALIDATE_RET( start != NULL ); - PK_VALIDATE_RET( key != NULL ); - #if defined(MBEDTLS_RSA_C) if( mbedtls_pk_get_type( key ) == MBEDTLS_PK_RSA ) MBEDTLS_ASN1_CHK_ADD( len, pk_write_rsa_pubkey( p, start, mbedtls_pk_rsa( *key ) ) ); @@ -233,10 +216,8 @@ int mbedtls_pk_write_pubkey_der( const mbedtls_pk_context *key, unsigned char *b mbedtls_pk_type_t pk_type; const char *oid; - PK_VALIDATE_RET( key != NULL ); if( size == 0 ) return( MBEDTLS_ERR_ASN1_BUF_TOO_SMALL ); - PK_VALIDATE_RET( buf != NULL ); c = buf + size; @@ -333,10 +314,8 @@ int mbedtls_pk_write_key_der( const mbedtls_pk_context *key, unsigned char *buf, unsigned char *c; size_t len = 0; - PK_VALIDATE_RET( key != NULL ); if( size == 0 ) return( MBEDTLS_ERR_ASN1_BUF_TOO_SMALL ); - PK_VALIDATE_RET( buf != NULL ); c = buf + size; @@ -500,9 +479,6 @@ int mbedtls_pk_write_pubkey_pem( const mbedtls_pk_context *key, unsigned char *b unsigned char output_buf[PUB_DER_MAX_BYTES]; size_t olen = 0; - PK_VALIDATE_RET( key != NULL ); - PK_VALIDATE_RET( buf != NULL || size == 0 ); - if( ( ret = mbedtls_pk_write_pubkey_der( key, output_buf, sizeof(output_buf) ) ) < 0 ) { @@ -526,9 +502,6 @@ int mbedtls_pk_write_key_pem( const mbedtls_pk_context *key, unsigned char *buf, const char *begin, *end; size_t olen = 0; - PK_VALIDATE_RET( key != NULL ); - PK_VALIDATE_RET( buf != NULL || size == 0 ); - if( ( ret = mbedtls_pk_write_key_der( key, output_buf, sizeof(output_buf) ) ) < 0 ) return( ret ); diff --git a/library/poly1305.c b/library/poly1305.c index 7375a0c572..4d0cdee257 100644 --- a/library/poly1305.c +++ b/library/poly1305.c @@ -28,28 +28,10 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_POLY1305_ALT) -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - -/* Parameter validation macros */ -#define POLY1305_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA ) -#define POLY1305_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - #define POLY1305_BLOCK_SIZE_BYTES ( 16U ) /* @@ -258,8 +240,6 @@ static void poly1305_compute_mac( const mbedtls_poly1305_context *ctx, void mbedtls_poly1305_init( mbedtls_poly1305_context *ctx ) { - POLY1305_VALIDATE( ctx != NULL ); - mbedtls_platform_zeroize( ctx, sizeof( mbedtls_poly1305_context ) ); } @@ -274,9 +254,6 @@ void mbedtls_poly1305_free( mbedtls_poly1305_context *ctx ) int mbedtls_poly1305_starts( mbedtls_poly1305_context *ctx, const unsigned char key[32] ) { - POLY1305_VALIDATE_RET( ctx != NULL ); - POLY1305_VALIDATE_RET( key != NULL ); - /* r &= 0x0ffffffc0ffffffc0ffffffc0fffffff */ ctx->r[0] = MBEDTLS_GET_UINT32_LE( key, 0 ) & 0x0FFFFFFFU; ctx->r[1] = MBEDTLS_GET_UINT32_LE( key, 4 ) & 0x0FFFFFFCU; @@ -310,8 +287,6 @@ int mbedtls_poly1305_update( mbedtls_poly1305_context *ctx, size_t remaining = ilen; size_t queue_free_len; size_t nblocks; - POLY1305_VALIDATE_RET( ctx != NULL ); - POLY1305_VALIDATE_RET( ilen == 0 || input != NULL ); if( ( remaining > 0U ) && ( ctx->queue_len > 0U ) ) { @@ -369,9 +344,6 @@ int mbedtls_poly1305_update( mbedtls_poly1305_context *ctx, int mbedtls_poly1305_finish( mbedtls_poly1305_context *ctx, unsigned char mac[16] ) { - POLY1305_VALIDATE_RET( ctx != NULL ); - POLY1305_VALIDATE_RET( mac != NULL ); - /* Process any leftover data */ if( ctx->queue_len > 0U ) { @@ -400,9 +372,6 @@ int mbedtls_poly1305_mac( const unsigned char key[32], { mbedtls_poly1305_context ctx; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - POLY1305_VALIDATE_RET( key != NULL ); - POLY1305_VALIDATE_RET( mac != NULL ); - POLY1305_VALIDATE_RET( ilen == 0 || input != NULL ); mbedtls_poly1305_init( &ctx ); diff --git a/library/psa_crypto.c b/library/psa_crypto.c index b0159991cc..a700a3ce03 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -52,10 +52,6 @@ #include #include #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/aes.h" #include "mbedtls/asn1.h" @@ -450,6 +446,8 @@ psa_status_t psa_validate_unstructured_key_bit_size( psa_key_type_t type, case PSA_KEY_TYPE_RAW_DATA: case PSA_KEY_TYPE_HMAC: case PSA_KEY_TYPE_DERIVE: + case PSA_KEY_TYPE_PASSWORD: + case PSA_KEY_TYPE_PASSWORD_HASH: break; #if defined(PSA_WANT_KEY_TYPE_AES) case PSA_KEY_TYPE_AES: @@ -884,20 +882,7 @@ static psa_status_t psa_restrict_key_policy( return( PSA_SUCCESS ); } -/** Get the description of a key given its identifier and policy constraints - * and lock it. - * - * The key must have allow all the usage flags set in \p usage. If \p alg is - * nonzero, the key must allow operations with this algorithm. If \p alg is - * zero, the algorithm is not checked. - * - * In case of a persistent key, the function loads the description of the key - * into a key slot if not already done. - * - * On success, the returned key slot is locked. It is the responsibility of - * the caller to unlock the key slot when it does not access it anymore. - */ -static psa_status_t psa_get_and_lock_key_slot_with_policy( +psa_status_t psa_get_and_lock_key_slot_with_policy( mbedtls_svc_key_id_t key, psa_key_slot_t **p_slot, psa_key_usage_t usage, @@ -3478,8 +3463,8 @@ psa_status_t psa_cipher_encrypt( mbedtls_svc_key_id_t key, status = psa_driver_wrapper_cipher_encrypt( &attributes, slot->key.data, slot->key.bytes, alg, local_iv, default_iv_length, input, input_length, - output + default_iv_length, output_size - default_iv_length, - output_length ); + mbedtls_buffer_offset( output, default_iv_length ), + output_size - default_iv_length, output_length ); exit: unlock_status = psa_unlock_key_slot( slot ); @@ -3599,6 +3584,7 @@ static psa_status_t psa_aead_check_nonce_length( psa_algorithm_t alg, break; #endif /* PSA_WANT_ALG_CHACHA20_POLY1305 */ default: + (void) nonce_length; return( PSA_ERROR_NOT_SUPPORTED ); } @@ -3715,39 +3701,34 @@ psa_status_t psa_aead_decrypt( mbedtls_svc_key_id_t key, return( status ); } -static psa_status_t psa_validate_tag_length( psa_aead_operation_t *operation, - psa_algorithm_t alg ) { - uint8_t tag_len = 0; - if( psa_driver_get_tag_len( operation, &tag_len ) != PSA_SUCCESS ) - { - return( PSA_ERROR_INVALID_ARGUMENT ); - } +static psa_status_t psa_validate_tag_length( psa_algorithm_t alg ) { + const uint8_t tag_len = PSA_ALG_AEAD_GET_TAG_LENGTH( alg ); switch( PSA_ALG_AEAD_WITH_SHORTENED_TAG( alg, 0 ) ) { -#if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM) +#if defined(PSA_WANT_ALG_CCM) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_CCM, 0 ): /* CCM allows the following tag lengths: 4, 6, 8, 10, 12, 14, 16.*/ if( tag_len < 4 || tag_len > 16 || tag_len % 2 ) return( PSA_ERROR_INVALID_ARGUMENT ); break; -#endif /* MBEDTLS_PSA_BUILTIN_ALG_CCM */ +#endif /* PSA_WANT_ALG_CCM */ -#if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM) +#if defined(PSA_WANT_ALG_GCM) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_GCM, 0 ): /* GCM allows the following tag lengths: 4, 8, 12, 13, 14, 15, 16. */ if( tag_len != 4 && tag_len != 8 && ( tag_len < 12 || tag_len > 16 ) ) return( PSA_ERROR_INVALID_ARGUMENT ); break; -#endif /* MBEDTLS_PSA_BUILTIN_ALG_GCM */ +#endif /* PSA_WANT_ALG_GCM */ -#if defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305) +#if defined(PSA_WANT_ALG_CHACHA20_POLY1305) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_CHACHA20_POLY1305, 0 ): /* We only support the default tag length. */ if( tag_len != 16 ) return( PSA_ERROR_INVALID_ARGUMENT ); break; -#endif /* MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305 */ +#endif /* PSA_WANT_ALG_CHACHA20_POLY1305 */ default: (void) tag_len; @@ -3798,6 +3779,9 @@ static psa_status_t psa_aead_setup( psa_aead_operation_t *operation, .core = slot->attr }; + if( ( status = psa_validate_tag_length( alg ) ) != PSA_SUCCESS ) + goto exit; + if( is_encrypt ) status = psa_driver_wrapper_aead_encrypt_setup( operation, &attributes, @@ -3813,9 +3797,6 @@ static psa_status_t psa_aead_setup( psa_aead_operation_t *operation, if( status != PSA_SUCCESS ) goto exit; - if( ( status = psa_validate_tag_length( operation, alg ) ) != PSA_SUCCESS ) - goto exit; - operation->key_type = psa_get_key_type( &attributes ); exit: @@ -4252,7 +4233,8 @@ psa_status_t psa_aead_abort( psa_aead_operation_t *operation ) #if defined(BUILTIN_ALG_ANY_HKDF) || \ defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \ - defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) + defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) || \ + defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) #define AT_LEAST_ONE_BUILTIN_KDF #endif /* At least one builtin KDF */ @@ -4359,6 +4341,14 @@ psa_status_t psa_key_derivation_abort( psa_key_derivation_operation_t *operation else #endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || * defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + if( kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS ) + { + mbedtls_platform_zeroize( operation->ctx.tls12_ecjpake_to_pms.data, + sizeof( operation->ctx.tls12_ecjpake_to_pms.data ) ); + } + else +#endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) */ { status = PSA_ERROR_BAD_STATE; } @@ -4640,6 +4630,31 @@ static psa_status_t psa_key_derivation_tls12_prf_read( #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF || * MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) +static psa_status_t psa_key_derivation_tls12_ecjpake_to_pms_read( + psa_tls12_ecjpake_to_pms_t *ecjpake, + uint8_t *output, + size_t output_length ) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t output_size = 0; + + if( output_length != 32 ) + return ( PSA_ERROR_INVALID_ARGUMENT ); + + status = psa_hash_compute( PSA_ALG_SHA_256, ecjpake->data, + PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE, output, output_length, + &output_size ); + if( status != PSA_SUCCESS ) + return ( status ); + + if( output_size != output_length ) + return ( PSA_ERROR_GENERIC_ERROR ); + + return ( PSA_SUCCESS ); +} +#endif + psa_status_t psa_key_derivation_output_bytes( psa_key_derivation_operation_t *operation, uint8_t *output, @@ -4694,6 +4709,15 @@ psa_status_t psa_key_derivation_output_bytes( else #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF || * MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + if( kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS ) + { + status = psa_key_derivation_tls12_ecjpake_to_pms_read( + &operation->ctx.tls12_ecjpake_to_pms, output, output_length ); + } + else +#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */ + { (void) kdf_alg; return( PSA_ERROR_BAD_STATE ); @@ -5085,6 +5109,10 @@ static int is_kdf_alg_supported( psa_algorithm_t kdf_alg ) #if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS) if( PSA_ALG_IS_TLS12_PSK_TO_MS( kdf_alg ) ) return( 1 ); +#endif +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + if( kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS ) + return( 1 ); #endif return( 0 ); } @@ -5109,19 +5137,26 @@ static psa_status_t psa_key_derivation_setup_kdf( if( ! is_kdf_alg_supported( kdf_alg ) ) return( PSA_ERROR_NOT_SUPPORTED ); - /* All currently supported key derivation algorithms are based on a - * hash algorithm. */ + /* All currently supported key derivation algorithms (apart from + * ecjpake to pms) are based on a hash algorithm. */ psa_algorithm_t hash_alg = PSA_ALG_HKDF_GET_HASH( kdf_alg ); size_t hash_size = PSA_HASH_LENGTH( hash_alg ); - if( hash_size == 0 ) - return( PSA_ERROR_NOT_SUPPORTED ); + if( kdf_alg != PSA_ALG_TLS12_ECJPAKE_TO_PMS ) + { + if( hash_size == 0 ) + return( PSA_ERROR_NOT_SUPPORTED ); - /* Make sure that hash_alg is a supported hash algorithm. Otherwise - * we might fail later, which is somewhat unfriendly and potentially - * risk-prone. */ - psa_status_t status = psa_hash_try_support( hash_alg ); - if( status != PSA_SUCCESS ) - return( status ); + /* Make sure that hash_alg is a supported hash algorithm. Otherwise + * we might fail later, which is somewhat unfriendly and potentially + * risk-prone. */ + psa_status_t status = psa_hash_try_support( hash_alg ); + if( status != PSA_SUCCESS ) + return( status ); + } + else + { + hash_size = PSA_HASH_LENGTH( PSA_ALG_SHA_256 ); + } if( ( PSA_ALG_IS_TLS12_PRF( kdf_alg ) || PSA_ALG_IS_TLS12_PSK_TO_MS( kdf_alg ) ) && @@ -5129,11 +5164,14 @@ static psa_status_t psa_key_derivation_setup_kdf( { return( PSA_ERROR_NOT_SUPPORTED ); } -#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) - if( PSA_ALG_IS_HKDF_EXTRACT( kdf_alg ) ) +#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \ + defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + if( PSA_ALG_IS_HKDF_EXTRACT( kdf_alg ) || + ( kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS ) ) operation->capacity = hash_size; else -#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT */ +#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT || + MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */ operation->capacity = 255 * hash_size; return( PSA_SUCCESS ); } @@ -5522,6 +5560,29 @@ static psa_status_t psa_tls12_prf_psk_to_ms_input( } #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) +static psa_status_t psa_tls12_ecjpake_to_pms_input( + psa_tls12_ecjpake_to_pms_t *ecjpake, + psa_key_derivation_step_t step, + const uint8_t *data, + size_t data_length ) +{ + if( data_length != PSA_TLS12_ECJPAKE_TO_PMS_INPUT_SIZE || + step != PSA_KEY_DERIVATION_INPUT_SECRET ) + { + return( PSA_ERROR_INVALID_ARGUMENT ); + } + + /* Check if the passed point is in an uncompressed form */ + if( data[0] != 0x04 ) + return( PSA_ERROR_INVALID_ARGUMENT ); + + /* Only K.X has to be extracted - bytes 1 to 32 inclusive. */ + memcpy( ecjpake->data, data + 1, PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE ); + + return( PSA_SUCCESS ); +} +#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */ /** Check whether the given key type is acceptable for the given * input step of a key derivation. * @@ -5600,6 +5661,14 @@ static psa_status_t psa_key_derivation_input_internal( } else #endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) + if( kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS ) + { + status = psa_tls12_ecjpake_to_pms_input( + &operation->ctx.tls12_ecjpake_to_pms, step, data, data_length ); + } + else +#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */ { /* This can't happen unless the operation object was not initialized */ (void) data; @@ -5663,96 +5732,31 @@ psa_status_t psa_key_derivation_input_key( /* Key agreement */ /****************************************************************/ -#if defined(MBEDTLS_PSA_BUILTIN_ALG_ECDH) -static psa_status_t psa_key_agreement_ecdh( const uint8_t *peer_key, +psa_status_t psa_key_agreement_raw_builtin( const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, size_t peer_key_length, - const mbedtls_ecp_keypair *our_key, uint8_t *shared_secret, size_t shared_secret_size, size_t *shared_secret_length ) -{ - mbedtls_ecp_keypair *their_key = NULL; - mbedtls_ecdh_context ecdh; - psa_status_t status; - size_t bits = 0; - psa_ecc_family_t curve = mbedtls_ecc_group_to_psa( our_key->grp.id, &bits ); - mbedtls_ecdh_init( &ecdh ); - - status = mbedtls_psa_ecp_load_representation( - PSA_KEY_TYPE_ECC_PUBLIC_KEY(curve), - bits, - peer_key, - peer_key_length, - &their_key ); - if( status != PSA_SUCCESS ) - goto exit; - - status = mbedtls_to_psa_error( - mbedtls_ecdh_get_params( &ecdh, their_key, MBEDTLS_ECDH_THEIRS ) ); - if( status != PSA_SUCCESS ) - goto exit; - status = mbedtls_to_psa_error( - mbedtls_ecdh_get_params( &ecdh, our_key, MBEDTLS_ECDH_OURS ) ); - if( status != PSA_SUCCESS ) - goto exit; - - status = mbedtls_to_psa_error( - mbedtls_ecdh_calc_secret( &ecdh, - shared_secret_length, - shared_secret, shared_secret_size, - mbedtls_psa_get_random, - MBEDTLS_PSA_RANDOM_STATE ) ); - if( status != PSA_SUCCESS ) - goto exit; - if( PSA_BITS_TO_BYTES( bits ) != *shared_secret_length ) - status = PSA_ERROR_CORRUPTION_DETECTED; - -exit: - if( status != PSA_SUCCESS ) - mbedtls_platform_zeroize( shared_secret, shared_secret_size ); - mbedtls_ecdh_free( &ecdh ); - mbedtls_ecp_keypair_free( their_key ); - mbedtls_free( their_key ); - - return( status ); -} -#endif /* MBEDTLS_PSA_BUILTIN_ALG_ECDH */ - -#define PSA_KEY_AGREEMENT_MAX_SHARED_SECRET_SIZE MBEDTLS_ECP_MAX_BYTES - -static psa_status_t psa_key_agreement_raw_internal( psa_algorithm_t alg, - psa_key_slot_t *private_key, - const uint8_t *peer_key, - size_t peer_key_length, - uint8_t *shared_secret, - size_t shared_secret_size, - size_t *shared_secret_length ) { switch( alg ) { #if defined(MBEDTLS_PSA_BUILTIN_ALG_ECDH) case PSA_ALG_ECDH: - if( ! PSA_KEY_TYPE_IS_ECC_KEY_PAIR( private_key->attr.type ) ) - return( PSA_ERROR_INVALID_ARGUMENT ); - mbedtls_ecp_keypair *ecp = NULL; - psa_status_t status = mbedtls_psa_ecp_load_representation( - private_key->attr.type, - private_key->attr.bits, - private_key->key.data, - private_key->key.bytes, - &ecp ); - if( status != PSA_SUCCESS ) - return( status ); - status = psa_key_agreement_ecdh( peer_key, peer_key_length, - ecp, - shared_secret, shared_secret_size, - shared_secret_length ); - mbedtls_ecp_keypair_free( ecp ); - mbedtls_free( ecp ); - return( status ); + return( mbedtls_psa_key_agreement_ecdh( attributes, key_buffer, + key_buffer_size, alg, + peer_key, peer_key_length, + shared_secret, + shared_secret_size, + shared_secret_length ) ); #endif /* MBEDTLS_PSA_BUILTIN_ALG_ECDH */ default: - (void) private_key; + (void) attributes; + (void) key_buffer; + (void) key_buffer_size; (void) peer_key; (void) peer_key_length; (void) shared_secret; @@ -5762,6 +5766,36 @@ static psa_status_t psa_key_agreement_raw_internal( psa_algorithm_t alg, } } +/** Internal function for raw key agreement + * Calls the driver wrapper which will hand off key agreement task + * to the driver's implementation if a driver is present. + * Fallback specified in the driver wrapper is built-in raw key agreement + * (psa_key_agreement_raw_builtin). + */ +static psa_status_t psa_key_agreement_raw_internal( psa_algorithm_t alg, + psa_key_slot_t *private_key, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ) +{ + if( !PSA_ALG_IS_RAW_KEY_AGREEMENT( alg ) ) + return( PSA_ERROR_NOT_SUPPORTED ); + + psa_key_attributes_t attributes = { + .core = private_key->attr + }; + + return( psa_driver_wrapper_key_agreement( &attributes, + private_key->key.data, + private_key->key.bytes, alg, + peer_key, peer_key_length, + shared_secret, + shared_secret_size, + shared_secret_length ) ); +} + /* Note that if this function fails, you must call psa_key_derivation_abort() * to potentially free embedded data structures and wipe confidential data. */ @@ -5772,7 +5806,7 @@ static psa_status_t psa_key_agreement_internal( psa_key_derivation_operation_t * size_t peer_key_length ) { psa_status_t status; - uint8_t shared_secret[PSA_KEY_AGREEMENT_MAX_SHARED_SECRET_SIZE]; + uint8_t shared_secret[PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE]; size_t shared_secret_length = 0; psa_algorithm_t ka_alg = PSA_ALG_KEY_AGREEMENT_GET_BASE( operation->alg ); @@ -5871,24 +5905,11 @@ psa_status_t psa_raw_key_agreement( psa_algorithm_t alg, goto exit; } - psa_key_attributes_t attributes = { - .core = slot->attr - }; - - status = psa_driver_wrapper_key_agreement( alg, &attributes, - slot->key.data, - slot->key.bytes, - peer_key, peer_key_length, - output, output_size, - output_length ); + status = psa_key_agreement_raw_internal( alg, slot, + peer_key, peer_key_length, + output, output_size, + output_length ); - if (status == PSA_ERROR_NOT_SUPPORTED) - { - status = psa_key_agreement_raw_internal( alg, slot, - peer_key, peer_key_length, - output, output_size, - output_length ); - } exit: if( status != PSA_SUCCESS ) { @@ -5986,7 +6007,7 @@ psa_status_t psa_generate_random( uint8_t *output, if( status != PSA_SUCCESS ) return( status ); /* Breaking up a request into smaller chunks is currently not supported - * for the extrernal RNG interface. */ + * for the external RNG interface. */ if( output_length != output_size ) return( PSA_ERROR_INSUFFICIENT_ENTROPY ); return( PSA_SUCCESS ); diff --git a/library/psa_crypto_aead.c b/library/psa_crypto_aead.c index 714d950a14..730ef9555c 100644 --- a/library/psa_crypto_aead.c +++ b/library/psa_crypto_aead.c @@ -24,13 +24,10 @@ #include "psa_crypto_aead.h" #include "psa_crypto_core.h" +#include "psa_crypto_cipher.h" #include #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ccm.h" #include "mbedtls/chachapoly.h" @@ -49,7 +46,6 @@ static psa_status_t psa_aead_setup( size_t key_bits; const mbedtls_cipher_info_t *cipher_info; mbedtls_cipher_id_t cipher_id; - size_t full_tag_length = 0; ( void ) key_buffer_size; @@ -66,7 +62,6 @@ static psa_status_t psa_aead_setup( #if defined(MBEDTLS_PSA_BUILTIN_ALG_CCM) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_CCM, 0 ): operation->alg = PSA_ALG_CCM; - full_tag_length = 16; /* CCM allows the following tag lengths: 4, 6, 8, 10, 12, 14, 16. * The call to mbedtls_ccm_encrypt_and_tag or * mbedtls_ccm_auth_decrypt will validate the tag length. */ @@ -85,7 +80,6 @@ static psa_status_t psa_aead_setup( #if defined(MBEDTLS_PSA_BUILTIN_ALG_GCM) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_GCM, 0 ): operation->alg = PSA_ALG_GCM; - full_tag_length = 16; /* GCM allows the following tag lengths: 4, 8, 12, 13, 14, 15, 16. * The call to mbedtls_gcm_crypt_and_tag or * mbedtls_gcm_auth_decrypt will validate the tag length. */ @@ -104,7 +98,6 @@ static psa_status_t psa_aead_setup( #if defined(MBEDTLS_PSA_BUILTIN_ALG_CHACHA20_POLY1305) case PSA_ALG_AEAD_WITH_SHORTENED_TAG( PSA_ALG_CHACHA20_POLY1305, 0 ): operation->alg = PSA_ALG_CHACHA20_POLY1305; - full_tag_length = 16; /* We only support the default tag length. */ if( alg != PSA_ALG_CHACHA20_POLY1305 ) return( PSA_ERROR_NOT_SUPPORTED ); @@ -124,16 +117,9 @@ static psa_status_t psa_aead_setup( return( PSA_ERROR_NOT_SUPPORTED ); } - if( PSA_AEAD_TAG_LENGTH( attributes->core.type, - key_bits, alg ) - > full_tag_length ) - return( PSA_ERROR_INVALID_ARGUMENT ); - operation->key_type = psa_get_key_type( attributes ); - operation->tag_length = PSA_AEAD_TAG_LENGTH( operation->key_type, - key_bits, - alg ); + operation->tag_length = PSA_ALG_AEAD_GET_TAG_LENGTH( alg ); return( PSA_SUCCESS ); } diff --git a/library/psa_crypto_cipher.c b/library/psa_crypto_cipher.c index fafe68b077..91a0e3b30d 100644 --- a/library/psa_crypto_cipher.c +++ b/library/psa_crypto_cipher.c @@ -22,7 +22,7 @@ #if defined(MBEDTLS_PSA_CRYPTO_C) -#include +#include "psa_crypto_cipher.h" #include "psa_crypto_core.h" #include "psa_crypto_random_impl.h" @@ -516,10 +516,10 @@ psa_status_t mbedtls_psa_cipher_encrypt( if( status != PSA_SUCCESS ) goto exit; - status = mbedtls_psa_cipher_finish( &operation, - output + update_output_length, - output_size - update_output_length, - &finish_output_length ); + status = mbedtls_psa_cipher_finish( + &operation, + mbedtls_buffer_offset( output, update_output_length ), + output_size - update_output_length, &finish_output_length ); if( status != PSA_SUCCESS ) goto exit; @@ -563,17 +563,20 @@ psa_status_t mbedtls_psa_cipher_decrypt( goto exit; } - status = mbedtls_psa_cipher_update( &operation, input + operation.iv_length, - input_length - operation.iv_length, - output, output_size, &olength ); + status = mbedtls_psa_cipher_update( + &operation, + mbedtls_buffer_offset_const( input, operation.iv_length ), + input_length - operation.iv_length, + output, output_size, &olength ); if( status != PSA_SUCCESS ) goto exit; accumulated_length = olength; - status = mbedtls_psa_cipher_finish( &operation, output + accumulated_length, - output_size - accumulated_length, - &olength ); + status = mbedtls_psa_cipher_finish( + &operation, + mbedtls_buffer_offset( output, accumulated_length ), + output_size - accumulated_length, &olength ); if( status != PSA_SUCCESS ) goto exit; diff --git a/library/psa_crypto_cipher.h b/library/psa_crypto_cipher.h index fae98473c4..3bd5360cda 100644 --- a/library/psa_crypto_cipher.h +++ b/library/psa_crypto_cipher.h @@ -1,5 +1,5 @@ /* - * PSA cipher driver entry points + * PSA cipher driver entry points and associated auxiliary functions */ /* * Copyright The Mbed TLS Contributors diff --git a/library/psa_crypto_client.c b/library/psa_crypto_client.c index 629feb7dfa..ab79086346 100644 --- a/library/psa_crypto_client.c +++ b/library/psa_crypto_client.c @@ -25,10 +25,6 @@ #include #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif void psa_reset_key_attributes( psa_key_attributes_t *attributes ) { diff --git a/library/psa_crypto_core.h b/library/psa_crypto_core.h index 8c91b04d03..614cad1f49 100644 --- a/library/psa_crypto_core.h +++ b/library/psa_crypto_core.h @@ -183,6 +183,24 @@ static inline psa_key_slot_number_t psa_key_slot_get_slot_number( } #endif +/** Get the description of a key given its identifier and policy constraints + * and lock it. + * + * The key must have allow all the usage flags set in \p usage. If \p alg is + * nonzero, the key must allow operations with this algorithm. If \p alg is + * zero, the algorithm is not checked. + * + * In case of a persistent key, the function loads the description of the key + * into a key slot if not already done. + * + * On success, the returned key slot is locked. It is the responsibility of + * the caller to unlock the key slot when it does not access it anymore. + */ +psa_status_t psa_get_and_lock_key_slot_with_policy( mbedtls_svc_key_id_t key, + psa_key_slot_t **p_slot, + psa_key_usage_t usage, + psa_algorithm_t alg ); + /** Completely wipe a slot in memory, including its policy. * * Persistent storage is not affected. @@ -246,22 +264,6 @@ psa_status_t psa_copy_key_material_into_slot( psa_key_slot_t *slot, */ psa_status_t mbedtls_to_psa_error( int ret ); -/** Get Mbed TLS cipher information given the cipher algorithm PSA identifier - * as well as the PSA type and size of the key to be used with the cipher - * algorithm. - * - * \param alg PSA cipher algorithm identifier - * \param key_type PSA key type - * \param key_bits Size of the key in bits - * \param[out] cipher_id Mbed TLS cipher algorithm identifier - * - * \return The Mbed TLS cipher information of the cipher algorithm. - * \c NULL if the PSA cipher algorithm is not supported. - */ -const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa( - psa_algorithm_t alg, psa_key_type_t key_type, size_t key_bits, - mbedtls_cipher_id_t *cipher_id ); - /** Import a key in binary format. * * \note The signature of this function is that of a PSA driver @@ -547,4 +549,62 @@ psa_status_t psa_verify_hash_builtin( */ psa_status_t psa_validate_unstructured_key_bit_size( psa_key_type_t type, size_t bits ); + +/** Perform a key agreement and return the raw shared secret, using + built-in raw key agreement functions. + * + * \note The signature of this function is that of a PSA driver + * key_agreement entry point. This function behaves as a key_agreement + * entry point as defined in the PSA driver interface specification for + * transparent drivers. + * + * \param[in] attributes The attributes of the key to use for the + * operation. + * \param[in] key_buffer The buffer containing the private key + * context. + * \param[in] key_buffer_size Size of the \p key_buffer buffer in + * bytes. + * \param[in] alg A key agreement algorithm that is + * compatible with the type of the key. + * \param[in] peer_key The buffer containing the key context + * of the peer's public key. + * \param[in] peer_key_length Size of the \p peer_key buffer in + * bytes. + * \param[out] shared_secret The buffer to which the shared secret + * is to be written. + * \param[in] shared_secret_size Size of the \p shared_secret buffer in + * bytes. + * \param[out] shared_secret_length On success, the number of bytes that make + * up the returned shared secret. + * \retval #PSA_SUCCESS + * Success. Shared secret successfully calculated. + * \retval #PSA_ERROR_INVALID_HANDLE + * \retval #PSA_ERROR_NOT_PERMITTED + * \retval #PSA_ERROR_INVALID_ARGUMENT + * \p alg is not a key agreement algorithm, or + * \p private_key is not compatible with \p alg, + * or \p peer_key is not valid for \p alg or not compatible with + * \p private_key. + * \retval #PSA_ERROR_BUFFER_TOO_SMALL + * \p shared_secret_size is too small + * \retval #PSA_ERROR_NOT_SUPPORTED + * \p alg is not a supported key agreement algorithm. + * \retval #PSA_ERROR_INSUFFICIENT_MEMORY + * \retval #PSA_ERROR_COMMUNICATION_FAILURE + * \retval #PSA_ERROR_HARDWARE_FAILURE + * \retval #PSA_ERROR_CORRUPTION_DETECTED + * \retval #PSA_ERROR_STORAGE_FAILURE + * \retval #PSA_ERROR_BAD_STATE + */ +psa_status_t psa_key_agreement_raw_builtin( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ); + #endif /* PSA_CRYPTO_CORE_H */ diff --git a/library/psa_crypto_driver_wrappers.c b/library/psa_crypto_driver_wrappers.c index 984d43002f..7c6b618d5e 100644 --- a/library/psa_crypto_driver_wrappers.c +++ b/library/psa_crypto_driver_wrappers.c @@ -1,7 +1,7 @@ /* * Functions to delegate cryptographic operations to an available * and appropriate accelerator. - * Warning: This file will be auto-generated in the future. + * Warning: This file is now auto-generated. */ /* Copyright The Mbed TLS Contributors * SPDX-License-Identifier: Apache-2.0 @@ -19,6 +19,8 @@ * limitations under the License. */ + +/* BEGIN-common headers */ #include "common.h" #include "psa_crypto_aead.h" #include "psa_crypto_cipher.h" @@ -29,21 +31,22 @@ #include "psa_crypto_rsa.h" #include "mbedtls/platform.h" +/* END-common headers */ #if defined(MBEDTLS_PSA_CRYPTO_C) +/* BEGIN-driver headers */ #if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) - -/* Include test driver definition when running tests */ +/* Headers for mbedtls_test opaque driver */ #if defined(PSA_CRYPTO_DRIVER_TEST) -#ifndef PSA_CRYPTO_DRIVER_PRESENT -#define PSA_CRYPTO_DRIVER_PRESENT -#endif -#ifndef PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT -#define PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT +#include "test/drivers/test_driver.h" + #endif +/* Headers for mbedtls_test transparent driver */ +#if defined(PSA_CRYPTO_DRIVER_TEST) #include "test/drivers/test_driver.h" -#endif /* PSA_CRYPTO_DRIVER_TEST */ + +#endif #if defined(PSA_CRYPTO_DRIVER_CC3XX) #ifndef PSA_CRYPTO_DRIVER_PRESENT @@ -67,27 +70,29 @@ #include "tfm_builtin_key_loader.h" #endif /* PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER */ -/* Repeat above block for each JSON-declared driver during autogeneration */ #endif /* MBEDTLS_PSA_CRYPTO_DRIVERS */ +/* END-driver headers */ /* Auto-generated values depending on which drivers are registered. * ID 0 is reserved for unallocated operations. * ID 1 is reserved for the Mbed TLS software driver. */ +/* BEGIN-driver id definition */ #define PSA_CRYPTO_MBED_TLS_DRIVER_ID (1) - -#if defined(PSA_CRYPTO_DRIVER_TEST) -#define PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID (2) -#define PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID (3) -#endif /* PSA_CRYPTO_DRIVER_TEST */ - +#define MBEDTLS_TEST_OPAQUE_DRIVER_ID (2) +#define MBEDTLS_TEST_TRANSPARENT_DRIVER_ID (3) #if defined(PSA_CRYPTO_DRIVER_CC3XX) #define PSA_CRYPTO_CC3XX_DRIVER_ID (4) #endif /* PSA_CRYPTO_DRIVER_CC3XX */ - #if defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) #define PSA_CRYPTO_TFM_BUILTIN_KEY_LOADER_DRIVER_ID (5) #endif /* PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER */ +/* END-driver id */ + +/* BEGIN-Common Macro definitions */ + +/* END-Common Macro definitions */ + /* Support the 'old' SE interface when asked to */ #if defined(MBEDTLS_PSA_CRYPTO_SE_C) /* PSA_CRYPTO_DRIVER_PRESENT is defined when either a new-style or old-style @@ -236,6 +241,7 @@ psa_status_t psa_driver_wrapper_sign_message( (void)status; return( PSA_ERROR_INVALID_ARGUMENT ); } + return status; } @@ -708,6 +714,7 @@ psa_status_t psa_driver_wrapper_import_key( size_t *key_buffer_length, size_t *bits ) { + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -750,17 +757,25 @@ psa_status_t psa_driver_wrapper_import_key( /* Key is stored in the slot in export representation, so * cycle through all known transparent accelerators */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - status = mbedtls_test_transparent_import_key( - attributes, - data, data_length, - key_buffer, key_buffer_size, - key_buffer_length, bits ); - /* Declared with fallback == true */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + status = mbedtls_test_transparent_import_key + (attributes, + data, + data_length, + key_buffer, + key_buffer_size, + key_buffer_length, + bits + ); + if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +#endif + + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + /* Fell through, meaning no accelerator supports this operation */ return( psa_import_key_into_slot( attributes, data, data_length, @@ -768,14 +783,21 @@ psa_status_t psa_driver_wrapper_import_key( key_buffer_length, bits ) ); /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_import_key( - attributes, - data, data_length, - key_buffer, key_buffer_size, - key_buffer_length, bits ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + case 0x7fffff: + return( mbedtls_test_opaque_import_key + (attributes, + data, + data_length, + key_buffer, + key_buffer_size, + key_buffer_length, + bits + )); +#endif + + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: (void)status; @@ -790,6 +812,7 @@ psa_status_t psa_driver_wrapper_export_key( uint8_t *data, size_t data_size, size_t *data_length ) { + psa_status_t status = PSA_ERROR_INVALID_ARGUMENT; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -829,20 +852,26 @@ psa_status_t psa_driver_wrapper_export_key( /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_export_key( attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + case 0x7fffff: + return( mbedtls_test_opaque_export_key + (attributes, + key_buffer, + key_buffer_size, + data, + data_size, + data_length + )); +#endif + + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: /* Key is declared with a lifetime not known to us */ return( status ); } + } psa_status_t psa_driver_wrapper_export_public_key( @@ -851,6 +880,7 @@ psa_status_t psa_driver_wrapper_export_public_key( uint8_t *data, size_t data_size, size_t *data_length ) { + psa_status_t status = PSA_ERROR_INVALID_ARGUMENT; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -884,18 +914,20 @@ psa_status_t psa_driver_wrapper_export_public_key( /* Key is stored in the slot in export representation, so * cycle through all known transparent accelerators */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - status = mbedtls_test_transparent_export_public_key( - attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ); - /* Declared with fallback == true */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + status = mbedtls_test_transparent_export_public_key + (attributes, + key_buffer, + key_buffer_size, + data, + data_size, + data_length + ); + if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +#endif #if defined(PSA_CRYPTO_DRIVER_CC3XX) status = cc3xx_export_public_key( attributes, @@ -906,6 +938,7 @@ psa_status_t psa_driver_wrapper_export_public_key( data_length ); return( status ); #endif /* PSA_CRYPTO_DRIVER_CC3XX */ + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ #if !defined(PSA_CRYPTO_DRIVER_CC3XX) /* Fell through, meaning no accelerator supports this operation */ @@ -918,20 +951,26 @@ psa_status_t psa_driver_wrapper_export_public_key( #endif /* PSA_CRYPTO_DRIVER_CC3XX */ /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_export_public_key( attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + case 0x7fffff: + return( mbedtls_test_opaque_export_public_key + (attributes, + key_buffer, + key_buffer_size, + data, + data_size, + data_length + )); +#endif + + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: /* Key is declared with a lifetime not known to us */ return( status ); } + } psa_status_t psa_driver_wrapper_get_builtin_key( @@ -939,15 +978,24 @@ psa_status_t psa_driver_wrapper_get_builtin_key( psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length ) { + psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); switch( location ) { #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_get_builtin_key( - slot_number, - attributes, - key_buffer, key_buffer_size, key_buffer_length ) ); + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + case 0x7fffff: + return( mbedtls_test_opaque_get_builtin_key + (slot_number, + attributes, + key_buffer, + key_buffer_size, + key_buffer_length + )); +#endif + + #endif /* PSA_CRYPTO_DRIVER_TEST */ #if defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) case TFM_BUILTIN_KEY_LOADER_KEY_LOCATION: @@ -963,6 +1011,7 @@ psa_status_t psa_driver_wrapper_get_builtin_key( (void) key_buffer_length; return( PSA_ERROR_DOES_NOT_EXIST ); } + } psa_status_t psa_driver_wrapper_copy_key( @@ -971,6 +1020,7 @@ psa_status_t psa_driver_wrapper_copy_key( uint8_t *target_key_buffer, size_t target_key_buffer_size, size_t *target_key_buffer_length ) { + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); @@ -989,14 +1039,20 @@ psa_status_t psa_driver_wrapper_copy_key( switch( location ) { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_copy_key( attributes, source_key, - source_key_length, - target_key_buffer, - target_key_buffer_size, - target_key_buffer_length) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ + +#if (defined(PSA_CRYPTO_DRIVER_TEST) ) + case 0x7fffff: + return( mbedtls_test_opaque_copy_key + (attributes, + source_key, + source_key_length, + target_key_buffer, + target_key_buffer_size, + target_key_buffer_length + )); +#endif + + #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: (void)source_key; @@ -1007,6 +1063,7 @@ psa_status_t psa_driver_wrapper_copy_key( status = PSA_ERROR_INVALID_ARGUMENT; } return( status ); + } /* @@ -1084,7 +1141,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt( output_length ) ); #else return( PSA_ERROR_NOT_SUPPORTED ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) @@ -1185,7 +1242,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt( output_length ) ); #else return( PSA_ERROR_NOT_SUPPORTED ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) @@ -1246,7 +1303,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1274,7 +1331,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup( if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif return( PSA_ERROR_NOT_SUPPORTED ); /* Add cases for opaque driver here */ @@ -1288,7 +1345,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -1332,7 +1389,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1359,7 +1416,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup( operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID; return( status ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif return( PSA_ERROR_NOT_SUPPORTED ); /* Add cases for opaque driver here */ @@ -1373,7 +1430,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -1401,16 +1458,16 @@ psa_status_t psa_driver_wrapper_cipher_set_iv( return( mbedtls_psa_cipher_set_iv( &operation->ctx.mbedtls_ctx, iv, iv_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_set_iv( &operation->ctx.transparent_test_driver_ctx, iv, iv_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_set_iv( &operation->ctx.opaque_test_driver_ctx, iv, iv_length ) ); @@ -1448,17 +1505,17 @@ psa_status_t psa_driver_wrapper_cipher_update( output, output_size, output_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_update( &operation->ctx.transparent_test_driver_ctx, input, input_length, output, output_size, output_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_update( &operation->ctx.opaque_test_driver_ctx, input, input_length, @@ -1497,16 +1554,16 @@ psa_status_t psa_driver_wrapper_cipher_finish( output, output_size, output_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_finish( &operation->ctx.transparent_test_driver_ctx, output, output_size, output_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_finish( &operation->ctx.opaque_test_driver_ctx, output, output_size, output_length ) ); @@ -1537,11 +1594,11 @@ psa_status_t psa_driver_wrapper_cipher_abort( #if defined(MBEDTLS_PSA_BUILTIN_CIPHER) && !defined(PSA_CRYPTO_DRIVER_CC3XX) case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_cipher_abort( &operation->ctx.mbedtls_ctx ) ); -#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: status = mbedtls_test_transparent_cipher_abort( &operation->ctx.transparent_test_driver_ctx ); mbedtls_platform_zeroize( @@ -1549,7 +1606,7 @@ psa_status_t psa_driver_wrapper_cipher_abort( sizeof( operation->ctx.transparent_test_driver_ctx ) ); return( status ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: status = mbedtls_test_opaque_cipher_abort( &operation->ctx.opaque_test_driver_ctx ); mbedtls_platform_zeroize( @@ -1630,7 +1687,7 @@ psa_status_t psa_driver_wrapper_hash_setup( status = mbedtls_test_transparent_hash_setup( &operation->ctx.test_driver_ctx, alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1650,7 +1707,7 @@ psa_status_t psa_driver_wrapper_hash_setup( if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */ +#endif /* Nothing left to try if we fall through here */ (void) status; (void) operation; @@ -1666,8 +1723,8 @@ psa_status_t psa_driver_wrapper_hash_clone( { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: - target_operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: + target_operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; return( mbedtls_test_transparent_hash_clone( &source_operation->ctx.test_driver_ctx, &target_operation->ctx.test_driver_ctx ) ); @@ -1686,7 +1743,7 @@ psa_status_t psa_driver_wrapper_hash_clone( target_operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID; return( mbedtls_psa_hash_clone( &source_operation->ctx.mbedtls_ctx, &target_operation->ctx.mbedtls_ctx ) ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */ +#endif default: (void) target_operation; return( PSA_ERROR_BAD_STATE ); @@ -1702,7 +1759,7 @@ psa_status_t psa_driver_wrapper_hash_update( { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_update( &operation->ctx.test_driver_ctx, input, input_length ) ); @@ -1718,7 +1775,7 @@ psa_status_t psa_driver_wrapper_hash_update( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_hash_update( &operation->ctx.mbedtls_ctx, input, input_length ) ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */ +#endif default: (void) input; (void) input_length; @@ -1736,7 +1793,7 @@ psa_status_t psa_driver_wrapper_hash_finish( { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_finish( &operation->ctx.test_driver_ctx, hash, hash_size, hash_length ) ); @@ -1752,7 +1809,7 @@ psa_status_t psa_driver_wrapper_hash_finish( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_hash_finish( &operation->ctx.mbedtls_ctx, hash, hash_size, hash_length ) ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */ +#endif default: (void) hash; (void) hash_size; @@ -1768,7 +1825,7 @@ psa_status_t psa_driver_wrapper_hash_abort( { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_abort( &operation->ctx.test_driver_ctx ) ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -1781,7 +1838,7 @@ psa_status_t psa_driver_wrapper_hash_abort( #if defined(MBEDTLS_PSA_BUILTIN_HASH) && !defined(PSA_CRYPTO_DRIVER_CC3XX) case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_hash_abort( &operation->ctx.mbedtls_ctx ) ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */ +#endif default: return( PSA_ERROR_BAD_STATE ); } @@ -1919,38 +1976,6 @@ psa_status_t psa_driver_wrapper_aead_decrypt( } } -psa_status_t psa_driver_get_tag_len( psa_aead_operation_t *operation, - uint8_t *tag_len ) -{ - if( operation == NULL || tag_len == NULL ) - return( PSA_ERROR_INVALID_ARGUMENT ); - - switch( operation->id ) - { -#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_CC3XX) - case PSA_CRYPTO_CC3XX_DRIVER_ID: - *tag_len = operation->ctx.cc3xx_driver_ctx.tag_length; - return ( PSA_SUCCESS ); -#endif /* PSA_CRYPTO_DRIVER_CC3XX */ -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: - *tag_len = operation->ctx.transparent_test_driver_ctx.tag_length; - return ( PSA_SUCCESS ); -#endif /* defined(PSA_CRYPTO_DRIVER_TEST) */ -#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) && !defined(PSA_CRYPTO_DRIVER_CC3XX) - case PSA_CRYPTO_MBED_TLS_DRIVER_ID: - *tag_len = operation->ctx.mbedtls_ctx.tag_length; - return ( PSA_SUCCESS ); -#endif /* defined(MBEDTLS_PSA_BUILTIN_AEAD) */ - default: - return( PSA_ERROR_INVALID_ARGUMENT ); - } - - return( PSA_ERROR_INVALID_ARGUMENT ); -} - psa_status_t psa_driver_wrapper_aead_encrypt_setup( psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, @@ -1972,7 +1997,7 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; status = mbedtls_test_transparent_aead_encrypt_setup( &operation->ctx.transparent_test_driver_ctx, attributes, key_buffer, key_buffer_size, @@ -2032,7 +2057,7 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; status = mbedtls_test_transparent_aead_decrypt_setup( &operation->ctx.transparent_test_driver_ctx, attributes, @@ -2087,11 +2112,11 @@ psa_status_t psa_driver_wrapper_aead_set_nonce( nonce, nonce_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_set_nonce( &operation->ctx.transparent_test_driver_ctx, nonce, nonce_length ) ); @@ -2128,11 +2153,11 @@ psa_status_t psa_driver_wrapper_aead_set_lengths( ad_length, plaintext_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_set_lengths( &operation->ctx.transparent_test_driver_ctx, ad_length, plaintext_length ) ); @@ -2169,11 +2194,11 @@ psa_status_t psa_driver_wrapper_aead_update_ad( input, input_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_update_ad( &operation->ctx.transparent_test_driver_ctx, input, input_length ) ); @@ -2214,11 +2239,11 @@ psa_status_t psa_driver_wrapper_aead_update( output, output_size, output_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_update( &operation->ctx.transparent_test_driver_ctx, input, input_length, output, output_size, @@ -2266,11 +2291,11 @@ psa_status_t psa_driver_wrapper_aead_finish( ciphertext_length, tag, tag_size, tag_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_finish( &operation->ctx.transparent_test_driver_ctx, ciphertext, ciphertext_size, @@ -2338,11 +2363,11 @@ psa_status_t psa_driver_wrapper_aead_verify( return( status ); } -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_verify( &operation->ctx.transparent_test_driver_ctx, plaintext, plaintext_size, @@ -2380,11 +2405,11 @@ psa_status_t psa_driver_wrapper_aead_abort( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_aead_abort( &operation->ctx.mbedtls_ctx ) ); -#endif /* MBEDTLS_PSA_BUILTIN_AEAD */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_abort( &operation->ctx.transparent_test_driver_ctx ) ); @@ -2454,7 +2479,7 @@ psa_status_t psa_driver_wrapper_mac_compute( mac, mac_size, mac_length ); if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif return( PSA_ERROR_NOT_SUPPORTED ); /* Add cases for opaque driver here */ @@ -2511,7 +2536,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -2537,7 +2562,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup( if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif return( PSA_ERROR_NOT_SUPPORTED ); /* Add cases for opaque driver here */ @@ -2551,7 +2576,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2595,7 +2620,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -2621,7 +2646,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup( if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif return( PSA_ERROR_NOT_SUPPORTED ); /* Add cases for opaque driver here */ @@ -2635,7 +2660,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2662,16 +2687,16 @@ psa_status_t psa_driver_wrapper_mac_update( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_mac_update( &operation->ctx.mbedtls_ctx, input, input_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_update( &operation->ctx.transparent_test_driver_ctx, input, input_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_update( &operation->ctx.opaque_test_driver_ctx, input, input_length ) ); @@ -2700,16 +2725,16 @@ psa_status_t psa_driver_wrapper_mac_sign_finish( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_mac_sign_finish( &operation->ctx.mbedtls_ctx, mac, mac_size, mac_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_sign_finish( &operation->ctx.transparent_test_driver_ctx, mac, mac_size, mac_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_sign_finish( &operation->ctx.opaque_test_driver_ctx, mac, mac_size, mac_length ) ); @@ -2739,16 +2764,16 @@ psa_status_t psa_driver_wrapper_mac_verify_finish( case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_mac_verify_finish( &operation->ctx.mbedtls_ctx, mac, mac_length ) ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_verify_finish( &operation->ctx.transparent_test_driver_ctx, mac, mac_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_verify_finish( &operation->ctx.opaque_test_driver_ctx, mac, mac_length ) ); @@ -2775,14 +2800,14 @@ psa_status_t psa_driver_wrapper_mac_abort( #if defined(MBEDTLS_PSA_BUILTIN_MAC) && !defined(PSA_CRYPTO_DRIVER_CC3XX) case PSA_CRYPTO_MBED_TLS_DRIVER_ID: return( mbedtls_psa_mac_abort( &operation->ctx.mbedtls_ctx ) ); -#endif /* MBEDTLS_PSA_BUILTIN_MAC */ +#endif #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_abort( &operation->ctx.transparent_test_driver_ctx ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_abort( &operation->ctx.opaque_test_driver_ctx ) ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2797,61 +2822,7 @@ psa_status_t psa_driver_wrapper_mac_abort( } /* - * Key agreement functions - */ -psa_status_t psa_driver_wrapper_key_agreement( - psa_algorithm_t alg, - const psa_key_attributes_t *attributes, - const uint8_t *priv_key, size_t priv_key_size, - const uint8_t *publ_key, size_t publ_key_size, - uint8_t *output, size_t output_size, size_t *output_length ) -{ - psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; - - psa_key_location_t location = - PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); - - switch( location ) - { - case PSA_KEY_LOCATION_LOCAL_STORAGE: -#if defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) - case TFM_BUILTIN_KEY_LOADER_KEY_LOCATION: -#endif /* defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) */ - /* Key is stored in the slot in export representation, so - * cycle through all known transparent accelerators */ -#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_CC3XX) - status = cc3xx_key_agreement( attributes, - priv_key, - priv_key_size, - publ_key, - publ_key_size, - output, - output_size, - output_length, - alg ); - return( status ); -#endif /* PSA_CRYPTO_DRIVER_CC3XX */ -#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ - (void) status; - return ( PSA_ERROR_NOT_SUPPORTED ); - default: - /* Key is declared with a lifetime not known to us */ - (void) priv_key; - (void) priv_key_size; - (void) publ_key; - (void) publ_key_size; - (void) output; - (void) output_size; - (void) output_length; - (void) alg; - - return( PSA_ERROR_INVALID_ARGUMENT ); - } -} - -/* - * Asymmetric operations + * Asymmetric cryptography */ psa_status_t psa_driver_wrapper_asymmetric_encrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -2866,9 +2837,6 @@ psa_status_t psa_driver_wrapper_asymmetric_encrypt( switch( location ) { case PSA_KEY_LOCATION_LOCAL_STORAGE: -#if defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) - case TFM_BUILTIN_KEY_LOADER_KEY_LOCATION: -#endif /* defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) */ /* Key is stored in the slot in export representation, so * cycle through all known transparent accelerators */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) @@ -3007,4 +2975,87 @@ psa_status_t psa_driver_wrapper_asymmetric_decrypt( } } +psa_status_t psa_driver_wrapper_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length + ) + { + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_key_location_t location = + PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); + + switch( location ) + { + case PSA_KEY_LOCATION_LOCAL_STORAGE: +#if defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) + case TFM_BUILTIN_KEY_LOADER_KEY_LOCATION: +#endif /* defined(PSA_CRYPTO_DRIVER_TFM_BUILTIN_KEY_LOADER) */ + /* Key is stored in the slot in export representation, so + * cycle through all known transparent accelerators */ +#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) +#if defined(PSA_CRYPTO_DRIVER_TEST) + status = + mbedtls_test_transparent_key_agreement( attributes, + key_buffer, key_buffer_size, alg, peer_key, + peer_key_length, shared_secret, shared_secret_size, + shared_secret_length ); + if( status != PSA_ERROR_NOT_SUPPORTED ) + return( status ); +#endif /* PSA_CRYPTO_DRIVER_TEST */ +#if defined(PSA_CRYPTO_DRIVER_CC3XX) + status = cc3xx_key_agreement( attributes, + key_buffer, + key_buffer_size, + peer_key, + peer_key_length, + shared_secret, + shared_secret_size, + shared_secret_length, + alg ); + return( status ); +#endif /* PSA_CRYPTO_DRIVER_CC3XX */ +#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + + /* Software Fallback */ + status = psa_key_agreement_raw_builtin( attributes, + key_buffer, + key_buffer_size, + alg, + peer_key, + peer_key_length, + shared_secret, + shared_secret_size, + shared_secret_length ); + return( status ); +#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) +#if defined(PSA_CRYPTO_DRIVER_TEST) + case PSA_CRYPTO_TEST_DRIVER_LOCATION: + return( mbedtls_test_opaque_key_agreement( attributes, + key_buffer, key_buffer_size, alg, peer_key, + peer_key_length, shared_secret, shared_secret_size, + shared_secret_length ) ); +#endif /* PSA_CRYPTO_DRIVER_TEST */ +#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + + default: + (void) attributes; + (void) key_buffer; + (void) key_buffer_size; + (void) peer_key; + (void) peer_key_length; + (void) shared_secret; + (void) shared_secret_size; + (void) shared_secret_length; + return( PSA_ERROR_NOT_SUPPORTED ); + + } + } + #endif /* MBEDTLS_PSA_CRYPTO_C */ diff --git a/library/psa_crypto_driver_wrappers.h b/library/psa_crypto_driver_wrappers.h index ac0cd1d89c..a19d7ecaef 100644 --- a/library/psa_crypto_driver_wrappers.h +++ b/library/psa_crypto_driver_wrappers.h @@ -226,10 +226,6 @@ psa_status_t psa_driver_wrapper_aead_decrypt( const uint8_t *ciphertext, size_t ciphertext_length, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length ); -psa_status_t psa_driver_get_tag_len( - psa_aead_operation_t *operation, - uint8_t *tag_len ); - psa_status_t psa_driver_wrapper_aead_encrypt_setup( psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, @@ -362,18 +358,18 @@ psa_status_t psa_driver_wrapper_asymmetric_decrypt( size_t *output_length ); /* - * Key agreement functions + * Raw Key Agreement */ psa_status_t psa_driver_wrapper_key_agreement( - psa_algorithm_t alg, - const psa_key_attributes_t *attributes, - const uint8_t *priv_key, - size_t priv_key_size, - const uint8_t *publ_key, - size_t peer_key_size, - uint8_t *output, - size_t output_size, - size_t *output_length ); + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ); #endif /* PSA_CRYPTO_DRIVER_WRAPPERS_H */ diff --git a/library/psa_crypto_ecp.c b/library/psa_crypto_ecp.c index db6682c6dc..537a74840e 100644 --- a/library/psa_crypto_ecp.c +++ b/library/psa_crypto_ecp.c @@ -26,17 +26,14 @@ #include "psa_crypto_core.h" #include "psa_crypto_ecp.h" #include "psa_crypto_random_impl.h" -#include "psa_crypto_hash.h" +#include "hash_info.h" #include #include #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include +#include #include #include @@ -367,8 +364,7 @@ psa_status_t mbedtls_psa_ecdsa_sign_hash( { #if defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) psa_algorithm_t hash_alg = PSA_ALG_SIGN_GET_HASH( alg ); - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_psa( hash_alg ); - mbedtls_md_type_t md_alg = mbedtls_md_get_type( md_info ); + mbedtls_md_type_t md_alg = mbedtls_hash_info_md_from_psa( hash_alg ); MBEDTLS_MPI_CHK( mbedtls_ecdsa_sign_det_ext( &ecp->grp, &r, &s, &ecp->d, hash, @@ -469,4 +465,76 @@ psa_status_t mbedtls_psa_ecdsa_verify_hash( #endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) || \ * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) */ +/****************************************************************/ +/* ECDH Key Agreement */ +/****************************************************************/ + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_ECDH) +psa_status_t mbedtls_psa_key_agreement_ecdh( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, size_t key_buffer_size, + psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length, + uint8_t *shared_secret, size_t shared_secret_size, + size_t *shared_secret_length ) +{ + psa_status_t status; + if( ! PSA_KEY_TYPE_IS_ECC_KEY_PAIR( attributes->core.type ) || + ! PSA_ALG_IS_ECDH(alg) ) + return( PSA_ERROR_INVALID_ARGUMENT ); + mbedtls_ecp_keypair *ecp = NULL; + status = mbedtls_psa_ecp_load_representation( + attributes->core.type, + attributes->core.bits, + key_buffer, + key_buffer_size, + &ecp ); + if( status != PSA_SUCCESS ) + return( status ); + mbedtls_ecp_keypair *their_key = NULL; + mbedtls_ecdh_context ecdh; + size_t bits = 0; + psa_ecc_family_t curve = mbedtls_ecc_group_to_psa( ecp->grp.id, &bits ); + mbedtls_ecdh_init( &ecdh ); + + status = mbedtls_psa_ecp_load_representation( + PSA_KEY_TYPE_ECC_PUBLIC_KEY(curve), + bits, + peer_key, + peer_key_length, + &their_key ); + if( status != PSA_SUCCESS ) + goto exit; + + status = mbedtls_to_psa_error( + mbedtls_ecdh_get_params( &ecdh, their_key, MBEDTLS_ECDH_THEIRS ) ); + if( status != PSA_SUCCESS ) + goto exit; + status = mbedtls_to_psa_error( + mbedtls_ecdh_get_params( &ecdh, ecp, MBEDTLS_ECDH_OURS ) ); + if( status != PSA_SUCCESS ) + goto exit; + + status = mbedtls_to_psa_error( + mbedtls_ecdh_calc_secret( &ecdh, + shared_secret_length, + shared_secret, shared_secret_size, + mbedtls_psa_get_random, + MBEDTLS_PSA_RANDOM_STATE ) ); + if( status != PSA_SUCCESS ) + goto exit; + if( PSA_BITS_TO_BYTES( bits ) != *shared_secret_length ) + status = PSA_ERROR_CORRUPTION_DETECTED; +exit: + if( status != PSA_SUCCESS ) + mbedtls_platform_zeroize( shared_secret, shared_secret_size ); + mbedtls_ecdh_free( &ecdh ); + mbedtls_ecp_keypair_free( their_key ); + mbedtls_free( their_key ); + mbedtls_ecp_keypair_free( ecp ); + mbedtls_free( ecp ); + return( status ); +} +#endif /* MBEDTLS_PSA_BUILTIN_ALG_ECDH */ + + #endif /* MBEDTLS_PSA_CRYPTO_C */ diff --git a/library/psa_crypto_ecp.h b/library/psa_crypto_ecp.h index 429c062719..386e87aa9f 100644 --- a/library/psa_crypto_ecp.h +++ b/library/psa_crypto_ecp.h @@ -218,4 +218,53 @@ psa_status_t mbedtls_psa_ecdsa_verify_hash( const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length ); + + +/** Perform a key agreement and return the raw ECDH shared secret. + * + * \note The signature of this function is that of a PSA driver + * key_agreement entry point. This function behaves as a key_agreement + * entry point as defined in the PSA driver interface specification for + * transparent drivers. + * + * \param[in] attributes The attributes of the key to use for the + * operation. + * \param[in] key_buffer The buffer containing the private key + * context. + * \param[in] key_buffer_size Size of the \p key_buffer buffer in + * bytes. + * \param[in] alg A key agreement algorithm that is + * compatible with the type of the key. + * \param[in] peer_key The buffer containing the key context + * of the peer's public key. + * \param[in] peer_key_length Size of the \p peer_key buffer in + * bytes. + * \param[out] shared_secret The buffer to which the shared secret + * is to be written. + * \param[in] shared_secret_size Size of the \p shared_secret buffer in + * bytes. + * \param[out] shared_secret_length On success, the number of bytes that make + * up the returned shared secret. + * \retval #PSA_SUCCESS + * Success. Shared secret successfully calculated. + * \retval #PSA_ERROR_INVALID_HANDLE + * \retval #PSA_ERROR_NOT_PERMITTED + * \retval #PSA_ERROR_INVALID_ARGUMENT + * \p alg is not a key agreement algorithm, or + * \p private_key is not compatible with \p alg, + * or \p peer_key is not valid for \p alg or not compatible with + * \p private_key. + * \retval #PSA_ERROR_BUFFER_TOO_SMALL + * \p shared_secret_size is too small + * \retval #PSA_ERROR_NOT_SUPPORTED + * \p alg is not a supported key agreement algorithm. + * \retval #PSA_ERROR_INSUFFICIENT_MEMORY + * \retval #PSA_ERROR_CORRUPTION_DETECTED + */ +psa_status_t mbedtls_psa_key_agreement_ecdh( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, size_t key_buffer_size, + psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length, + uint8_t *shared_secret, size_t shared_secret_size, + size_t *shared_secret_length ); #endif /* PSA_CRYPTO_ECP_H */ diff --git a/library/psa_crypto_hash.c b/library/psa_crypto_hash.c index 536c6c1188..a20c13fc3d 100644 --- a/library/psa_crypto_hash.c +++ b/library/psa_crypto_hash.c @@ -29,51 +29,6 @@ #include #include -#if defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN) || \ - defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP) || \ - defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS) || \ - defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) -const mbedtls_md_info_t *mbedtls_md_info_from_psa( psa_algorithm_t alg ) -{ - switch( alg ) - { -#if defined(MBEDTLS_MD5_C) - case PSA_ALG_MD5: - return( &mbedtls_md5_info ); -#endif -#if defined(MBEDTLS_RIPEMD160_C) - case PSA_ALG_RIPEMD160: - return( &mbedtls_ripemd160_info ); -#endif -#if defined(MBEDTLS_SHA1_C) - case PSA_ALG_SHA_1: - return( &mbedtls_sha1_info ); -#endif -#if defined(MBEDTLS_SHA224_C) - case PSA_ALG_SHA_224: - return( &mbedtls_sha224_info ); -#endif -#if defined(MBEDTLS_SHA256_C) - case PSA_ALG_SHA_256: - return( &mbedtls_sha256_info ); -#endif -#if defined(MBEDTLS_SHA384_C) - case PSA_ALG_SHA_384: - return( &mbedtls_sha384_info ); -#endif -#if defined(MBEDTLS_SHA512_C) - case PSA_ALG_SHA_512: - return( &mbedtls_sha512_info ); -#endif - default: - return( NULL ); - } -} -#endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN) || - * defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP) || - * defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS) || - * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) */ - #if defined(MBEDTLS_PSA_BUILTIN_HASH) psa_status_t mbedtls_psa_hash_abort( mbedtls_psa_hash_operation_t *operation ) diff --git a/library/psa_crypto_hash.h b/library/psa_crypto_hash.h index 3bcea59b76..053da0bf54 100644 --- a/library/psa_crypto_hash.h +++ b/library/psa_crypto_hash.h @@ -25,15 +25,6 @@ #include "md_wrap.h" -/** Get Mbed TLS MD information of a hash algorithm given its PSA identifier - * - * \param[in] alg PSA hash algorithm identifier - * - * \return The Mbed TLS MD information of the hash algorithm. \c NULL if the - * PSA hash algorithm is not supported. - */ -const mbedtls_md_info_t *mbedtls_md_info_from_psa( psa_algorithm_t alg ); - /** Calculate the hash (digest) of a message using Mbed TLS routines. * * \note The signature of this function is that of a PSA driver hash_compute diff --git a/library/psa_crypto_mac.c b/library/psa_crypto_mac.c index dcf065a672..d771e23e1b 100644 --- a/library/psa_crypto_mac.c +++ b/library/psa_crypto_mac.c @@ -24,6 +24,7 @@ #include #include "psa_crypto_core.h" +#include "psa_crypto_cipher.h" #include "psa_crypto_mac.h" #include diff --git a/library/psa_crypto_pake.c b/library/psa_crypto_pake.c new file mode 100644 index 0000000000..da66dae7da --- /dev/null +++ b/library/psa_crypto_pake.c @@ -0,0 +1,938 @@ +/* + * PSA PAKE layer on top of Mbed TLS software crypto + */ +/* + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" + +#if defined(MBEDTLS_PSA_CRYPTO_C) + +#include +#include "psa_crypto_core.h" +#include "psa_crypto_slot_management.h" + +#include +#include + +#include +#include +#include + +/* + * State sequence: + * + * psa_pake_setup() + * | + * |-- In any order: + * | | psa_pake_set_password_key() + * | | psa_pake_set_user() + * | | psa_pake_set_peer() + * | | psa_pake_set_role() + * | + * |--- In any order: (First round input before or after first round output) + * | | + * | |------ In Order + * | | | psa_pake_output(PSA_PAKE_STEP_KEY_SHARE) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PUBLIC) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PROOF) + * | | | psa_pake_output(PSA_PAKE_STEP_KEY_SHARE) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PUBLIC) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PROOF) + * | | + * | |------ In Order: + * | | psa_pake_input(PSA_PAKE_STEP_KEY_SHARE) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PUBLIC) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PROOF) + * | | psa_pake_input(PSA_PAKE_STEP_KEY_SHARE) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PUBLIC) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PROOF) + * | + * |--- In any order: (Second round input before or after second round output) + * | | + * | |------ In Order + * | | | psa_pake_output(PSA_PAKE_STEP_KEY_SHARE) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PUBLIC) + * | | | psa_pake_output(PSA_PAKE_STEP_ZK_PROOF) + * | | + * | |------ In Order: + * | | psa_pake_input(PSA_PAKE_STEP_KEY_SHARE) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PUBLIC) + * | | psa_pake_input(PSA_PAKE_STEP_ZK_PROOF) + * | + * psa_pake_get_implicit_key() + * psa_pake_abort() + */ + +enum psa_pake_step +{ + PSA_PAKE_STEP_INVALID = 0, + PSA_PAKE_STEP_X1_X2 = 1, + PSA_PAKE_STEP_X2S = 2, + PSA_PAKE_STEP_DERIVE = 3, +}; + +enum psa_pake_state +{ + PSA_PAKE_STATE_INVALID = 0, + PSA_PAKE_STATE_SETUP = 1, + PSA_PAKE_STATE_READY = 2, + PSA_PAKE_OUTPUT_X1_X2 = 3, + PSA_PAKE_OUTPUT_X2S = 4, + PSA_PAKE_INPUT_X1_X2 = 5, + PSA_PAKE_INPUT_X4S = 6, +}; + +/* + * The first PAKE step shares the same sequences of the second PAKE step + * but with a second set of KEY_SHARE/ZK_PUBLIC/ZK_PROOF outputs/inputs. + * It's simpler to share the same sequences numbers of the first + * set of KEY_SHARE/ZK_PUBLIC/ZK_PROOF outputs/inputs in both PAKE steps. + * + * State sequence with step, state & sequence enums: + * => Input & Output Step = PSA_PAKE_STEP_INVALID + * => state = PSA_PAKE_STATE_INVALID + * psa_pake_setup() + * => Input & Output Step = PSA_PAKE_STEP_X1_X2 + * => state = PSA_PAKE_STATE_SETUP + * => sequence = PSA_PAKE_SEQ_INVALID + * | + * |--- In any order: (First round input before or after first round output) + * | | First call of psa_pake_output() or psa_pake_input() sets + * | | state = PSA_PAKE_STATE_READY + * | | + * | |------ In Order: => state = PSA_PAKE_OUTPUT_X1_X2 + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_KEY_SHARE + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_ZK_PUBLIC + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_ZK_PROOF + * | | | psa_pake_output() => sequence = PSA_PAKE_X2_STEP_KEY_SHARE + * | | | psa_pake_output() => sequence = PSA_PAKE_X2_STEP_ZK_PUBLIC + * | | | psa_pake_output() => sequence = PSA_PAKE_X2_STEP_ZK_PROOF + * | | | => state = PSA_PAKE_STATE_READY + * | | | => sequence = PSA_PAKE_SEQ_INVALID + * | | | => Output Step = PSA_PAKE_STEP_X2S + * | | + * | |------ In Order: => state = PSA_PAKE_INPUT_X1_X2 + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_KEY_SHARE + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_ZK_PUBLIC + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_ZK_PROOF + * | | | psa_pake_input() => sequence = PSA_PAKE_X2_STEP_KEY_SHARE + * | | | psa_pake_input() => sequence = PSA_PAKE_X2_STEP_ZK_PUBLIC + * | | | psa_pake_input() => sequence = PSA_PAKE_X2_STEP_ZK_PROOF + * | | | => state = PSA_PAKE_STATE_READY + * | | | => sequence = PSA_PAKE_SEQ_INVALID + * | | | => Output Step = PSA_PAKE_INPUT_X4S + * | + * |--- In any order: (Second round input before or after second round output) + * | | + * | |------ In Order: => state = PSA_PAKE_OUTPUT_X2S + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_KEY_SHARE + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_ZK_PUBLIC + * | | | psa_pake_output() => sequence = PSA_PAKE_X1_STEP_ZK_PROOF + * | | | => state = PSA_PAKE_STATE_READY + * | | | => sequence = PSA_PAKE_SEQ_INVALID + * | | | => Output Step = PSA_PAKE_STEP_DERIVE + * | | + * | |------ In Order: => state = PSA_PAKE_INPUT_X4S + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_KEY_SHARE + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_ZK_PUBLIC + * | | | psa_pake_input() => sequence = PSA_PAKE_X1_STEP_ZK_PROOF + * | | | => state = PSA_PAKE_STATE_READY + * | | | => sequence = PSA_PAKE_SEQ_INVALID + * | | | => Output Step = PSA_PAKE_STEP_DERIVE + * | + * psa_pake_get_implicit_key() + * => Input & Output Step = PSA_PAKE_STEP_INVALID + */ +enum psa_pake_sequence +{ + PSA_PAKE_SEQ_INVALID = 0, + PSA_PAKE_X1_STEP_KEY_SHARE = 1, /* also X2S & X4S KEY_SHARE */ + PSA_PAKE_X1_STEP_ZK_PUBLIC = 2, /* also X2S & X4S ZK_PUBLIC */ + PSA_PAKE_X1_STEP_ZK_PROOF = 3, /* also X2S & X4S ZK_PROOF */ + PSA_PAKE_X2_STEP_KEY_SHARE = 4, + PSA_PAKE_X2_STEP_ZK_PUBLIC = 5, + PSA_PAKE_X2_STEP_ZK_PROOF = 6, + PSA_PAKE_SEQ_END = 7, +}; + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) +static psa_status_t mbedtls_ecjpake_to_psa_error( int ret ) +{ + switch( ret ) + { + case MBEDTLS_ERR_MPI_BAD_INPUT_DATA: + case MBEDTLS_ERR_ECP_BAD_INPUT_DATA: + case MBEDTLS_ERR_ECP_INVALID_KEY: + case MBEDTLS_ERR_ECP_VERIFY_FAILED: + return( PSA_ERROR_DATA_INVALID ); + case MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL: + case MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL: + return( PSA_ERROR_BUFFER_TOO_SMALL ); + case MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE: + return( PSA_ERROR_NOT_SUPPORTED ); + case MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED: + return( PSA_ERROR_CORRUPTION_DETECTED ); + default: + return( PSA_ERROR_GENERIC_ERROR ); + } +} +#endif + +#if defined(MBEDTLS_PSA_BUILTIN_PAKE) +psa_status_t psa_pake_setup( psa_pake_operation_t *operation, + const psa_pake_cipher_suite_t *cipher_suite) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + /* A context must be freshly initialized before it can be set up. */ + if( operation->alg != PSA_ALG_NONE ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + + if( cipher_suite == NULL || + PSA_ALG_IS_PAKE(cipher_suite->algorithm ) == 0 || + ( cipher_suite->type != PSA_PAKE_PRIMITIVE_TYPE_ECC && + cipher_suite->type != PSA_PAKE_PRIMITIVE_TYPE_DH ) || + PSA_ALG_IS_HASH( cipher_suite->hash ) == 0 ) + { + status = PSA_ERROR_INVALID_ARGUMENT; + goto error; + } + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + if( cipher_suite->algorithm == PSA_ALG_JPAKE ) + { + if( cipher_suite->type != PSA_PAKE_PRIMITIVE_TYPE_ECC || + cipher_suite->family != PSA_ECC_FAMILY_SECP_R1 || + cipher_suite->bits != 256 || + cipher_suite->hash != PSA_ALG_SHA_256 ) + { + status = PSA_ERROR_NOT_SUPPORTED; + goto error; + } + + operation->alg = cipher_suite->algorithm; + + mbedtls_ecjpake_init( &operation->ctx.ecjpake ); + + operation->state = PSA_PAKE_STATE_SETUP; + operation->sequence = PSA_PAKE_SEQ_INVALID; + operation->input_step = PSA_PAKE_STEP_X1_X2; + operation->output_step = PSA_PAKE_STEP_X1_X2; + + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + operation->buffer_length = 0; + operation->buffer_offset = 0; + + return( PSA_SUCCESS ); + } + else +#endif + status = PSA_ERROR_NOT_SUPPORTED; + +error: + psa_pake_abort( operation ); + return status; +} + +psa_status_t psa_pake_set_password_key( psa_pake_operation_t *operation, + mbedtls_svc_key_id_t password ) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_key_attributes_t attributes = psa_key_attributes_init(); + psa_key_type_t type; + psa_key_usage_t usage; + psa_key_slot_t *slot = NULL; + + if( operation->alg == PSA_ALG_NONE || + operation->state != PSA_PAKE_STATE_SETUP ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + + status = psa_get_key_attributes( password, &attributes ); + if( status != PSA_SUCCESS ) + goto error; + + type = psa_get_key_type( &attributes ); + usage = psa_get_key_usage_flags( &attributes ); + + psa_reset_key_attributes( &attributes ); + + if( type != PSA_KEY_TYPE_PASSWORD && + type != PSA_KEY_TYPE_PASSWORD_HASH ) + { + status = PSA_ERROR_INVALID_ARGUMENT; + goto error; + } + + if( ( usage & PSA_KEY_USAGE_DERIVE ) == 0 ) { + status = PSA_ERROR_NOT_PERMITTED; + goto error; + } + + if( operation->password != NULL ) + return( PSA_ERROR_BAD_STATE ); + + status = psa_get_and_lock_key_slot_with_policy( password, &slot, + PSA_KEY_USAGE_DERIVE, + PSA_ALG_JPAKE ); + if( status != PSA_SUCCESS ) + return( status ); + + operation->password = mbedtls_calloc( 1, slot->key.bytes ); + if( operation->password == NULL ) + { + psa_unlock_key_slot( slot ); + return( PSA_ERROR_INSUFFICIENT_MEMORY ); + } + memcpy( operation->password, slot->key.data, slot->key.bytes ); + operation->password_len = slot->key.bytes; + + status = psa_unlock_key_slot( slot ); + if( status != PSA_SUCCESS ) + return( status ); + + return( PSA_SUCCESS ); + +error: + psa_pake_abort(operation); + return( status ); +} + +psa_status_t psa_pake_set_user( psa_pake_operation_t *operation, + const uint8_t *user_id, + size_t user_id_len ) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + if( operation->alg == PSA_ALG_NONE || + operation->state != PSA_PAKE_STATE_SETUP ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + + if( user_id_len == 0 || user_id == NULL ) + { + status = PSA_ERROR_INVALID_ARGUMENT; + goto error; + } + + status = PSA_ERROR_NOT_SUPPORTED; + +error: + psa_pake_abort(operation); + return( status ); +} + +psa_status_t psa_pake_set_peer( psa_pake_operation_t *operation, + const uint8_t *peer_id, + size_t peer_id_len ) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + if( operation->alg == PSA_ALG_NONE || + operation->state != PSA_PAKE_STATE_SETUP ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + + if( peer_id_len == 0 || peer_id == NULL ) + { + status = PSA_ERROR_INVALID_ARGUMENT; + goto error; + } + + status = PSA_ERROR_NOT_SUPPORTED; + +error: + psa_pake_abort(operation); + return( status ); +} + +psa_status_t psa_pake_set_role( psa_pake_operation_t *operation, + psa_pake_role_t role ) +{ + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + if( operation->alg == PSA_ALG_NONE || + operation->state != PSA_PAKE_STATE_SETUP ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + + if( role != PSA_PAKE_ROLE_NONE && + role != PSA_PAKE_ROLE_FIRST && + role != PSA_PAKE_ROLE_SECOND && + role != PSA_PAKE_ROLE_CLIENT && + role != PSA_PAKE_ROLE_SERVER ) + { + status = PSA_ERROR_INVALID_ARGUMENT; + goto error; + } + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + if( operation->alg == PSA_ALG_JPAKE ) + { + if( role != PSA_PAKE_ROLE_CLIENT && + role != PSA_PAKE_ROLE_SERVER ) + return( PSA_ERROR_NOT_SUPPORTED ); + + operation->role = role; + + return( PSA_SUCCESS ); + } + else +#endif + status = PSA_ERROR_NOT_SUPPORTED; + +error: + psa_pake_abort(operation); + return( status ); +} + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) +static psa_status_t psa_pake_ecjpake_setup( psa_pake_operation_t *operation ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ecjpake_role role; + + if( operation->role == PSA_PAKE_ROLE_CLIENT ) + role = MBEDTLS_ECJPAKE_CLIENT; + else if( operation->role == PSA_PAKE_ROLE_SERVER ) + role = MBEDTLS_ECJPAKE_SERVER; + else + return( PSA_ERROR_BAD_STATE ); + + if( operation->password_len == 0 ) + return( PSA_ERROR_BAD_STATE ); + + ret = mbedtls_ecjpake_setup( &operation->ctx.ecjpake, + role, + MBEDTLS_MD_SHA256, + MBEDTLS_ECP_DP_SECP256R1, + operation->password, + operation->password_len ); + + mbedtls_platform_zeroize( operation->password, operation->password_len ); + mbedtls_free( operation->password ); + operation->password = NULL; + operation->password_len = 0; + + if( ret != 0 ) + return( mbedtls_ecjpake_to_psa_error( ret ) ); + + operation->state = PSA_PAKE_STATE_READY; + + return( PSA_SUCCESS ); +} +#endif + +static psa_status_t psa_pake_output_internal( + psa_pake_operation_t *operation, + psa_pake_step_t step, + uint8_t *output, + size_t output_size, + size_t *output_length ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + size_t length; + + if( operation->alg == PSA_ALG_NONE || + operation->state == PSA_PAKE_STATE_INVALID ) + return( PSA_ERROR_BAD_STATE ); + + if( output == NULL || output_size == 0 || output_length == NULL ) + return( PSA_ERROR_INVALID_ARGUMENT ); + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + /* + * The PSA CRYPTO PAKE and MbedTLS JPAKE API have a different + * handling of output sequencing. + * + * The MbedTLS JPAKE API outputs the whole X1+X2 and X2S steps data + * at once, on the other side the PSA CRYPTO PAKE api requires + * the KEY_SHARE/ZP_PUBLIC/ZK_PROOF parts of X1, X2 & X2S to be + * retrieved in sequence. + * + * In order to achieve API compatibility, the whole X1+X2 or X2S steps + * data is stored in an intermediate buffer at first step output call, + * and data is sliced down by parsing the ECPoint records in order + * to return the right parts on each step. + */ + if( operation->alg == PSA_ALG_JPAKE ) + { + if( step != PSA_PAKE_STEP_KEY_SHARE && + step != PSA_PAKE_STEP_ZK_PUBLIC && + step != PSA_PAKE_STEP_ZK_PROOF ) + return( PSA_ERROR_INVALID_ARGUMENT ); + + if( operation->state == PSA_PAKE_STATE_SETUP ) { + status = psa_pake_ecjpake_setup( operation ); + if( status != PSA_SUCCESS ) + return( status ); + } + + if( operation->state != PSA_PAKE_STATE_READY && + operation->state != PSA_PAKE_OUTPUT_X1_X2 && + operation->state != PSA_PAKE_OUTPUT_X2S ) + { + return( PSA_ERROR_BAD_STATE ); + } + + if( operation->state == PSA_PAKE_STATE_READY ) + { + if( step != PSA_PAKE_STEP_KEY_SHARE ) + return( PSA_ERROR_BAD_STATE ); + + switch( operation->output_step ) + { + case PSA_PAKE_STEP_X1_X2: + operation->state = PSA_PAKE_OUTPUT_X1_X2; + break; + case PSA_PAKE_STEP_X2S: + operation->state = PSA_PAKE_OUTPUT_X2S; + break; + default: + return( PSA_ERROR_BAD_STATE ); + } + + operation->sequence = PSA_PAKE_X1_STEP_KEY_SHARE; + } + + /* Check if step matches current sequence */ + switch( operation->sequence ) + { + case PSA_PAKE_X1_STEP_KEY_SHARE: + case PSA_PAKE_X2_STEP_KEY_SHARE: + if( step != PSA_PAKE_STEP_KEY_SHARE ) + return( PSA_ERROR_BAD_STATE ); + break; + + case PSA_PAKE_X1_STEP_ZK_PUBLIC: + case PSA_PAKE_X2_STEP_ZK_PUBLIC: + if( step != PSA_PAKE_STEP_ZK_PUBLIC ) + return( PSA_ERROR_BAD_STATE ); + break; + + case PSA_PAKE_X1_STEP_ZK_PROOF: + case PSA_PAKE_X2_STEP_ZK_PROOF: + if( step != PSA_PAKE_STEP_ZK_PROOF ) + return( PSA_ERROR_BAD_STATE ); + break; + + default: + return( PSA_ERROR_BAD_STATE ); + } + + /* Initialize & write round on KEY_SHARE sequences */ + if( operation->state == PSA_PAKE_OUTPUT_X1_X2 && + operation->sequence == PSA_PAKE_X1_STEP_KEY_SHARE ) + { + ret = mbedtls_ecjpake_write_round_one( &operation->ctx.ecjpake, + operation->buffer, + MBEDTLS_PSA_PAKE_BUFFER_SIZE, + &operation->buffer_length, + mbedtls_psa_get_random, + MBEDTLS_PSA_RANDOM_STATE ); + if( ret != 0 ) + return( mbedtls_ecjpake_to_psa_error( ret ) ); + + operation->buffer_offset = 0; + } + else if( operation->state == PSA_PAKE_OUTPUT_X2S && + operation->sequence == PSA_PAKE_X1_STEP_KEY_SHARE ) + { + ret = mbedtls_ecjpake_write_round_two( &operation->ctx.ecjpake, + operation->buffer, + MBEDTLS_PSA_PAKE_BUFFER_SIZE, + &operation->buffer_length, + mbedtls_psa_get_random, + MBEDTLS_PSA_RANDOM_STATE ); + if( ret != 0 ) + return( mbedtls_ecjpake_to_psa_error( ret ) ); + + operation->buffer_offset = 0; + } + + /* + * mbedtls_ecjpake_write_round_xxx() outputs thing in the format + * defined by draft-cragie-tls-ecjpake-01 section 7. The summary is + * that the data for each step is prepended with a length byte, and + * then they're concatenated. Additionally, the server's second round + * output is prepended with a 3-bytes ECParameters structure. + * + * In PSA, we output each step separately, and don't prepend the + * output with a length byte, even less a curve identifier, as that + * information is already available. + */ + if( operation->state == PSA_PAKE_OUTPUT_X2S && + operation->sequence == PSA_PAKE_X1_STEP_KEY_SHARE && + operation->role == PSA_PAKE_ROLE_SERVER ) + { + /* Skip ECParameters, with is 3 bytes (RFC 8422) */ + operation->buffer_offset += 3; + } + + /* Read the length byte then move past it to the data */ + length = operation->buffer[operation->buffer_offset]; + operation->buffer_offset += 1; + + if( operation->buffer_offset + length > operation->buffer_length ) + return( PSA_ERROR_DATA_CORRUPT ); + + if( output_size < length ) + return( PSA_ERROR_BUFFER_TOO_SMALL ); + + memcpy( output, + operation->buffer + operation->buffer_offset, + length ); + *output_length = length; + + operation->buffer_offset += length; + + /* Reset buffer after ZK_PROOF sequence */ + if( ( operation->state == PSA_PAKE_OUTPUT_X1_X2 && + operation->sequence == PSA_PAKE_X2_STEP_ZK_PROOF ) || + ( operation->state == PSA_PAKE_OUTPUT_X2S && + operation->sequence == PSA_PAKE_X1_STEP_ZK_PROOF ) ) + { + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + operation->buffer_length = 0; + operation->buffer_offset = 0; + + operation->state = PSA_PAKE_STATE_READY; + operation->output_step++; + operation->sequence = PSA_PAKE_SEQ_INVALID; + } + else + operation->sequence++; + + return( PSA_SUCCESS ); + } + else +#endif + return( PSA_ERROR_NOT_SUPPORTED ); +} + +psa_status_t psa_pake_output( psa_pake_operation_t *operation, + psa_pake_step_t step, + uint8_t *output, + size_t output_size, + size_t *output_length ) +{ + psa_status_t status = psa_pake_output_internal( + operation, step, output, output_size, output_length ); + + if( status != PSA_SUCCESS ) + psa_pake_abort( operation ); + + return( status ); +} + +static psa_status_t psa_pake_input_internal( + psa_pake_operation_t *operation, + psa_pake_step_t step, + const uint8_t *input, + size_t input_length ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + if( operation->alg == PSA_ALG_NONE || + operation->state == PSA_PAKE_STATE_INVALID ) + return( PSA_ERROR_BAD_STATE ); + + if( input == NULL || input_length == 0 ) + return( PSA_ERROR_INVALID_ARGUMENT ); + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + /* + * The PSA CRYPTO PAKE and MbedTLS JPAKE API have a different + * handling of input sequencing. + * + * The MbedTLS JPAKE API takes the whole X1+X2 or X4S steps data + * at once as input, on the other side the PSA CRYPTO PAKE api requires + * the KEY_SHARE/ZP_PUBLIC/ZK_PROOF parts of X1, X2 & X4S to be + * given in sequence. + * + * In order to achieve API compatibility, each X1+X2 or X4S step data + * is stored sequentially in an intermediate buffer and given to the + * MbedTLS JPAKE API on the last step. + * + * This causes any input error to be only detected on the last step. + */ + if( operation->alg == PSA_ALG_JPAKE ) + { + if( step != PSA_PAKE_STEP_KEY_SHARE && + step != PSA_PAKE_STEP_ZK_PUBLIC && + step != PSA_PAKE_STEP_ZK_PROOF ) + return( PSA_ERROR_INVALID_ARGUMENT ); + + const psa_pake_primitive_t prim = PSA_PAKE_PRIMITIVE( + PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256 ); + if( input_length > (size_t) PSA_PAKE_INPUT_SIZE( PSA_ALG_JPAKE, prim, step ) ) + return( PSA_ERROR_INVALID_ARGUMENT ); + + if( operation->state == PSA_PAKE_STATE_SETUP ) + { + status = psa_pake_ecjpake_setup( operation ); + if( status != PSA_SUCCESS ) + return( status ); + } + + if( operation->state != PSA_PAKE_STATE_READY && + operation->state != PSA_PAKE_INPUT_X1_X2 && + operation->state != PSA_PAKE_INPUT_X4S ) + { + return( PSA_ERROR_BAD_STATE ); + } + + if( operation->state == PSA_PAKE_STATE_READY ) + { + if( step != PSA_PAKE_STEP_KEY_SHARE ) + return( PSA_ERROR_BAD_STATE ); + + switch( operation->input_step ) + { + case PSA_PAKE_STEP_X1_X2: + operation->state = PSA_PAKE_INPUT_X1_X2; + break; + case PSA_PAKE_STEP_X2S: + operation->state = PSA_PAKE_INPUT_X4S; + break; + default: + return( PSA_ERROR_BAD_STATE ); + } + + operation->sequence = PSA_PAKE_X1_STEP_KEY_SHARE; + } + + /* Check if step matches current sequence */ + switch( operation->sequence ) + { + case PSA_PAKE_X1_STEP_KEY_SHARE: + case PSA_PAKE_X2_STEP_KEY_SHARE: + if( step != PSA_PAKE_STEP_KEY_SHARE ) + return( PSA_ERROR_BAD_STATE ); + break; + + case PSA_PAKE_X1_STEP_ZK_PUBLIC: + case PSA_PAKE_X2_STEP_ZK_PUBLIC: + if( step != PSA_PAKE_STEP_ZK_PUBLIC ) + return( PSA_ERROR_BAD_STATE ); + break; + + case PSA_PAKE_X1_STEP_ZK_PROOF: + case PSA_PAKE_X2_STEP_ZK_PROOF: + if( step != PSA_PAKE_STEP_ZK_PROOF ) + return( PSA_ERROR_BAD_STATE ); + break; + + default: + return( PSA_ERROR_BAD_STATE ); + } + + /* + * Copy input to local buffer and format it as the Mbed TLS API + * expects, i.e. as defined by draft-cragie-tls-ecjpake-01 section 7. + * The summary is that the data for each step is prepended with a + * length byte, and then they're concatenated. Additionally, the + * server's second round output is prepended with a 3-bytes + * ECParameters structure - which means we have to prepend that when + * we're a client. + */ + if( operation->state == PSA_PAKE_INPUT_X4S && + operation->sequence == PSA_PAKE_X1_STEP_KEY_SHARE && + operation->role == PSA_PAKE_ROLE_CLIENT ) + { + /* We only support secp256r1. */ + /* This is the ECParameters structure defined by RFC 8422. */ + unsigned char ecparameters[3] = { + 3, /* named_curve */ + 0, 23 /* secp256r1 */ + }; + memcpy( operation->buffer + operation->buffer_length, + ecparameters, sizeof( ecparameters ) ); + operation->buffer_length += sizeof( ecparameters ); + } + + /* Write the length byte */ + operation->buffer[operation->buffer_length] = (uint8_t) input_length; + operation->buffer_length += 1; + + /* Finally copy the data */ + memcpy( operation->buffer + operation->buffer_length, + input, input_length ); + operation->buffer_length += input_length; + + /* Load buffer at each last round ZK_PROOF */ + if( operation->state == PSA_PAKE_INPUT_X1_X2 && + operation->sequence == PSA_PAKE_X2_STEP_ZK_PROOF ) + { + ret = mbedtls_ecjpake_read_round_one( &operation->ctx.ecjpake, + operation->buffer, + operation->buffer_length ); + + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + operation->buffer_length = 0; + + if( ret != 0 ) + return( mbedtls_ecjpake_to_psa_error( ret ) ); + } + else if( operation->state == PSA_PAKE_INPUT_X4S && + operation->sequence == PSA_PAKE_X1_STEP_ZK_PROOF ) + { + ret = mbedtls_ecjpake_read_round_two( &operation->ctx.ecjpake, + operation->buffer, + operation->buffer_length ); + + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + operation->buffer_length = 0; + + if( ret != 0 ) + return( mbedtls_ecjpake_to_psa_error( ret ) ); + } + + if( ( operation->state == PSA_PAKE_INPUT_X1_X2 && + operation->sequence == PSA_PAKE_X2_STEP_ZK_PROOF ) || + ( operation->state == PSA_PAKE_INPUT_X4S && + operation->sequence == PSA_PAKE_X1_STEP_ZK_PROOF ) ) + { + operation->state = PSA_PAKE_STATE_READY; + operation->input_step++; + operation->sequence = PSA_PAKE_SEQ_INVALID; + } + else + operation->sequence++; + + return( PSA_SUCCESS ); + } + else +#endif + return( PSA_ERROR_NOT_SUPPORTED ); +} + +psa_status_t psa_pake_input( psa_pake_operation_t *operation, + psa_pake_step_t step, + const uint8_t *input, + size_t input_length ) +{ + psa_status_t status = psa_pake_input_internal( + operation, step, input, input_length ); + + if( status != PSA_SUCCESS ) + psa_pake_abort( operation ); + + return( status ); +} + +psa_status_t psa_pake_get_implicit_key(psa_pake_operation_t *operation, + psa_key_derivation_operation_t *output) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + if( operation->alg == PSA_ALG_NONE || + operation->state != PSA_PAKE_STATE_READY || + operation->input_step != PSA_PAKE_STEP_DERIVE || + operation->output_step != PSA_PAKE_STEP_DERIVE ) + { + status = PSA_ERROR_BAD_STATE; + goto error; + } + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + if( operation->alg == PSA_ALG_JPAKE ) + { + ret = mbedtls_ecjpake_write_shared_key( &operation->ctx.ecjpake, + operation->buffer, + MBEDTLS_PSA_PAKE_BUFFER_SIZE, + &operation->buffer_length, + mbedtls_psa_get_random, + MBEDTLS_PSA_RANDOM_STATE ); + if( ret != 0) + { + psa_pake_abort( operation ); + return( mbedtls_ecjpake_to_psa_error( ret ) ); + } + + status = psa_key_derivation_input_bytes( output, + PSA_KEY_DERIVATION_INPUT_SECRET, + operation->buffer, + operation->buffer_length ); + + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + + psa_pake_abort( operation ); + + return( status ); + } + else +#endif + status = PSA_ERROR_NOT_SUPPORTED; + +error: + psa_key_derivation_abort( output ); + psa_pake_abort( operation ); + + return( status ); +} + +psa_status_t psa_pake_abort(psa_pake_operation_t * operation) +{ + if( operation->alg == PSA_ALG_NONE ) + { + return( PSA_SUCCESS ); + } + +#if defined(MBEDTLS_PSA_BUILTIN_ALG_JPAKE) + if( operation->alg == PSA_ALG_JPAKE ) + { + operation->input_step = PSA_PAKE_STEP_INVALID; + operation->output_step = PSA_PAKE_STEP_INVALID; + if( operation->password_len > 0 ) + mbedtls_platform_zeroize( operation->password, operation->password_len ); + mbedtls_free( operation->password ); + operation->password = NULL; + operation->password_len = 0; + operation->role = PSA_PAKE_ROLE_NONE; + mbedtls_platform_zeroize( operation->buffer, MBEDTLS_PSA_PAKE_BUFFER_SIZE ); + operation->buffer_length = 0; + operation->buffer_offset = 0; + mbedtls_ecjpake_free( &operation->ctx.ecjpake ); + } +#endif + + operation->alg = PSA_ALG_NONE; + operation->state = PSA_PAKE_STATE_INVALID; + operation->sequence = PSA_PAKE_SEQ_INVALID; + + return( PSA_SUCCESS ); +} + +#endif /* MBEDTLS_PSA_BUILTIN_PAKE */ + +#endif /* MBEDTLS_PSA_CRYPTO_C */ diff --git a/library/psa_crypto_rsa.c b/library/psa_crypto_rsa.c index 68f4bf16dc..f1b9809d8b 100644 --- a/library/psa_crypto_rsa.c +++ b/library/psa_crypto_rsa.c @@ -32,15 +32,12 @@ #include #include #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include #include #include #include "pk_wrap.h" +#include "hash_info.h" #if defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_CRYPT) || \ defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP) || \ @@ -326,8 +323,7 @@ static psa_status_t psa_rsa_decode_md_type( psa_algorithm_t alg, mbedtls_md_type_t *md_alg ) { psa_algorithm_t hash_alg = PSA_ALG_SIGN_GET_HASH( alg ); - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_psa( hash_alg ); - *md_alg = mbedtls_md_get_type( md_info ); + *md_alg = mbedtls_hash_info_md_from_psa( hash_alg ); /* The Mbed TLS RSA module uses an unsigned int for hash length * parameters. Validate that it fits so that we don't risk an @@ -340,9 +336,9 @@ static psa_status_t psa_rsa_decode_md_type( psa_algorithm_t alg, /* For signatures using a hash, the hash length must be correct. */ if( alg != PSA_ALG_RSA_PKCS1V15_SIGN_RAW ) { - if( md_info == NULL ) + if( *md_alg == MBEDTLS_MD_NONE ) return( PSA_ERROR_NOT_SUPPORTED ); - if( mbedtls_md_get_size( md_info ) != hash_length ) + if( mbedtls_hash_info_get_size( *md_alg ) != hash_length ) return( PSA_ERROR_INVALID_ARGUMENT ); } @@ -543,8 +539,7 @@ static int psa_rsa_oaep_set_padding_mode( psa_algorithm_t alg, mbedtls_rsa_context *rsa ) { psa_algorithm_t hash_alg = PSA_ALG_RSA_OAEP_GET_HASH( alg ); - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_psa( hash_alg ); - mbedtls_md_type_t md_alg = mbedtls_md_get_type( md_info ); + mbedtls_md_type_t md_alg = mbedtls_hash_info_md_from_psa( hash_alg ); return( mbedtls_rsa_set_padding( rsa, MBEDTLS_RSA_PKCS_V21, md_alg ) ); } diff --git a/library/psa_crypto_se.c b/library/psa_crypto_se.c index 56678d6a90..87d2634e73 100644 --- a/library/psa_crypto_se.c +++ b/library/psa_crypto_se.c @@ -38,10 +38,6 @@ #endif #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif diff --git a/library/psa_crypto_se.h b/library/psa_crypto_se.h index 549dfb69e2..693c3ead51 100644 --- a/library/psa_crypto_se.h +++ b/library/psa_crypto_se.h @@ -139,7 +139,7 @@ psa_status_t psa_find_se_slot_for_key( psa_se_drv_table_entry_t *driver, psa_key_slot_number_t *slot_number ); -/** Destoy a key in a secure element. +/** Destroy a key in a secure element. * * This function calls the relevant driver method to destroy a key * and updates the driver's persistent data. diff --git a/library/psa_crypto_slot_management.c b/library/psa_crypto_slot_management.c index a18350ee11..9dceaac6d4 100644 --- a/library/psa_crypto_slot_management.c +++ b/library/psa_crypto_slot_management.c @@ -34,12 +34,7 @@ #include #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #define ARRAY_LENGTH( array ) ( sizeof( array ) / sizeof( *( array ) ) ) diff --git a/library/psa_crypto_storage.c b/library/psa_crypto_storage.c index db7786d6c7..3186a36855 100644 --- a/library/psa_crypto_storage.c +++ b/library/psa_crypto_storage.c @@ -36,13 +36,7 @@ #include "psa/internal_trusted_storage.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif diff --git a/library/psa_its_file.c b/library/psa_its_file.c index b7c2e6b040..a35ac2494d 100644 --- a/library/psa_its_file.c +++ b/library/psa_its_file.c @@ -22,11 +22,7 @@ #if defined(MBEDTLS_PSA_ITS_FILE_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_snprintf snprintf -#endif #if defined(_WIN32) #include diff --git a/library/ripemd160.c b/library/ripemd160.c index 41d8387226..6212cb2572 100644 --- a/library/ripemd160.c +++ b/library/ripemd160.c @@ -33,14 +33,7 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if !defined(MBEDTLS_RIPEMD160_ALT) diff --git a/library/rsa.c b/library/rsa.c index e95768f1dd..ae9e68b91a 100644 --- a/library/rsa.c +++ b/library/rsa.c @@ -46,6 +46,7 @@ #include "mbedtls/error.h" #include "constant_time_internal.h" #include "mbedtls/constant_time.h" +#include "hash_info.h" #include @@ -53,30 +54,25 @@ #include #endif -#if defined(MBEDTLS_PLATFORM_C) +/* We use MD first if it's available (for compatibility reasons) + * and "fall back" to PSA otherwise (which needs psa_crypto_init()). */ +#if defined(MBEDTLS_PKCS1_V21) +#if !defined(MBEDTLS_MD_C) +#include "psa/crypto.h" +#include "mbedtls/psa_util.h" +#endif /* MBEDTLS_MD_C */ +#endif /* MBEDTLS_PKCS1_V21 */ + #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #if !defined(MBEDTLS_RSA_ALT) -/* Parameter validation macros */ -#define RSA_VALIDATE_RET( cond ) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_RSA_BAD_INPUT_DATA ) -#define RSA_VALIDATE( cond ) \ - MBEDTLS_INTERNAL_VALIDATE( cond ) - int mbedtls_rsa_import( mbedtls_rsa_context *ctx, const mbedtls_mpi *N, const mbedtls_mpi *P, const mbedtls_mpi *Q, const mbedtls_mpi *D, const mbedtls_mpi *E ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - RSA_VALIDATE_RET( ctx != NULL ); if( ( N != NULL && ( ret = mbedtls_mpi_copy( &ctx->N, N ) ) != 0 ) || ( P != NULL && ( ret = mbedtls_mpi_copy( &ctx->P, P ) ) != 0 ) || @@ -101,7 +97,6 @@ int mbedtls_rsa_import_raw( mbedtls_rsa_context *ctx, unsigned char const *E, size_t E_len ) { int ret = 0; - RSA_VALIDATE_RET( ctx != NULL ); if( N != NULL ) { @@ -231,8 +226,6 @@ int mbedtls_rsa_complete( mbedtls_rsa_context *ctx ) #endif int n_missing, pq_missing, d_missing, is_pub, is_priv; - RSA_VALIDATE_RET( ctx != NULL ); - have_N = ( mbedtls_mpi_cmp_int( &ctx->N, 0 ) != 0 ); have_P = ( mbedtls_mpi_cmp_int( &ctx->P, 0 ) != 0 ); have_Q = ( mbedtls_mpi_cmp_int( &ctx->Q, 0 ) != 0 ); @@ -335,7 +328,6 @@ int mbedtls_rsa_export_raw( const mbedtls_rsa_context *ctx, { int ret = 0; int is_priv; - RSA_VALIDATE_RET( ctx != NULL ); /* Check if key is private or public */ is_priv = @@ -380,7 +372,6 @@ int mbedtls_rsa_export( const mbedtls_rsa_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; int is_priv; - RSA_VALIDATE_RET( ctx != NULL ); /* Check if key is private or public */ is_priv = @@ -424,7 +415,6 @@ int mbedtls_rsa_export_crt( const mbedtls_rsa_context *ctx, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; int is_priv; - RSA_VALIDATE_RET( ctx != NULL ); /* Check if key is private or public */ is_priv = @@ -461,8 +451,6 @@ int mbedtls_rsa_export_crt( const mbedtls_rsa_context *ctx, */ void mbedtls_rsa_init( mbedtls_rsa_context *ctx ) { - RSA_VALIDATE( ctx != NULL ); - memset( ctx, 0, sizeof( mbedtls_rsa_context ) ); ctx->padding = MBEDTLS_RSA_PKCS_V15; @@ -497,15 +485,15 @@ int mbedtls_rsa_set_padding( mbedtls_rsa_context *ctx, int padding, return( MBEDTLS_ERR_RSA_INVALID_PADDING ); } +#if defined(MBEDTLS_PKCS1_V21) if( ( padding == MBEDTLS_RSA_PKCS_V21 ) && ( hash_id != MBEDTLS_MD_NONE ) ) { - const mbedtls_md_info_t *md_info; - - md_info = mbedtls_md_info_from_type( hash_id ); - if( md_info == NULL ) + /* Just make sure this hash is supported in this build. */ + if( mbedtls_hash_info_psa_from_md( hash_id ) == PSA_ALG_NONE ) return( MBEDTLS_ERR_RSA_INVALID_PADDING ); } +#endif /* MBEDTLS_PKCS1_V21 */ ctx->padding = padding; ctx->hash_id = hash_id; @@ -539,8 +527,6 @@ int mbedtls_rsa_gen_key( mbedtls_rsa_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_mpi H, G, L; int prime_quality = 0; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( f_rng != NULL ); /* * If the modulus is 1024 bit long or shorter, then the security strength of @@ -653,8 +639,6 @@ int mbedtls_rsa_gen_key( mbedtls_rsa_context *ctx, */ int mbedtls_rsa_check_pubkey( const mbedtls_rsa_context *ctx ) { - RSA_VALIDATE_RET( ctx != NULL ); - if( rsa_check_context( ctx, 0 /* public */, 0 /* no blinding */ ) != 0 ) return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED ); @@ -678,8 +662,6 @@ int mbedtls_rsa_check_pubkey( const mbedtls_rsa_context *ctx ) */ int mbedtls_rsa_check_privkey( const mbedtls_rsa_context *ctx ) { - RSA_VALIDATE_RET( ctx != NULL ); - if( mbedtls_rsa_check_pubkey( ctx ) != 0 || rsa_check_context( ctx, 1 /* private */, 1 /* blinding */ ) != 0 ) { @@ -709,9 +691,6 @@ int mbedtls_rsa_check_privkey( const mbedtls_rsa_context *ctx ) int mbedtls_rsa_check_pub_priv( const mbedtls_rsa_context *pub, const mbedtls_rsa_context *prv ) { - RSA_VALIDATE_RET( pub != NULL ); - RSA_VALIDATE_RET( prv != NULL ); - if( mbedtls_rsa_check_pubkey( pub ) != 0 || mbedtls_rsa_check_privkey( prv ) != 0 ) { @@ -737,9 +716,6 @@ int mbedtls_rsa_public( mbedtls_rsa_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t olen; mbedtls_mpi T; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( input != NULL ); - RSA_VALIDATE_RET( output != NULL ); if( rsa_check_context( ctx, 0 /* public */, 0 /* no blinding */ ) ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); @@ -907,10 +883,6 @@ int mbedtls_rsa_private( mbedtls_rsa_context *ctx, * checked result; should be the same in the end. */ mbedtls_mpi I, C; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( input != NULL ); - RSA_VALIDATE_RET( output != NULL ); - if( f_rng == NULL ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); @@ -1092,22 +1064,42 @@ int mbedtls_rsa_private( mbedtls_rsa_context *ctx, * \param dlen length of destination buffer * \param src source of the mask generation * \param slen length of the source buffer - * \param md_ctx message digest context to use + * \param md_alg message digest to use */ static int mgf_mask( unsigned char *dst, size_t dlen, unsigned char *src, - size_t slen, mbedtls_md_context_t *md_ctx ) + size_t slen, mbedtls_md_type_t md_alg ) { - unsigned char mask[MBEDTLS_MD_MAX_SIZE]; unsigned char counter[4]; unsigned char *p; unsigned int hlen; size_t i, use_len; + unsigned char mask[MBEDTLS_HASH_MAX_SIZE]; +#if defined(MBEDTLS_MD_C) int ret = 0; + const mbedtls_md_info_t *md_info; + mbedtls_md_context_t md_ctx; - memset( mask, 0, MBEDTLS_MD_MAX_SIZE ); - memset( counter, 0, 4 ); + mbedtls_md_init( &md_ctx ); + md_info = mbedtls_md_info_from_type( md_alg ); + if( md_info == NULL ) + return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - hlen = mbedtls_md_get_size( md_ctx->md_info ); + mbedtls_md_init( &md_ctx ); + if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) + goto exit; + + hlen = mbedtls_md_get_size( md_info ); +#else + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_algorithm_t alg = mbedtls_psa_translate_md( md_alg ); + psa_status_t status = PSA_SUCCESS; + size_t out_len; + + hlen = PSA_HASH_LENGTH( alg ); +#endif + + memset( mask, 0, sizeof( mask ) ); + memset( counter, 0, 4 ); /* Generate and apply dbMask */ p = dst; @@ -1118,14 +1110,26 @@ static int mgf_mask( unsigned char *dst, size_t dlen, unsigned char *src, if( dlen < hlen ) use_len = dlen; - if( ( ret = mbedtls_md_starts( md_ctx ) ) != 0 ) +#if defined(MBEDTLS_MD_C) + if( ( ret = mbedtls_md_starts( &md_ctx ) ) != 0 ) goto exit; - if( ( ret = mbedtls_md_update( md_ctx, src, slen ) ) != 0 ) + if( ( ret = mbedtls_md_update( &md_ctx, src, slen ) ) != 0 ) goto exit; - if( ( ret = mbedtls_md_update( md_ctx, counter, 4 ) ) != 0 ) + if( ( ret = mbedtls_md_update( &md_ctx, counter, 4 ) ) != 0 ) goto exit; - if( ( ret = mbedtls_md_finish( md_ctx, mask ) ) != 0 ) + if( ( ret = mbedtls_md_finish( &md_ctx, mask ) ) != 0 ) goto exit; +#else + if( ( status = psa_hash_setup( &op, alg ) ) != PSA_SUCCESS ) + goto exit; + if( ( status = psa_hash_update( &op, src, slen ) ) != PSA_SUCCESS ) + goto exit; + if( ( status = psa_hash_update( &op, counter, 4 ) ) != PSA_SUCCESS ) + goto exit; + status = psa_hash_finish( &op, mask, sizeof( mask ), &out_len ); + if( status != PSA_SUCCESS ) + goto exit; +#endif for( i = 0; i < use_len; ++i ) *p++ ^= mask[i]; @@ -1137,8 +1141,115 @@ static int mgf_mask( unsigned char *dst, size_t dlen, unsigned char *src, exit: mbedtls_platform_zeroize( mask, sizeof( mask ) ); +#if defined(MBEDTLS_MD_C) + mbedtls_md_free( &md_ctx ); return( ret ); +#else + psa_hash_abort( &op ); + + return( mbedtls_md_error_from_psa( status ) ); +#endif +} + +/** + * Generate Hash(M') as in RFC 8017 page 43 points 5 and 6. + * + * \param hash the input hash + * \param hlen length of the input hash + * \param salt the input salt + * \param slen length of the input salt + * \param out the output buffer - must be large enough for \p md_alg + * \param md_alg message digest to use + */ +static int hash_mprime( const unsigned char *hash, size_t hlen, + const unsigned char *salt, size_t slen, + unsigned char *out, mbedtls_md_type_t md_alg ) +{ + const unsigned char zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + +#if defined(MBEDTLS_MD_C) + mbedtls_md_context_t md_ctx; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( md_alg ); + if( md_info == NULL ) + return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + mbedtls_md_init( &md_ctx ); + if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_md_starts( &md_ctx ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_md_update( &md_ctx, zeros, sizeof( zeros ) ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_md_update( &md_ctx, hash, hlen ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_md_update( &md_ctx, salt, slen ) ) != 0 ) + goto exit; + if( ( ret = mbedtls_md_finish( &md_ctx, out ) ) != 0 ) + goto exit; + +exit: + mbedtls_md_free( &md_ctx ); + + return( ret ); +#else + psa_hash_operation_t op = PSA_HASH_OPERATION_INIT; + psa_algorithm_t alg = mbedtls_psa_translate_md( md_alg ); + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED ; + size_t out_size = PSA_HASH_LENGTH( alg ); + size_t out_len; + + if( ( status = psa_hash_setup( &op, alg ) ) != PSA_SUCCESS ) + goto exit; + if( ( status = psa_hash_update( &op, zeros, sizeof( zeros ) ) ) != PSA_SUCCESS ) + goto exit; + if( ( status = psa_hash_update( &op, hash, hlen ) ) != PSA_SUCCESS ) + goto exit; + if( ( status = psa_hash_update( &op, salt, slen ) ) != PSA_SUCCESS ) + goto exit; + status = psa_hash_finish( &op, out, out_size, &out_len ); + if( status != PSA_SUCCESS ) + goto exit; + +exit: + psa_hash_abort( &op ); + + return( mbedtls_md_error_from_psa( status ) ); +#endif /* !MBEDTLS_MD_C */ +} + +/** + * Compute a hash. + * + * \param md_alg algorithm to use + * \param input input message to hash + * \param ilen input length + * \param output the output buffer - must be large enough for \p md_alg + */ +static int compute_hash( mbedtls_md_type_t md_alg, + const unsigned char *input, size_t ilen, + unsigned char *output ) +{ +#if defined(MBEDTLS_MD_C) + const mbedtls_md_info_t *md_info; + + md_info = mbedtls_md_info_from_type( md_alg ); + if( md_info == NULL ) + return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + return( mbedtls_md( md_info, input, ilen, output ) ); +#else + psa_algorithm_t alg = mbedtls_psa_translate_md( md_alg ); + psa_status_t status; + size_t out_size = PSA_HASH_LENGTH( alg ); + size_t out_len; + + status = psa_hash_compute( alg, input, ilen, output, out_size, &out_len ); + + return( mbedtls_md_error_from_psa( status ) ); +#endif /* !MBEDTLS_MD_C */ } #endif /* MBEDTLS_PKCS1_V21 */ @@ -1158,23 +1269,15 @@ int mbedtls_rsa_rsaes_oaep_encrypt( mbedtls_rsa_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *p = output; unsigned int hlen; - const mbedtls_md_info_t *md_info; - mbedtls_md_context_t md_ctx; - - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output != NULL ); - RSA_VALIDATE_RET( ilen == 0 || input != NULL ); - RSA_VALIDATE_RET( label_len == 0 || label != NULL ); if( f_rng == NULL ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id ); - if( md_info == NULL ) + hlen = mbedtls_hash_info_get_size( (mbedtls_md_type_t) ctx->hash_id ); + if( hlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); olen = ctx->len; - hlen = mbedtls_md_get_size( md_info ); /* first comparison checks for overflow */ if( ilen + 2 * hlen + 2 < ilen || olen < ilen + 2 * hlen + 2 ) @@ -1191,7 +1294,8 @@ int mbedtls_rsa_rsaes_oaep_encrypt( mbedtls_rsa_context *ctx, p += hlen; /* Construct DB */ - if( ( ret = mbedtls_md( md_info, label, label_len, p ) ) != 0 ) + ret = compute_hash( (mbedtls_md_type_t) ctx->hash_id, label, label_len, p ); + if( ret != 0 ) return( ret ); p += hlen; p += olen - 2 * hlen - 2 - ilen; @@ -1199,24 +1303,14 @@ int mbedtls_rsa_rsaes_oaep_encrypt( mbedtls_rsa_context *ctx, if( ilen != 0 ) memcpy( p, input, ilen ); - mbedtls_md_init( &md_ctx ); - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) - goto exit; - /* maskedDB: Apply dbMask to DB */ if( ( ret = mgf_mask( output + hlen + 1, olen - hlen - 1, output + 1, hlen, - &md_ctx ) ) != 0 ) - goto exit; + ctx->hash_id ) ) != 0 ) + return( ret ); /* maskedSeed: Apply seedMask to seed */ if( ( ret = mgf_mask( output + 1, hlen, output + hlen + 1, olen - hlen - 1, - &md_ctx ) ) != 0 ) - goto exit; - -exit: - mbedtls_md_free( &md_ctx ); - - if( ret != 0 ) + ctx->hash_id ) ) != 0 ) return( ret ); return( mbedtls_rsa_public( ctx, output, output ) ); @@ -1237,10 +1331,6 @@ int mbedtls_rsa_rsaes_pkcs1_v15_encrypt( mbedtls_rsa_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *p = output; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output != NULL ); - RSA_VALIDATE_RET( ilen == 0 || input != NULL ); - olen = ctx->len; /* first comparison checks for overflow */ @@ -1289,10 +1379,6 @@ int mbedtls_rsa_pkcs1_encrypt( mbedtls_rsa_context *ctx, const unsigned char *input, unsigned char *output ) { - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output != NULL ); - RSA_VALIDATE_RET( ilen == 0 || input != NULL ); - switch( ctx->padding ) { #if defined(MBEDTLS_PKCS1_V15) @@ -1329,16 +1415,8 @@ int mbedtls_rsa_rsaes_oaep_decrypt( mbedtls_rsa_context *ctx, size_t ilen, i, pad_len; unsigned char *p, bad, pad_done; unsigned char buf[MBEDTLS_MPI_MAX_SIZE]; - unsigned char lhash[MBEDTLS_MD_MAX_SIZE]; + unsigned char lhash[MBEDTLS_HASH_MAX_SIZE]; unsigned int hlen; - const mbedtls_md_info_t *md_info; - mbedtls_md_context_t md_ctx; - - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output_max_len == 0 || output != NULL ); - RSA_VALIDATE_RET( label_len == 0 || label != NULL ); - RSA_VALIDATE_RET( input != NULL ); - RSA_VALIDATE_RET( olen != NULL ); /* * Parameters sanity checks @@ -1351,12 +1429,10 @@ int mbedtls_rsa_rsaes_oaep_decrypt( mbedtls_rsa_context *ctx, if( ilen < 16 || ilen > sizeof( buf ) ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id ); - if( md_info == NULL ) + hlen = mbedtls_hash_info_get_size( (mbedtls_md_type_t) ctx->hash_id ); + if( hlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - hlen = mbedtls_md_get_size( md_info ); - // checking for integer underflow if( 2 * hlen + 2 > ilen ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); @@ -1372,28 +1448,20 @@ int mbedtls_rsa_rsaes_oaep_decrypt( mbedtls_rsa_context *ctx, /* * Unmask data and generate lHash */ - mbedtls_md_init( &md_ctx ); - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) - { - mbedtls_md_free( &md_ctx ); - goto cleanup; - } - /* seed: Apply seedMask to maskedSeed */ if( ( ret = mgf_mask( buf + 1, hlen, buf + hlen + 1, ilen - hlen - 1, - &md_ctx ) ) != 0 || + ctx->hash_id ) ) != 0 || /* DB: Apply dbMask to maskedDB */ ( ret = mgf_mask( buf + hlen + 1, ilen - hlen - 1, buf + 1, hlen, - &md_ctx ) ) != 0 ) + ctx->hash_id ) ) != 0 ) { - mbedtls_md_free( &md_ctx ); goto cleanup; } - mbedtls_md_free( &md_ctx ); - /* Generate lHash */ - if( ( ret = mbedtls_md( md_info, label, label_len, lhash ) ) != 0 ) + ret = compute_hash( (mbedtls_md_type_t) ctx->hash_id, + label, label_len, lhash ); + if( ret != 0 ) goto cleanup; /* @@ -1470,11 +1538,6 @@ int mbedtls_rsa_rsaes_pkcs1_v15_decrypt( mbedtls_rsa_context *ctx, size_t ilen; unsigned char buf[MBEDTLS_MPI_MAX_SIZE]; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output_max_len == 0 || output != NULL ); - RSA_VALIDATE_RET( input != NULL ); - RSA_VALIDATE_RET( olen != NULL ); - ilen = ctx->len; if( ctx->padding != MBEDTLS_RSA_PKCS_V15 ) @@ -1509,11 +1572,6 @@ int mbedtls_rsa_pkcs1_decrypt( mbedtls_rsa_context *ctx, unsigned char *output, size_t output_max_len) { - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( output_max_len == 0 || output != NULL ); - RSA_VALIDATE_RET( input != NULL ); - RSA_VALIDATE_RET( olen != NULL ); - switch( ctx->padding ) { #if defined(MBEDTLS_PKCS1_V15) @@ -1550,13 +1608,9 @@ static int rsa_rsassa_pss_sign( mbedtls_rsa_context *ctx, size_t slen, min_slen, hlen, offset = 0; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t msb; - const mbedtls_md_info_t *md_info; - mbedtls_md_context_t md_ctx; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); - RSA_VALIDATE_RET( sig != NULL ); + + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; if( ctx->padding != MBEDTLS_RSA_PKCS_V21 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); @@ -1569,20 +1623,18 @@ static int rsa_rsassa_pss_sign( mbedtls_rsa_context *ctx, if( md_alg != MBEDTLS_MD_NONE ) { /* Gather length of hash to sign */ - md_info = mbedtls_md_info_from_type( md_alg ); - if( md_info == NULL ) + size_t exp_hashlen = mbedtls_hash_info_get_size( md_alg ); + if( exp_hashlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - if( hashlen != mbedtls_md_get_size( md_info ) ) + if( hashlen != exp_hashlen ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); } - md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id ); - if( md_info == NULL ) + hlen = mbedtls_hash_info_get_size( (mbedtls_md_type_t) ctx->hash_id ); + if( hlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - hlen = mbedtls_md_get_size( md_info ); - if (saltlen == MBEDTLS_RSA_SALT_LEN_ANY) { /* Calculate the largest possible salt length, up to the hash size. @@ -1623,30 +1675,20 @@ static int rsa_rsassa_pss_sign( mbedtls_rsa_context *ctx, p += slen; - mbedtls_md_init( &md_ctx ); - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) - goto exit; - /* Generate H = Hash( M' ) */ - if( ( ret = mbedtls_md_starts( &md_ctx ) ) != 0 ) - goto exit; - if( ( ret = mbedtls_md_update( &md_ctx, p, 8 ) ) != 0 ) - goto exit; - if( ( ret = mbedtls_md_update( &md_ctx, hash, hashlen ) ) != 0 ) - goto exit; - if( ( ret = mbedtls_md_update( &md_ctx, salt, slen ) ) != 0 ) - goto exit; - if( ( ret = mbedtls_md_finish( &md_ctx, p ) ) != 0 ) - goto exit; + ret = hash_mprime( hash, hashlen, salt, slen, p, ctx->hash_id ); + if( ret != 0 ) + return( ret ); /* Compensate for boundary condition when applying mask */ if( msb % 8 == 0 ) offset = 1; /* maskedDB: Apply dbMask to DB */ - if( ( ret = mgf_mask( sig + offset, olen - hlen - 1 - offset, p, hlen, - &md_ctx ) ) != 0 ) - goto exit; + ret = mgf_mask( sig + offset, olen - hlen - 1 - offset, p, hlen, + ctx->hash_id ); + if( ret != 0 ) + return( ret ); msb = mbedtls_mpi_bitlen( &ctx->N ) - 1; sig[0] &= 0xFF >> ( olen * 8 - msb ); @@ -1654,12 +1696,6 @@ static int rsa_rsassa_pss_sign( mbedtls_rsa_context *ctx, p += hlen; *p++ = 0xBC; -exit: - mbedtls_md_free( &md_ctx ); - - if( ret != 0 ) - return( ret ); - return mbedtls_rsa_private( ctx, f_rng, p_rng, sig, sig ); } @@ -1733,14 +1769,14 @@ static int rsa_rsassa_pkcs1_v15_encode( mbedtls_md_type_t md_alg, /* Are we signing hashed or raw data? */ if( md_alg != MBEDTLS_MD_NONE ) { - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( md_alg ); - if( md_info == NULL ) + unsigned char md_size = mbedtls_hash_info_get_size( md_alg ); + if( md_size == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); if( mbedtls_oid_get_oid_by_md( md_alg, &oid, &oid_size ) != 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - if( hashlen != mbedtls_md_get_size( md_info ) ) + if( hashlen != md_size ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); /* Double-check that 8 + hashlen + oid_size can be used as a @@ -1846,11 +1882,8 @@ int mbedtls_rsa_rsassa_pkcs1_v15_sign( mbedtls_rsa_context *ctx, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *sig_try = NULL, *verif = NULL; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); - RSA_VALIDATE_RET( sig != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; if( ctx->padding != MBEDTLS_RSA_PKCS_V15 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); @@ -1914,11 +1947,8 @@ int mbedtls_rsa_pkcs1_sign( mbedtls_rsa_context *ctx, const unsigned char *hash, unsigned char *sig ) { - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); - RSA_VALIDATE_RET( sig != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; switch( ctx->padding ) { @@ -1955,19 +1985,13 @@ int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx, size_t siglen; unsigned char *p; unsigned char *hash_start; - unsigned char result[MBEDTLS_MD_MAX_SIZE]; - unsigned char zeros[8]; + unsigned char result[MBEDTLS_HASH_MAX_SIZE]; unsigned int hlen; size_t observed_salt_len, msb; - const mbedtls_md_info_t *md_info; - mbedtls_md_context_t md_ctx; unsigned char buf[MBEDTLS_MPI_MAX_SIZE] = {0}; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( sig != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; siglen = ctx->len; @@ -1987,22 +2011,18 @@ int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx, if( md_alg != MBEDTLS_MD_NONE ) { /* Gather length of hash to sign */ - md_info = mbedtls_md_info_from_type( md_alg ); - if( md_info == NULL ) + size_t exp_hashlen = mbedtls_hash_info_get_size( md_alg ); + if( exp_hashlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - if( hashlen != mbedtls_md_get_size( md_info ) ) + if( hashlen != exp_hashlen ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); } - md_info = mbedtls_md_info_from_type( mgf1_hash_id ); - if( md_info == NULL ) + hlen = mbedtls_hash_info_get_size( mgf1_hash_id ); + if( hlen == 0 ) return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); - hlen = mbedtls_md_get_size( md_info ); - - memset( zeros, 0, 8 ); - /* * Note: EMSA-PSS verification is over the length of N - 1 bits */ @@ -2022,13 +2042,9 @@ int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx, return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); hash_start = p + siglen - hlen - 1; - mbedtls_md_init( &md_ctx ); - if( ( ret = mbedtls_md_setup( &md_ctx, md_info, 0 ) ) != 0 ) - goto exit; - - ret = mgf_mask( p, siglen - hlen - 1, hash_start, hlen, &md_ctx ); + ret = mgf_mask( p, siglen - hlen - 1, hash_start, hlen, mgf1_hash_id ); if( ret != 0 ) - goto exit; + return( ret ); buf[0] &= 0xFF >> ( siglen * 8 - msb ); @@ -2036,49 +2052,28 @@ int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx, p++; if( *p++ != 0x01 ) - { - ret = MBEDTLS_ERR_RSA_INVALID_PADDING; - goto exit; - } + return( MBEDTLS_ERR_RSA_INVALID_PADDING ); observed_salt_len = hash_start - p; if( expected_salt_len != MBEDTLS_RSA_SALT_LEN_ANY && observed_salt_len != (size_t) expected_salt_len ) { - ret = MBEDTLS_ERR_RSA_INVALID_PADDING; - goto exit; + return( MBEDTLS_ERR_RSA_INVALID_PADDING ); } /* * Generate H = Hash( M' ) */ - ret = mbedtls_md_starts( &md_ctx ); - if ( ret != 0 ) - goto exit; - ret = mbedtls_md_update( &md_ctx, zeros, 8 ); - if ( ret != 0 ) - goto exit; - ret = mbedtls_md_update( &md_ctx, hash, hashlen ); - if ( ret != 0 ) - goto exit; - ret = mbedtls_md_update( &md_ctx, p, observed_salt_len ); - if ( ret != 0 ) - goto exit; - ret = mbedtls_md_finish( &md_ctx, result ); - if ( ret != 0 ) - goto exit; + ret = hash_mprime( hash, hashlen, p, observed_salt_len, + result, mgf1_hash_id ); + if( ret != 0 ) + return( ret ); if( memcmp( hash_start, result, hlen ) != 0 ) - { - ret = MBEDTLS_ERR_RSA_VERIFY_FAILED; - goto exit; - } - -exit: - mbedtls_md_free( &md_ctx ); + return( MBEDTLS_ERR_RSA_VERIFY_FAILED ); - return( ret ); + return( 0 ); } /* @@ -2091,11 +2086,8 @@ int mbedtls_rsa_rsassa_pss_verify( mbedtls_rsa_context *ctx, const unsigned char *sig ) { mbedtls_md_type_t mgf1_hash_id; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( sig != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; mgf1_hash_id = ( ctx->hash_id != MBEDTLS_MD_NONE ) ? (mbedtls_md_type_t) ctx->hash_id @@ -2124,11 +2116,8 @@ int mbedtls_rsa_rsassa_pkcs1_v15_verify( mbedtls_rsa_context *ctx, size_t sig_len; unsigned char *encoded = NULL, *encoded_expected = NULL; - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( sig != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; sig_len = ctx->len; @@ -2193,11 +2182,8 @@ int mbedtls_rsa_pkcs1_verify( mbedtls_rsa_context *ctx, const unsigned char *hash, const unsigned char *sig ) { - RSA_VALIDATE_RET( ctx != NULL ); - RSA_VALIDATE_RET( sig != NULL ); - RSA_VALIDATE_RET( ( md_alg == MBEDTLS_MD_NONE && - hashlen == 0 ) || - hash != NULL ); + if( ( md_alg != MBEDTLS_MD_NONE || hashlen != 0 ) && hash == NULL ) + return MBEDTLS_ERR_RSA_BAD_INPUT_DATA; switch( ctx->padding ) { @@ -2224,8 +2210,6 @@ int mbedtls_rsa_pkcs1_verify( mbedtls_rsa_context *ctx, int mbedtls_rsa_copy( mbedtls_rsa_context *dst, const mbedtls_rsa_context *src ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - RSA_VALIDATE_RET( dst != NULL ); - RSA_VALIDATE_RET( src != NULL ); dst->len = src->len; diff --git a/library/sha1.c b/library/sha1.c index 6fc9371231..5ae818a646 100644 --- a/library/sha1.c +++ b/library/sha1.c @@ -32,26 +32,12 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ - -#define SHA1_VALIDATE_RET(cond) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_SHA1_BAD_INPUT_DATA ) - -#define SHA1_VALIDATE(cond) MBEDTLS_INTERNAL_VALIDATE( cond ) #if !defined(MBEDTLS_SHA1_ALT) void mbedtls_sha1_init( mbedtls_sha1_context *ctx ) { - SHA1_VALIDATE( ctx != NULL ); - memset( ctx, 0, sizeof( mbedtls_sha1_context ) ); } @@ -66,9 +52,6 @@ void mbedtls_sha1_free( mbedtls_sha1_context *ctx ) void mbedtls_sha1_clone( mbedtls_sha1_context *dst, const mbedtls_sha1_context *src ) { - SHA1_VALIDATE( dst != NULL ); - SHA1_VALIDATE( src != NULL ); - *dst = *src; } @@ -77,8 +60,6 @@ void mbedtls_sha1_clone( mbedtls_sha1_context *dst, */ int mbedtls_sha1_starts( mbedtls_sha1_context *ctx ) { - SHA1_VALIDATE_RET( ctx != NULL ); - ctx->total[0] = 0; ctx->total[1] = 0; @@ -100,9 +81,6 @@ int mbedtls_internal_sha1_process( mbedtls_sha1_context *ctx, uint32_t temp, W[16], A, B, C, D, E; } local; - SHA1_VALIDATE_RET( ctx != NULL ); - SHA1_VALIDATE_RET( (const unsigned char *)data != NULL ); - local.W[ 0] = MBEDTLS_GET_UINT32_BE( data, 0 ); local.W[ 1] = MBEDTLS_GET_UINT32_BE( data, 4 ); local.W[ 2] = MBEDTLS_GET_UINT32_BE( data, 8 ); @@ -277,9 +255,6 @@ int mbedtls_sha1_update( mbedtls_sha1_context *ctx, size_t fill; uint32_t left; - SHA1_VALIDATE_RET( ctx != NULL ); - SHA1_VALIDATE_RET( ilen == 0 || input != NULL ); - if( ilen == 0 ) return( 0 ); @@ -329,9 +304,6 @@ int mbedtls_sha1_finish( mbedtls_sha1_context *ctx, uint32_t used; uint32_t high, low; - SHA1_VALIDATE_RET( ctx != NULL ); - SHA1_VALIDATE_RET( (unsigned char *)output != NULL ); - /* * Add padding: 0x80 then 0x00 until 8 bytes remain for the length */ @@ -392,9 +364,6 @@ int mbedtls_sha1( const unsigned char *input, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_sha1_context ctx; - SHA1_VALIDATE_RET( ilen == 0 || input != NULL ); - SHA1_VALIDATE_RET( (unsigned char *)output != NULL ); - mbedtls_sha1_init( &ctx ); if( ( ret = mbedtls_sha1_starts( &ctx ) ) != 0 ) diff --git a/library/sha256.c b/library/sha256.c index ac15ef8d1d..1a9a855fab 100644 --- a/library/sha256.c +++ b/library/sha256.c @@ -32,17 +32,7 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if defined(__aarch64__) # if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT) || \ @@ -149,18 +139,12 @@ static int mbedtls_a64_crypto_sha256_determine_support( void ) #endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT */ -#define SHA256_VALIDATE_RET(cond) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_SHA256_BAD_INPUT_DATA ) -#define SHA256_VALIDATE(cond) MBEDTLS_INTERNAL_VALIDATE( cond ) - #if !defined(MBEDTLS_SHA256_ALT) #define SHA256_BLOCK_SIZE 64 void mbedtls_sha256_init( mbedtls_sha256_context *ctx ) { - SHA256_VALIDATE( ctx != NULL ); - memset( ctx, 0, sizeof( mbedtls_sha256_context ) ); } @@ -175,9 +159,6 @@ void mbedtls_sha256_free( mbedtls_sha256_context *ctx ) void mbedtls_sha256_clone( mbedtls_sha256_context *dst, const mbedtls_sha256_context *src ) { - SHA256_VALIDATE( dst != NULL ); - SHA256_VALIDATE( src != NULL ); - *dst = *src; } @@ -186,12 +167,12 @@ void mbedtls_sha256_clone( mbedtls_sha256_context *dst, */ int mbedtls_sha256_starts( mbedtls_sha256_context *ctx, int is224 ) { - SHA256_VALIDATE_RET( ctx != NULL ); - #if defined(MBEDTLS_SHA224_C) - SHA256_VALIDATE_RET( is224 == 0 || is224 == 1 ); + if( is224 != 0 && is224 != 1 ) + return MBEDTLS_ERR_SHA256_BAD_INPUT_DATA; #else - SHA256_VALIDATE_RET( is224 == 0 ); + if( is224 != 0 ) + return MBEDTLS_ERR_SHA256_BAD_INPUT_DATA; #endif ctx->total[0] = 0; @@ -427,9 +408,6 @@ int mbedtls_internal_sha256_process_c( mbedtls_sha256_context *ctx, unsigned int i; - SHA256_VALIDATE_RET( ctx != NULL ); - SHA256_VALIDATE_RET( (const unsigned char *)data != NULL ); - for( i = 0; i < 8; i++ ) local.A[i] = ctx->state[i]; @@ -579,9 +557,6 @@ int mbedtls_sha256_update( mbedtls_sha256_context *ctx, size_t fill; uint32_t left; - SHA256_VALIDATE_RET( ctx != NULL ); - SHA256_VALIDATE_RET( ilen == 0 || input != NULL ); - if( ilen == 0 ) return( 0 ); @@ -633,9 +608,6 @@ int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, uint32_t used; uint32_t high, low; - SHA256_VALIDATE_RET( ctx != NULL ); - SHA256_VALIDATE_RET( (unsigned char *)output != NULL ); - /* * Add padding: 0x80 then 0x00 until 8 bytes remain for the length */ @@ -683,9 +655,11 @@ int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, MBEDTLS_PUT_UINT32_BE( ctx->state[5], output, 20 ); MBEDTLS_PUT_UINT32_BE( ctx->state[6], output, 24 ); + int truncated = 0; #if defined(MBEDTLS_SHA224_C) - if( ctx->is224 == 0 ) + truncated = ctx->is224; #endif + if( !truncated ) MBEDTLS_PUT_UINT32_BE( ctx->state[7], output, 28 ); return( 0 ); @@ -705,14 +679,13 @@ int mbedtls_sha256( const unsigned char *input, mbedtls_sha256_context ctx; #if defined(MBEDTLS_SHA224_C) - SHA256_VALIDATE_RET( is224 == 0 || is224 == 1 ); + if( is224 != 0 && is224 != 1 ) + return MBEDTLS_ERR_SHA256_BAD_INPUT_DATA; #else - SHA256_VALIDATE_RET( is224 == 0 ); + if( is224 != 0 ) + return MBEDTLS_ERR_SHA256_BAD_INPUT_DATA; #endif - SHA256_VALIDATE_RET( ilen == 0 || input != NULL ); - SHA256_VALIDATE_RET( (unsigned char *)output != NULL ); - mbedtls_sha256_init( &ctx ); if( ( ret = mbedtls_sha256_starts( &ctx, is224 ) ) != 0 ) diff --git a/library/sha512.c b/library/sha512.c index be03ec3316..92ada8c35f 100644 --- a/library/sha512.c +++ b/library/sha512.c @@ -38,17 +38,7 @@ #include -#if defined(MBEDTLS_SELF_TEST) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif /* MBEDTLS_PLATFORM_C */ -#endif /* MBEDTLS_SELF_TEST */ #if defined(__aarch64__) # if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT) || \ @@ -164,10 +154,6 @@ static int mbedtls_a64_crypto_sha512_determine_support( void ) #endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT */ -#define SHA512_VALIDATE_RET(cond) \ - MBEDTLS_INTERNAL_VALIDATE_RET( cond, MBEDTLS_ERR_SHA512_BAD_INPUT_DATA ) -#define SHA512_VALIDATE(cond) MBEDTLS_INTERNAL_VALIDATE( cond ) - #if !defined(MBEDTLS_SHA512_ALT) #define SHA512_BLOCK_SIZE 128 @@ -183,8 +169,6 @@ static void sha512_put_uint64_be( uint64_t n, unsigned char *b, uint8_t i ) void mbedtls_sha512_init( mbedtls_sha512_context *ctx ) { - SHA512_VALIDATE( ctx != NULL ); - memset( ctx, 0, sizeof( mbedtls_sha512_context ) ); } @@ -199,9 +183,6 @@ void mbedtls_sha512_free( mbedtls_sha512_context *ctx ) void mbedtls_sha512_clone( mbedtls_sha512_context *dst, const mbedtls_sha512_context *src ) { - SHA512_VALIDATE( dst != NULL ); - SHA512_VALIDATE( src != NULL ); - *dst = *src; } @@ -210,11 +191,12 @@ void mbedtls_sha512_clone( mbedtls_sha512_context *dst, */ int mbedtls_sha512_starts( mbedtls_sha512_context *ctx, int is384 ) { - SHA512_VALIDATE_RET( ctx != NULL ); #if defined(MBEDTLS_SHA384_C) - SHA512_VALIDATE_RET( is384 == 0 || is384 == 1 ); + if( is384 != 0 && is384 != 1 ) + return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA; #else - SHA512_VALIDATE_RET( is384 == 0 ); + if( is384 != 0 ) + return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA; #endif ctx->total[0] = 0; @@ -569,9 +551,6 @@ int mbedtls_internal_sha512_process_c( mbedtls_sha512_context *ctx, uint64_t A[8]; } local; - SHA512_VALIDATE_RET( ctx != NULL ); - SHA512_VALIDATE_RET( (const unsigned char *)data != NULL ); - #define SHR(x,n) ((x) >> (n)) #define ROTR(x,n) (SHR((x),(n)) | ((x) << (64 - (n)))) @@ -735,9 +714,6 @@ int mbedtls_sha512_update( mbedtls_sha512_context *ctx, size_t fill; unsigned int left; - SHA512_VALIDATE_RET( ctx != NULL ); - SHA512_VALIDATE_RET( ilen == 0 || input != NULL ); - if( ilen == 0 ) return( 0 ); @@ -788,9 +764,6 @@ int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, unsigned used; uint64_t high, low; - SHA512_VALIDATE_RET( ctx != NULL ); - SHA512_VALIDATE_RET( (unsigned char *)output != NULL ); - /* * Add padding: 0x80 then 0x00 until 16 bytes remain for the length */ @@ -837,9 +810,11 @@ int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, sha512_put_uint64_be( ctx->state[4], output, 32 ); sha512_put_uint64_be( ctx->state[5], output, 40 ); + int truncated = 0; #if defined(MBEDTLS_SHA384_C) - if( ctx->is384 == 0 ) + truncated = ctx->is384; #endif + if( !truncated ) { sha512_put_uint64_be( ctx->state[6], output, 48 ); sha512_put_uint64_be( ctx->state[7], output, 56 ); @@ -862,12 +837,12 @@ int mbedtls_sha512( const unsigned char *input, mbedtls_sha512_context ctx; #if defined(MBEDTLS_SHA384_C) - SHA512_VALIDATE_RET( is384 == 0 || is384 == 1 ); + if( is384 != 0 && is384 != 1 ) + return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA; #else - SHA512_VALIDATE_RET( is384 == 0 ); + if( is384 != 0 ) + return MBEDTLS_ERR_SHA512_BAD_INPUT_DATA; #endif - SHA512_VALIDATE_RET( ilen == 0 || input != NULL ); - SHA512_VALIDATE_RET( (unsigned char *)output != NULL ); mbedtls_sha512_init( &ctx ); diff --git a/library/ssl_cache.c b/library/ssl_cache.c index 6505e11402..8405d2798f 100644 --- a/library/ssl_cache.c +++ b/library/ssl_cache.c @@ -25,13 +25,7 @@ #if defined(MBEDTLS_SSL_CACHE_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ssl_cache.h" #include "ssl_misc.h" diff --git a/library/ssl_ciphersuites.c b/library/ssl_ciphersuites.c index 835159e63e..a83527f87a 100644 --- a/library/ssl_ciphersuites.c +++ b/library/ssl_ciphersuites.c @@ -23,16 +23,14 @@ #if defined(MBEDTLS_SSL_TLS_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#endif #include "mbedtls/ssl_ciphersuites.h" #include "mbedtls/ssl.h" #include "ssl_misc.h" +#include "mbedtls/legacy_or_psa.h" + #include /* @@ -295,22 +293,22 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_SSL_PROTO_TLS1_3) #if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS1_3_AES_256_GCM_SHA384, "TLS1-3-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 0, MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS1_3_AES_128_GCM_SHA256, "TLS1-3-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 0, MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ -#if defined(MBEDTLS_CCM_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_CCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS1_3_AES_128_CCM_SHA256, "TLS1-3-AES-128-CCM-SHA256", MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ @@ -321,20 +319,20 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ MBEDTLS_CIPHERSUITE_SHORT_TAG, MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, -#endif /* MBEDTLS_SHA256_C && MBEDTLS_CCM_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_CCM_C */ #endif /* MBEDTLS_AES_C */ -#if defined(MBEDTLS_CHACHAPOLY_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_CHACHAPOLY_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256, "TLS1-3-CHACHA20-POLY1305-SHA256", MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 0, MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, -#endif /* MBEDTLS_CHACHAPOLY_C && MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_CHACHAPOLY_C && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ #if defined(MBEDTLS_CHACHAPOLY_C) && \ - defined(MBEDTLS_SHA256_C) && \ + defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_SSL_PROTO_TLS1_2) #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, @@ -393,11 +391,11 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif #endif /* MBEDTLS_CHACHAPOLY_C && - MBEDTLS_SHA256_C && + MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_SSL_PROTO_TLS1_2 */ #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, @@ -408,8 +406,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, @@ -422,8 +420,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, @@ -436,7 +434,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #if defined(MBEDTLS_CCM_C) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, @@ -459,49 +457,49 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ #if defined(MBEDTLS_CIPHER_NULL_CIPHER) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, @@ -512,8 +510,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, @@ -526,8 +524,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, @@ -540,62 +538,62 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_AES_C */ #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ #if defined(MBEDTLS_CIPHER_NULL_CIPHER) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA384_C) && \ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_GCM_C) { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C && MBEDTLS_GCM_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_GCM_C */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_GCM_C) { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, @@ -614,10 +612,10 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, @@ -627,7 +625,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_CCM_C) { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM", @@ -651,7 +649,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, @@ -661,9 +659,9 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, @@ -673,22 +671,22 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -696,15 +694,15 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA384_C) && \ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_GCM_C) { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C && MBEDTLS_GCM_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_GCM_C */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_GCM_C) { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, @@ -723,9 +721,9 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, @@ -737,7 +735,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #if defined(MBEDTLS_CCM_C) { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM", MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, @@ -760,7 +758,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 0, @@ -770,9 +768,9 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 0, @@ -782,23 +780,23 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -806,7 +804,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, @@ -817,8 +815,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, @@ -831,8 +829,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, @@ -845,54 +843,54 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_AES_C */ #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ #if defined(MBEDTLS_CIPHER_NULL_CIPHER) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) #if defined(MBEDTLS_AES_C) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, @@ -903,8 +901,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_CIPHER_MODE_CBC */ -#endif /* MBEDTLS_SHA1_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, @@ -917,8 +915,8 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_CIPHER_MODE_CBC) { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, @@ -931,85 +929,85 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif /* MBEDTLS_GCM_C */ -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_AES_C */ #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ #if defined(MBEDTLS_CIPHER_NULL_CIPHER) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) #if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 0, @@ -1019,7 +1017,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_CCM_C) { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM", @@ -1043,35 +1041,35 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -1080,37 +1078,37 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) #if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, @@ -1120,7 +1118,7 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_CCM_C) { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM", @@ -1144,35 +1142,35 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -1182,21 +1180,21 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, @@ -1206,25 +1204,25 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #endif /* MBEDTLS_AES_C */ #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -1233,37 +1231,37 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) #if defined(MBEDTLS_AES_C) #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, @@ -1273,41 +1271,41 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #endif /* MBEDTLS_AES_C */ #if defined(MBEDTLS_CAMELLIA_C) #if defined(MBEDTLS_CIPHER_MODE_CBC) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_CIPHER_MODE_CBC */ #if defined(MBEDTLS_GCM_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_GCM_C */ #endif /* MBEDTLS_CAMELLIA_C */ @@ -1326,21 +1324,21 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_CIPHER_NULL_CIPHER) #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_CIPHERSUITE_WEAK, @@ -1349,95 +1347,95 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384", MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_CIPHERSUITE_WEAK, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ @@ -1445,28 +1443,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384, "TLS-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384, "TLS-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256, "TLS-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256, "TLS-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, @@ -1478,28 +1476,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, @@ -1511,28 +1509,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384, "TLS-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384,MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384, "TLS-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256, "TLS-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256, "TLS-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, @@ -1544,28 +1542,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, @@ -1577,28 +1575,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, @@ -1610,14 +1608,14 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, @@ -1629,28 +1627,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, @@ -1662,28 +1660,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, @@ -1695,28 +1693,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, @@ -1728,28 +1726,28 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 0, MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, #endif -#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) +#if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)) { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, @@ -1933,10 +1931,10 @@ psa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg( const mbedtls_ssl_ci case MBEDTLS_KEY_EXCHANGE_DHE_RSA: case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: return( PSA_ALG_RSA_PKCS1V15_SIGN( - mbedtls_psa_translate_md( info->mac ) ) ); + mbedtls_hash_info_psa_from_md( info->mac ) ) ); case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: - return( PSA_ALG_ECDSA( mbedtls_psa_translate_md( info->mac ) ) ); + return( PSA_ALG_ECDSA( mbedtls_hash_info_psa_from_md( info->mac ) ) ); case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: diff --git a/library/ssl_client.c b/library/ssl_client.c index 20f1aff4b8..2c4ce43161 100644 --- a/library/ssl_client.c +++ b/library/ssl_client.c @@ -24,13 +24,7 @@ #if defined(MBEDTLS_SSL_CLI_C) #if defined(MBEDTLS_SSL_PROTO_TLS1_3) || defined(MBEDTLS_SSL_PROTO_TLS1_2) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include @@ -112,6 +106,9 @@ static int ssl_write_hostname_ext( mbedtls_ssl_context *ssl, *olen = hostname_len + 9; +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_SERVERNAME ); +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ return( 0 ); } #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ @@ -183,6 +180,9 @@ static int ssl_write_alpn_ext( mbedtls_ssl_context *ssl, /* Extension length = *out_len - 2 (ext_type) - 2 (ext_len) */ MBEDTLS_PUT_UINT16_BE( *out_len - 4, buf, 2 ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_ALPN ); +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ return( 0 ); } #endif /* MBEDTLS_SSL_ALPN */ @@ -302,7 +302,8 @@ static int ssl_write_supported_groups_ext( mbedtls_ssl_context *ssl, *out_len = p - buf; #if defined(MBEDTLS_SSL_PROTO_TLS1_3) - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SUPPORTED_GROUPS; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( + ssl, MBEDTLS_TLS_EXT_SUPPORTED_GROUPS ); #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ return( 0 ); @@ -376,9 +377,11 @@ static int ssl_write_client_hello_cipher_suites( /* * Add TLS_EMPTY_RENEGOTIATION_INFO_SCSV */ + int renegotiating = 0; #if defined(MBEDTLS_SSL_RENEGOTIATION) - if( ssl->renego_status == MBEDTLS_SSL_INITIAL_HANDSHAKE ) + renegotiating = ( ssl->renego_status != MBEDTLS_SSL_INITIAL_HANDSHAKE ); #endif + if( !renegotiating ) { MBEDTLS_SSL_DEBUG_MSG( 3, ( "adding EMPTY_RENEGOTIATION_INFO_SCSV" ) ); MBEDTLS_SSL_CHK_BUF_PTR( p, end, 2 ); @@ -432,7 +435,8 @@ MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end, - size_t *out_len ) + size_t *out_len, + size_t *binders_len ) { int ret; mbedtls_ssl_handshake_params *handshake = ssl->handshake; @@ -443,6 +447,7 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, int tls12_uses_ec = 0; *out_len = 0; + *binders_len = 0; #if defined(MBEDTLS_SSL_PROTO_TLS1_2) unsigned char propose_tls12 = @@ -559,7 +564,7 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, #if defined(MBEDTLS_SSL_PROTO_TLS1_3) /* Keeping track of the included extensions */ - handshake->extensions_present = MBEDTLS_SSL_EXT_NONE; + handshake->sent_extensions = MBEDTLS_SSL_EXT_MASK_NONE; #endif /* First write extensions, then the total length */ @@ -612,7 +617,7 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C || MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( #if defined(MBEDTLS_SSL_PROTO_TLS1_3) ( propose_tls13 && mbedtls_ssl_conf_tls13_ephemeral_enabled( ssl ) ) || @@ -627,7 +632,7 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, return( ret ); p += output_len; } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_PROTO_TLS1_2) if( propose_tls12 ) @@ -641,6 +646,20 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + /* The "pre_shared_key" extension (RFC 8446 Section 4.2.11) + * MUST be the last extension in the ClientHello. + */ + if( propose_tls13 && mbedtls_ssl_conf_tls13_some_psk_enabled( ssl ) ) + { + ret = mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext( + ssl, p, end, &output_len, binders_len ); + if( ret != 0 ) + return( ret ); + p += output_len; + } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + /* Write the length of the list of extensions. */ extensions_len = p - p_extensions_len - 2; @@ -655,6 +674,11 @@ static int ssl_write_client_hello_body( mbedtls_ssl_context *ssl, p_extensions_len, extensions_len ); } +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + MBEDTLS_SSL_PRINT_EXTS( + 3, MBEDTLS_SSL_HS_CLIENT_HELLO, handshake->sent_extensions ); +#endif + *out_len = p - buf; return( 0 ); } @@ -702,6 +726,34 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) { int ret; size_t session_id_len; + mbedtls_ssl_session *session_negotiate = ssl->session_negotiate; + + if( session_negotiate == NULL ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_HAVE_TIME) + + /* Check if a tls13 ticket has been configured. */ + if( ssl->handshake->resume != 0 && + session_negotiate->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 && + session_negotiate->ticket != NULL ) + { + mbedtls_time_t now = mbedtls_time( NULL ); + uint64_t age = (uint64_t)( now - session_negotiate->ticket_received ); + if( session_negotiate->ticket_received > now || + age > session_negotiate->ticket_lifetime ) + { + /* Without valid ticket, disable session resumption.*/ + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "Ticket expired, disable session resumption" ) ); + ssl->handshake->resume = 0; + } + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && + MBEDTLS_SSL_SESSION_TICKETS && + MBEDTLS_HAVE_TIME */ if( ssl->conf->f_rng == NULL ) { @@ -720,7 +772,7 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) { if( ssl->handshake->resume ) { - ssl->tls_version = ssl->session_negotiate->tls_version; + ssl->tls_version = session_negotiate->tls_version; ssl->handshake->min_tls_version = ssl->tls_version; } else @@ -732,7 +784,7 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) /* * Generate the random bytes, except when responding to a verify request - * where we MUST reuse the previoulsy generated random bytes + * where we MUST reuse the previously generated random bytes * (RFC 6347 4.2.1). */ #if defined(MBEDTLS_SSL_PROTO_DTLS) @@ -754,7 +806,7 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) * to zero, except in the case of a TLS 1.2 session renegotiation or * session resumption. */ - session_id_len = ssl->session_negotiate->id_len; + session_id_len = session_negotiate->id_len; #if defined(MBEDTLS_SSL_PROTO_TLS1_2) if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_2 ) @@ -773,12 +825,15 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) * RFC 5077 section 3.4: "When presenting a ticket, the client MAY * generate and include a Session ID in the TLS ClientHello." */ + int renegotiating = 0; #if defined(MBEDTLS_SSL_RENEGOTIATION) - if( ssl->renego_status == MBEDTLS_SSL_INITIAL_HANDSHAKE ) + if( ssl->renego_status != MBEDTLS_SSL_INITIAL_HANDSHAKE ) + renegotiating = 1; #endif + if( !renegotiating ) { - if( ( ssl->session_negotiate->ticket != NULL ) && - ( ssl->session_negotiate->ticket_len != 0 ) ) + if( ( session_negotiate->ticket != NULL ) && + ( session_negotiate->ticket_len != 0 ) ) { session_id_len = 32; } @@ -810,13 +865,13 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) } #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ - if( session_id_len != ssl->session_negotiate->id_len ) + if( session_id_len != session_negotiate->id_len ) { - ssl->session_negotiate->id_len = session_id_len; + session_negotiate->id_len = session_id_len; if( session_id_len > 0 ) { ret = ssl->conf->f_rng( ssl->conf->p_rng, - ssl->session_negotiate->id, + session_negotiate->id, session_id_len ); if( ret != 0 ) { @@ -826,9 +881,39 @@ static int ssl_prepare_client_hello( mbedtls_ssl_context *ssl ) } } +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 && + ssl->handshake->resume ) + { + int hostname_mismatch = ssl->hostname != NULL || + session_negotiate->hostname != NULL; + if( ssl->hostname != NULL && session_negotiate->hostname != NULL ) + { + hostname_mismatch = strcmp( + ssl->hostname, session_negotiate->hostname ) != 0; + } + + if( hostname_mismatch ) + { + MBEDTLS_SSL_DEBUG_MSG( + 1, ( "Hostname mismatch the session ticket, " + "disable session resumption." ) ); + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + } + } + else + { + return mbedtls_ssl_session_set_hostname( session_negotiate, + ssl->hostname ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && + MBEDTLS_SSL_SESSION_TICKETS && + MBEDTLS_SSL_SERVER_NAME_INDICATION */ + return( 0 ); } - /* * Write ClientHello handshake message. * Handler for MBEDTLS_SSL_CLIENT_HELLO @@ -837,7 +922,7 @@ int mbedtls_ssl_write_client_hello( mbedtls_ssl_context *ssl ) { int ret = 0; unsigned char *buf; - size_t buf_len, msg_len; + size_t buf_len, msg_len, binders_len; MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> write client hello" ) ); @@ -849,7 +934,8 @@ int mbedtls_ssl_write_client_hello( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_PROC_CHK( ssl_write_client_hello_body( ssl, buf, buf + buf_len, - &msg_len ) ); + &msg_len, + &binders_len ) ); #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_SSL_PROTO_DTLS) if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM ) @@ -883,8 +969,21 @@ int mbedtls_ssl_write_client_hello( mbedtls_ssl_context *ssl ) else #endif /* MBEDTLS_SSL_PROTO_TLS1_2 && MBEDTLS_SSL_PROTO_DTLS */ { - mbedtls_ssl_add_hs_msg_to_checksum( ssl, MBEDTLS_SSL_HS_CLIENT_HELLO, - buf, msg_len ); + + mbedtls_ssl_add_hs_hdr_to_checksum( ssl, MBEDTLS_SSL_HS_CLIENT_HELLO, + msg_len ); + ssl->handshake->update_checksum( ssl, buf, msg_len - binders_len ); +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + if( binders_len > 0 ) + { + MBEDTLS_SSL_PROC_CHK( + mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext( + ssl, buf + msg_len - binders_len, buf + msg_len ) ); + ssl->handshake->update_checksum( ssl, buf + msg_len - binders_len, + binders_len ); + } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + MBEDTLS_SSL_PROC_CHK( mbedtls_ssl_finish_handshake_msg( ssl, buf_len, msg_len ) ); diff --git a/library/ssl_cookie.c b/library/ssl_cookie.c index 4b2d2d2bf1..3f9bf87b42 100644 --- a/library/ssl_cookie.c +++ b/library/ssl_cookie.c @@ -25,12 +25,7 @@ #if defined(MBEDTLS_SSL_COOKIE_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ssl_cookie.h" #include "ssl_misc.h" @@ -38,21 +33,23 @@ #include "mbedtls/platform_util.h" #include "mbedtls/constant_time.h" +#include "mbedtls/legacy_or_psa.h" + #include /* - * If DTLS is in use, then at least one of SHA-1, SHA-256, SHA-512 is - * available. Try SHA-256 first, 512 wastes resources + * If DTLS is in use, then at least one of SHA-1, SHA-256, SHA-384 is + * available. Try SHA-256 first, 384 wastes resources */ -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA) #define COOKIE_MD MBEDTLS_MD_SHA224 #define COOKIE_MD_OUTLEN 32 #define COOKIE_HMAC_LEN 28 -#elif defined(MBEDTLS_SHA384_C) +#elif defined(MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA) #define COOKIE_MD MBEDTLS_MD_SHA384 #define COOKIE_MD_OUTLEN 48 #define COOKIE_HMAC_LEN 28 -#elif defined(MBEDTLS_SHA1_C) +#elif defined(MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA) #define COOKIE_MD MBEDTLS_MD_SHA1 #define COOKIE_MD_OUTLEN 20 #define COOKIE_HMAC_LEN 20 @@ -117,7 +114,7 @@ int mbedtls_ssl_cookie_setup( mbedtls_ssl_cookie_ctx *ctx, (void)f_rng; (void)p_rng; - alg = mbedtls_psa_translate_md( COOKIE_MD ); + alg = mbedtls_hash_info_psa_from_md( COOKIE_MD ); if( alg == 0 ) return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); diff --git a/library/ssl_debug_helpers.h b/library/ssl_debug_helpers.h index 9f1df736bd..4412f8e213 100644 --- a/library/ssl_debug_helpers.h +++ b/library/ssl_debug_helpers.h @@ -43,6 +43,32 @@ const char *mbedtls_ssl_sig_alg_to_str( uint16_t in ); const char *mbedtls_ssl_named_group_to_str( uint16_t in ); +const char *mbedtls_ssl_get_extension_name( unsigned int extension_type ); + +void mbedtls_ssl_print_extensions( const mbedtls_ssl_context *ssl, + int level, const char *file, int line, + int hs_msg_type, uint32_t extensions_mask, + const char *extra ); + +void mbedtls_ssl_print_extension( const mbedtls_ssl_context *ssl, + int level, const char *file, int line, + int hs_msg_type, unsigned int extension_type, + const char *extra_msg0, const char *extra_msg1 ); + +#define MBEDTLS_SSL_PRINT_EXTS( level, hs_msg_type, extensions_mask ) \ + mbedtls_ssl_print_extensions( ssl, level, __FILE__, __LINE__, \ + hs_msg_type, extensions_mask, NULL ) + +#define MBEDTLS_SSL_PRINT_EXT( level, hs_msg_type, extension_type, extra ) \ + mbedtls_ssl_print_extension( ssl, level, __FILE__, __LINE__, \ + hs_msg_type, extension_type, \ + extra, NULL ) +#else + +#define MBEDTLS_SSL_PRINT_EXTS( level, hs_msg_type, extension_mask ) + +#define MBEDTLS_SSL_PRINT_EXT( level, hs_msg_type, extension_type, extra ) + #endif /* MBEDTLS_DEBUG_C */ -#endif /* SSL_DEBUG_HELPERS_H */ +#endif /* MBEDTLS_SSL_DEBUG_HELPERS_H */ diff --git a/library/ssl_debug_helpers_generated.c b/library/ssl_debug_helpers_generated.c index c563e12701..e3e93f8c65 100644 --- a/library/ssl_debug_helpers_generated.c +++ b/library/ssl_debug_helpers_generated.c @@ -73,7 +73,7 @@ const char *mbedtls_ssl_named_group_to_str( uint16_t in ) return "UNKOWN"; } -const char* mbedtls_ssl_sig_alg_to_str( uint16_t in ) +const char *mbedtls_ssl_sig_alg_to_str( uint16_t in ) { switch( in ) { @@ -135,8 +135,7 @@ const char *mbedtls_ssl_states_str( mbedtls_ssl_states in ) [MBEDTLS_SSL_SERVER_FINISHED] = "MBEDTLS_SSL_SERVER_FINISHED", [MBEDTLS_SSL_FLUSH_BUFFERS] = "MBEDTLS_SSL_FLUSH_BUFFERS", [MBEDTLS_SSL_HANDSHAKE_WRAPUP] = "MBEDTLS_SSL_HANDSHAKE_WRAPUP", - [MBEDTLS_SSL_HANDSHAKE_OVER] = "MBEDTLS_SSL_HANDSHAKE_OVER", - [MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET] = "MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET", + [MBEDTLS_SSL_NEW_SESSION_TICKET] = "MBEDTLS_SSL_NEW_SESSION_TICKET", [MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT] = "MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT", [MBEDTLS_SSL_HELLO_RETRY_REQUEST] = "MBEDTLS_SSL_HELLO_RETRY_REQUEST", [MBEDTLS_SSL_ENCRYPTED_EXTENSIONS] = "MBEDTLS_SSL_ENCRYPTED_EXTENSIONS", @@ -145,6 +144,9 @@ const char *mbedtls_ssl_states_str( mbedtls_ssl_states in ) [MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO] = "MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO", [MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO] = "MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO", [MBEDTLS_SSL_SERVER_CCS_AFTER_HELLO_RETRY_REQUEST] = "MBEDTLS_SSL_SERVER_CCS_AFTER_HELLO_RETRY_REQUEST", + [MBEDTLS_SSL_HANDSHAKE_OVER] = "MBEDTLS_SSL_HANDSHAKE_OVER", + [MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET] = "MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET", + [MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH] = "MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH", }; if( in > ( sizeof( in_to_str )/sizeof( in_to_str[0]) - 1 ) || diff --git a/library/ssl_misc.h b/library/ssl_misc.h index 39a47cac79..0e0479a917 100644 --- a/library/ssl_misc.h +++ b/library/ssl_misc.h @@ -30,7 +30,9 @@ #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) #include "psa/crypto.h" #include "mbedtls/psa_util.h" +#include "hash_info.h" #endif +#include "mbedtls/legacy_or_psa.h" #if defined(MBEDTLS_MD5_C) #include "mbedtls/md5.h" @@ -48,17 +50,13 @@ #include "mbedtls/sha512.h" #endif -#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ + !defined(MBEDTLS_USE_PSA_CRYPTO) #include "mbedtls/ecjpake.h" #endif #include "common.h" -#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \ - !defined(inline) && !defined(__cplusplus) -#define inline __inline -#endif - /* Shorthand for restartable ECC */ #if defined(MBEDTLS_ECP_RESTARTABLE) && \ defined(MBEDTLS_SSL_CLI_C) && \ @@ -72,34 +70,147 @@ #define MBEDTLS_SSL_RENEGOTIATION_DONE 2 /* Done or aborted */ #define MBEDTLS_SSL_RENEGOTIATION_PENDING 3 /* Requested (server only) */ +/* Faked handshake message identity for HelloRetryRequest. */ +#define MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST ( -MBEDTLS_SSL_HS_SERVER_HELLO ) + /* - * Mask of TLS 1.3 handshake extensions used in extensions_present - * of mbedtls_ssl_handshake_params. - */ -#define MBEDTLS_SSL_EXT_NONE 0 - -#define MBEDTLS_SSL_EXT_SERVERNAME ( 1 << 0 ) -#define MBEDTLS_SSL_EXT_MAX_FRAGMENT_LENGTH ( 1 << 1 ) -#define MBEDTLS_SSL_EXT_STATUS_REQUEST ( 1 << 2 ) -#define MBEDTLS_SSL_EXT_SUPPORTED_GROUPS ( 1 << 3 ) -#define MBEDTLS_SSL_EXT_SIG_ALG ( 1 << 4 ) -#define MBEDTLS_SSL_EXT_USE_SRTP ( 1 << 5 ) -#define MBEDTLS_SSL_EXT_HEARTBEAT ( 1 << 6 ) -#define MBEDTLS_SSL_EXT_ALPN ( 1 << 7 ) -#define MBEDTLS_SSL_EXT_SCT ( 1 << 8 ) -#define MBEDTLS_SSL_EXT_CLI_CERT_TYPE ( 1 << 9 ) -#define MBEDTLS_SSL_EXT_SERV_CERT_TYPE ( 1 << 10 ) -#define MBEDTLS_SSL_EXT_PADDING ( 1 << 11 ) -#define MBEDTLS_SSL_EXT_PRE_SHARED_KEY ( 1 << 12 ) -#define MBEDTLS_SSL_EXT_EARLY_DATA ( 1 << 13 ) -#define MBEDTLS_SSL_EXT_SUPPORTED_VERSIONS ( 1 << 14 ) -#define MBEDTLS_SSL_EXT_COOKIE ( 1 << 15 ) -#define MBEDTLS_SSL_EXT_PSK_KEY_EXCHANGE_MODES ( 1 << 16 ) -#define MBEDTLS_SSL_EXT_CERT_AUTH ( 1 << 17 ) -#define MBEDTLS_SSL_EXT_OID_FILTERS ( 1 << 18 ) -#define MBEDTLS_SSL_EXT_POST_HANDSHAKE_AUTH ( 1 << 19 ) -#define MBEDTLS_SSL_EXT_SIG_ALG_CERT ( 1 << 20 ) -#define MBEDTLS_SSL_EXT_KEY_SHARE ( 1 << 21 ) + * Internal identity of handshake extensions + */ +#define MBEDTLS_SSL_EXT_ID_UNRECOGNIZED 0 +#define MBEDTLS_SSL_EXT_ID_SERVERNAME 1 +#define MBEDTLS_SSL_EXT_ID_SERVERNAME_HOSTNAME 1 +#define MBEDTLS_SSL_EXT_ID_MAX_FRAGMENT_LENGTH 2 +#define MBEDTLS_SSL_EXT_ID_STATUS_REQUEST 3 +#define MBEDTLS_SSL_EXT_ID_SUPPORTED_GROUPS 4 +#define MBEDTLS_SSL_EXT_ID_SUPPORTED_ELLIPTIC_CURVES 4 +#define MBEDTLS_SSL_EXT_ID_SIG_ALG 5 +#define MBEDTLS_SSL_EXT_ID_USE_SRTP 6 +#define MBEDTLS_SSL_EXT_ID_HEARTBEAT 7 +#define MBEDTLS_SSL_EXT_ID_ALPN 8 +#define MBEDTLS_SSL_EXT_ID_SCT 9 +#define MBEDTLS_SSL_EXT_ID_CLI_CERT_TYPE 10 +#define MBEDTLS_SSL_EXT_ID_SERV_CERT_TYPE 11 +#define MBEDTLS_SSL_EXT_ID_PADDING 12 +#define MBEDTLS_SSL_EXT_ID_PRE_SHARED_KEY 13 +#define MBEDTLS_SSL_EXT_ID_EARLY_DATA 14 +#define MBEDTLS_SSL_EXT_ID_SUPPORTED_VERSIONS 15 +#define MBEDTLS_SSL_EXT_ID_COOKIE 16 +#define MBEDTLS_SSL_EXT_ID_PSK_KEY_EXCHANGE_MODES 17 +#define MBEDTLS_SSL_EXT_ID_CERT_AUTH 18 +#define MBEDTLS_SSL_EXT_ID_OID_FILTERS 19 +#define MBEDTLS_SSL_EXT_ID_POST_HANDSHAKE_AUTH 20 +#define MBEDTLS_SSL_EXT_ID_SIG_ALG_CERT 21 +#define MBEDTLS_SSL_EXT_ID_KEY_SHARE 22 +#define MBEDTLS_SSL_EXT_ID_TRUNCATED_HMAC 23 +#define MBEDTLS_SSL_EXT_ID_SUPPORTED_POINT_FORMATS 24 +#define MBEDTLS_SSL_EXT_ID_ENCRYPT_THEN_MAC 25 +#define MBEDTLS_SSL_EXT_ID_EXTENDED_MASTER_SECRET 26 +#define MBEDTLS_SSL_EXT_ID_SESSION_TICKET 27 + +/* Utility for translating IANA extension type. */ +uint32_t mbedtls_ssl_get_extension_id( unsigned int extension_type ); +uint32_t mbedtls_ssl_get_extension_mask( unsigned int extension_type ); +/* Macros used to define mask constants */ +#define MBEDTLS_SSL_EXT_MASK( id ) ( 1ULL << ( MBEDTLS_SSL_EXT_ID_##id ) ) +/* Reset value of extension mask */ +#define MBEDTLS_SSL_EXT_MASK_NONE 0 + +/* In messages containing extension requests, we should ignore unrecognized + * extensions. In messages containing extension responses, unrecognized + * extensions should result in handshake abortion. Messages containing + * extension requests include ClientHello, CertificateRequest and + * NewSessionTicket. Messages containing extension responses include + * ServerHello, HelloRetryRequest, EncryptedExtensions and Certificate. + * + * RFC 8446 section 4.1.3 + * + * The ServerHello MUST only include extensions which are required to establish + * the cryptographic context and negotiate the protocol version. + * + * RFC 8446 section 4.2 + * + * If an implementation receives an extension which it recognizes and which is + * not specified for the message in which it appears, it MUST abort the handshake + * with an "illegal_parameter" alert. + */ + +/* Extensions that are not recognized by TLS 1.3 */ +#define MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED \ + ( MBEDTLS_SSL_EXT_MASK( SUPPORTED_POINT_FORMATS ) | \ + MBEDTLS_SSL_EXT_MASK( ENCRYPT_THEN_MAC ) | \ + MBEDTLS_SSL_EXT_MASK( EXTENDED_MASTER_SECRET ) | \ + MBEDTLS_SSL_EXT_MASK( SESSION_TICKET ) | \ + MBEDTLS_SSL_EXT_MASK( TRUNCATED_HMAC ) | \ + MBEDTLS_SSL_EXT_MASK( UNRECOGNIZED ) ) + +/* RFC 8446 section 4.2. Allowed extensions for ClientHello */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CH \ + ( MBEDTLS_SSL_EXT_MASK( SERVERNAME ) | \ + MBEDTLS_SSL_EXT_MASK( MAX_FRAGMENT_LENGTH ) | \ + MBEDTLS_SSL_EXT_MASK( STATUS_REQUEST ) | \ + MBEDTLS_SSL_EXT_MASK( SUPPORTED_GROUPS ) | \ + MBEDTLS_SSL_EXT_MASK( SIG_ALG ) | \ + MBEDTLS_SSL_EXT_MASK( USE_SRTP ) | \ + MBEDTLS_SSL_EXT_MASK( HEARTBEAT ) | \ + MBEDTLS_SSL_EXT_MASK( ALPN ) | \ + MBEDTLS_SSL_EXT_MASK( SCT ) | \ + MBEDTLS_SSL_EXT_MASK( CLI_CERT_TYPE ) | \ + MBEDTLS_SSL_EXT_MASK( SERV_CERT_TYPE ) | \ + MBEDTLS_SSL_EXT_MASK( PADDING ) | \ + MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) | \ + MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | \ + MBEDTLS_SSL_EXT_MASK( PSK_KEY_EXCHANGE_MODES ) | \ + MBEDTLS_SSL_EXT_MASK( EARLY_DATA ) | \ + MBEDTLS_SSL_EXT_MASK( COOKIE ) | \ + MBEDTLS_SSL_EXT_MASK( SUPPORTED_VERSIONS ) | \ + MBEDTLS_SSL_EXT_MASK( CERT_AUTH ) | \ + MBEDTLS_SSL_EXT_MASK( POST_HANDSHAKE_AUTH ) | \ + MBEDTLS_SSL_EXT_MASK( SIG_ALG_CERT ) | \ + MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED ) + +/* RFC 8446 section 4.2. Allowed extensions for EncryptedExtensions */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_EE \ + ( MBEDTLS_SSL_EXT_MASK( SERVERNAME ) | \ + MBEDTLS_SSL_EXT_MASK( MAX_FRAGMENT_LENGTH ) | \ + MBEDTLS_SSL_EXT_MASK( SUPPORTED_GROUPS ) | \ + MBEDTLS_SSL_EXT_MASK( USE_SRTP ) | \ + MBEDTLS_SSL_EXT_MASK( HEARTBEAT ) | \ + MBEDTLS_SSL_EXT_MASK( ALPN ) | \ + MBEDTLS_SSL_EXT_MASK( CLI_CERT_TYPE ) | \ + MBEDTLS_SSL_EXT_MASK( SERV_CERT_TYPE ) | \ + MBEDTLS_SSL_EXT_MASK( EARLY_DATA ) ) + +/* RFC 8446 section 4.2. Allowed extensions for CertificateRequest */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CR \ + ( MBEDTLS_SSL_EXT_MASK( STATUS_REQUEST ) | \ + MBEDTLS_SSL_EXT_MASK( SIG_ALG ) | \ + MBEDTLS_SSL_EXT_MASK( SCT ) | \ + MBEDTLS_SSL_EXT_MASK( CERT_AUTH ) | \ + MBEDTLS_SSL_EXT_MASK( OID_FILTERS ) | \ + MBEDTLS_SSL_EXT_MASK( SIG_ALG_CERT ) | \ + MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED ) + +/* RFC 8446 section 4.2. Allowed extensions for Certificate */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CT \ + ( MBEDTLS_SSL_EXT_MASK( STATUS_REQUEST ) | \ + MBEDTLS_SSL_EXT_MASK( SCT ) ) + +/* RFC 8446 section 4.2. Allowed extensions for ServerHello */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_SH \ + ( MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) | \ + MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | \ + MBEDTLS_SSL_EXT_MASK( SUPPORTED_VERSIONS ) ) + +/* RFC 8446 section 4.2. Allowed extensions for HelloRetryRequest */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_HRR \ + ( MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) | \ + MBEDTLS_SSL_EXT_MASK( COOKIE ) | \ + MBEDTLS_SSL_EXT_MASK( SUPPORTED_VERSIONS ) ) + +/* RFC 8446 section 4.2. Allowed extensions for NewSessionTicket */ +#define MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_NST \ + ( MBEDTLS_SSL_EXT_MASK( EARLY_DATA ) | \ + MBEDTLS_SSL_TLS1_3_EXT_MASK_UNRECOGNIZED ) /* * Helper macros for function call with return check. @@ -183,9 +294,9 @@ #if defined(MBEDTLS_SSL_SOME_SUITES_USE_MAC) /* Ciphersuites using HMAC */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #define MBEDTLS_SSL_MAC_ADD 48 /* SHA-384 used for HMAC */ -#elif defined(MBEDTLS_SHA256_C) +#elif defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #define MBEDTLS_SSL_MAC_ADD 32 /* SHA-256 used for HMAC */ #else #define MBEDTLS_SSL_MAC_ADD 20 /* SHA-1 used for HMAC */ @@ -243,7 +354,7 @@ #define MBEDTLS_RECEIVED_SIG_ALGS_SIZE 20 -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define MBEDTLS_TLS_SIG_NONE MBEDTLS_TLS1_3_SIG_NONE @@ -253,7 +364,7 @@ #define MBEDTLS_SSL_TLS12_HASH_ALG_FROM_SIG_AND_HASH_ALG(alg) (alg >> 8) #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* * Check that we obey the standard's message size bounds @@ -598,8 +709,6 @@ struct mbedtls_ssl_handshake_params size_t ecrs_n; /*!< place for saving a length */ #endif - size_t pmslen; /*!< premaster length */ - mbedtls_ssl_ciphersuite_t const *ciphersuite_info; void (*update_checksum)(mbedtls_ssl_context *, const unsigned char *, size_t); @@ -611,17 +720,25 @@ struct mbedtls_ssl_handshake_params * Handshake specific crypto variables */ #if defined(MBEDTLS_SSL_PROTO_TLS1_3) - int tls13_kex_modes; /*!< key exchange modes for TLS 1.3 */ + uint8_t key_exchange_mode; /*!< Selected key exchange mode */ /** Number of HelloRetryRequest messages received/sent from/to the server. */ int hello_retry_request_count; + #if defined(MBEDTLS_SSL_SRV_C) /** selected_group of key_share extension in HelloRetryRequest message. */ uint16_t hrr_selected_group; +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + uint8_t tls13_kex_modes; /*!< Key exchange modes supported by the client */ +#endif +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + uint16_t new_session_tickets_count; /*!< number of session tickets */ +#endif #endif /* MBEDTLS_SSL_SRV_C */ + #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) uint16_t received_sig_algs[MBEDTLS_RECEIVED_SIG_ALGS_SIZE]; #endif @@ -655,7 +772,13 @@ struct mbedtls_ssl_handshake_params #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C */ #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_pake_operation_t psa_pake_ctx; /*!< EC J-PAKE key exchange */ + mbedtls_svc_key_id_t psa_pake_password; + uint8_t psa_pake_ctx_is_ok; +#else mbedtls_ecjpake_context ecjpake_ctx; /*!< EC J-PAKE key exchange */ +#endif /* MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_SSL_CLI_C) unsigned char *ecjpake_cache; /*!< Cache for ClientHello ext */ size_t ecjpake_cache_len; /*!< Length of cached data */ @@ -667,7 +790,7 @@ struct mbedtls_ssl_handshake_params const mbedtls_ecp_curve_info **curves; /*!< Supported elliptic curves */ #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t psk_opaque; /*!< Opaque PSK from the callback */ uint8_t psk_opaque_is_internal; @@ -675,7 +798,8 @@ struct mbedtls_ssl_handshake_params unsigned char *psk; /*!< PSK from the callback */ size_t psk_len; /*!< Length of PSK from callback */ #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ + uint16_t selected_identity; +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_SSL_ECP_RESTARTABLE_ENABLED) mbedtls_x509_crt_restart_ctx ecrs_ctx; /*!< restart context */ @@ -766,28 +890,21 @@ struct mbedtls_ssl_handshake_params uint16_t mtu; /*!< Handshake mtu, used to fragment outgoing messages */ #endif /* MBEDTLS_SSL_PROTO_DTLS */ -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) - /*! TLS 1.3 transforms for 0-RTT and encrypted handshake messages. - * Those pointers own the transforms they reference. */ - mbedtls_ssl_transform *transform_handshake; - mbedtls_ssl_transform *transform_earlydata; -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ - /* * Checksum contexts */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_operation_t fin_sha256_psa; #else mbedtls_sha256_context fin_sha256; #endif #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_operation_t fin_sha384_psa; #else - mbedtls_sha512_context fin_sha512; + mbedtls_sha512_context fin_sha384; #endif #endif @@ -842,19 +959,23 @@ struct mbedtls_ssl_handshake_params unsigned char randbytes[MBEDTLS_CLIENT_HELLO_RANDOM_LEN + MBEDTLS_SERVER_HELLO_RANDOM_LEN]; /*!< random bytes */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) unsigned char premaster[MBEDTLS_PREMASTER_SIZE]; /*!< premaster secret */ + size_t pmslen; /*!< premaster length */ +#endif #if defined(MBEDTLS_SSL_PROTO_TLS1_3) - int extensions_present; /*!< extension presence; Each bitfield - represents an extension and defined - as \c MBEDTLS_SSL_EXT_XXX */ + uint32_t sent_extensions; /*!< extensions sent by endpoint */ + uint32_t received_extensions; /*!< extensions received by endpoint */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) unsigned char certificate_request_context_len; unsigned char *certificate_request_context; #endif + /** TLS 1.3 transform for encrypted handshake messages. */ + mbedtls_ssl_transform *transform_handshake; union { unsigned char early [MBEDTLS_TLS1_3_MD_MAX_SIZE]; @@ -863,6 +984,11 @@ struct mbedtls_ssl_handshake_params } tls13_master_secrets; mbedtls_ssl_tls13_handshake_secrets tls13_hs_secrets; +#if defined(MBEDTLS_SSL_EARLY_DATA) + mbedtls_ssl_tls13_early_secrets tls13_early_secrets; + /** TLS 1.3 transform for early data and handshake messages. */ + mbedtls_ssl_transform *transform_earlydata; +#endif #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) @@ -1009,7 +1135,7 @@ struct mbedtls_ssl_transform #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) uint8_t in_cid_len; uint8_t out_cid_len; - unsigned char in_cid [ MBEDTLS_SSL_CID_OUT_LEN_MAX ]; + unsigned char in_cid [ MBEDTLS_SSL_CID_IN_LEN_MAX ]; unsigned char out_cid[ MBEDTLS_SSL_CID_OUT_LEN_MAX ]; #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ @@ -1344,17 +1470,23 @@ void mbedtls_ssl_add_hs_msg_to_checksum( mbedtls_ssl_context *ssl, unsigned char const *msg, size_t msg_len ); +void mbedtls_ssl_add_hs_hdr_to_checksum( mbedtls_ssl_context *ssl, + unsigned hs_type, + size_t total_hs_len ); + #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) #if !defined(MBEDTLS_USE_PSA_CRYPTO) MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_psk_derive_premaster( mbedtls_ssl_context *ssl, mbedtls_key_exchange_type_t key_ex ); #endif /* !MBEDTLS_USE_PSA_CRYPTO */ -#if defined(MBEDTLS_SSL_CLI_C) && defined(MBEDTLS_SSL_PROTO_TLS1_2) +#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) +#if defined(MBEDTLS_SSL_CLI_C) MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_conf_has_static_psk( mbedtls_ssl_config const *conf ); #endif - #if defined(MBEDTLS_USE_PSA_CRYPTO) /** * Get the first defined opaque PSK by order of precedence: @@ -1407,7 +1539,7 @@ static inline int mbedtls_ssl_get_psk( const mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_PK_C) unsigned char mbedtls_ssl_sig_from_pk( mbedtls_pk_context *pk ); @@ -1769,6 +1901,8 @@ static inline int mbedtls_ssl_conf_tls13_some_psk_enabled( mbedtls_ssl_context * MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL ) ); } +#if defined(MBEDTLS_SSL_SRV_C) && \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) /** * Given a list of key exchange modes, check if at least one of them is * supported. @@ -1815,6 +1949,49 @@ static inline int mbedtls_ssl_tls13_some_psk_enabled( mbedtls_ssl_context *ssl ) return( ! mbedtls_ssl_tls13_check_kex_modes( ssl, MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL ) ); } +#endif /* MBEDTLS_SSL_SRV_C && + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + +/* + * Helper functions for extensions checking. + */ + +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_check_received_extension( + mbedtls_ssl_context *ssl, + int hs_msg_type, + unsigned int received_extension_type, + uint32_t hs_msg_allowed_extensions_mask ); + +static inline void mbedtls_ssl_tls13_set_hs_sent_ext_mask( + mbedtls_ssl_context *ssl, unsigned int extension_type ) +{ + ssl->handshake->sent_extensions |= + mbedtls_ssl_get_extension_mask( extension_type ); +} + +/* + * Helper functions to check the selected key exchange mode. + */ +static inline int mbedtls_ssl_tls13_key_exchange_mode_check( + mbedtls_ssl_context *ssl, int kex_mask ) +{ + return( ( ssl->handshake->key_exchange_mode & kex_mask ) != 0 ); +} + +static inline int mbedtls_ssl_tls13_key_exchange_mode_with_psk( + mbedtls_ssl_context *ssl ) +{ + return( mbedtls_ssl_tls13_key_exchange_mode_check( ssl, + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL ) ); +} + +static inline int mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral( + mbedtls_ssl_context *ssl ) +{ + return( mbedtls_ssl_tls13_key_exchange_mode_check( ssl, + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ALL ) ); +} /* * Fetch TLS 1.3 handshake message header @@ -1831,7 +2008,7 @@ int mbedtls_ssl_tls13_fetch_handshake_msg( mbedtls_ssl_context *ssl, MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_tls13_process_certificate( mbedtls_ssl_context *ssl ); -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) /* * Handler of TLS 1.3 write Certificate message */ @@ -1844,7 +2021,7 @@ int mbedtls_ssl_tls13_write_certificate( mbedtls_ssl_context *ssl ); MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_tls13_write_certificate_verify( mbedtls_ssl_context *ssl ); -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * Generic handler of Certificate Verify @@ -1871,10 +2048,16 @@ int mbedtls_ssl_tls13_generate_and_write_ecdh_key_exchange( size_t *out_len ); #endif /* MBEDTLS_ECDH_C */ +#if defined(MBEDTLS_SSL_EARLY_DATA) +int mbedtls_ssl_tls13_write_early_data_ext( mbedtls_ssl_context *ssl, + unsigned char *buf, + const unsigned char *end, + size_t *out_len ); +#endif /* MBEDTLS_SSL_EARLY_DATA */ #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * Parse TLS Signature Algorithm extension */ @@ -1882,7 +2065,7 @@ MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_parse_sig_alg_ext( mbedtls_ssl_context *ssl, const unsigned char *buf, const unsigned char *end ); -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* Get handshake transcript */ MBEDTLS_CHECK_RETURN_CRITICAL @@ -2002,7 +2185,7 @@ static inline int mbedtls_ssl_named_group_is_supported( uint16_t named_group ) static inline const void *mbedtls_ssl_get_sig_algs( const mbedtls_ssl_context *ssl ) { -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) if( ssl->handshake != NULL && @@ -2014,17 +2197,14 @@ static inline const void *mbedtls_ssl_get_sig_algs( #endif return( ssl->conf->sig_algs ); -#else /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#else /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ ((void) ssl); return( NULL ); -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ } - -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) - -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) static inline int mbedtls_ssl_sig_alg_is_received( const mbedtls_ssl_context *ssl, uint16_t own_sig_alg ) { @@ -2039,94 +2219,40 @@ static inline int mbedtls_ssl_sig_alg_is_received( const mbedtls_ssl_context *ss } return( 0 ); } -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ - -static inline int mbedtls_ssl_sig_alg_is_offered( const mbedtls_ssl_context *ssl, - uint16_t proposed_sig_alg ) -{ - const uint16_t *sig_alg = mbedtls_ssl_get_sig_algs( ssl ); - if( sig_alg == NULL ) - return( 0 ); - - for( ; *sig_alg != MBEDTLS_TLS_SIG_NONE; sig_alg++ ) - { - if( *sig_alg == proposed_sig_alg ) - return( 1 ); - } - return( 0 ); -} - -static inline int mbedtls_ssl_tls13_get_pk_type_and_md_alg_from_sig_alg( - uint16_t sig_alg, mbedtls_pk_type_t *pk_type, mbedtls_md_type_t *md_alg ) -{ - *pk_type = mbedtls_ssl_pk_alg_from_sig( sig_alg & 0xff ); - *md_alg = mbedtls_ssl_md_alg_from_hash( ( sig_alg >> 8 ) & 0xff ); - if( *pk_type != MBEDTLS_PK_NONE && *md_alg != MBEDTLS_MD_NONE ) - return( 0 ); - - switch( sig_alg ) - { -#if defined(MBEDTLS_PKCS1_V21) -#if defined(MBEDTLS_SHA256_C) - case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: - *md_alg = MBEDTLS_MD_SHA256; - *pk_type = MBEDTLS_PK_RSASSA_PSS; - break; -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) - case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: - *md_alg = MBEDTLS_MD_SHA384; - *pk_type = MBEDTLS_PK_RSASSA_PSS; - break; -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) - case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512: - *md_alg = MBEDTLS_MD_SHA512; - *pk_type = MBEDTLS_PK_RSASSA_PSS; - break; -#endif /* MBEDTLS_SHA512_C */ -#endif /* MBEDTLS_PKCS1_V21 */ - default: - return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); - } - return( 0 ); -} - -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) static inline int mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported( const uint16_t sig_alg ) { switch( sig_alg ) { #if defined(MBEDTLS_ECDSA_C) -#if defined(MBEDTLS_SHA256_C) && defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) +#if defined(PSA_WANT_ALG_SHA_256) && defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) case MBEDTLS_TLS1_3_SIG_ECDSA_SECP256R1_SHA256: break; -#endif /* MBEDTLS_SHA256_C && MBEDTLS_ECP_DP_SECP256R1_ENABLED */ -#if defined(MBEDTLS_SHA384_C) && defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) +#endif /* PSA_WANT_ALG_SHA_256 && MBEDTLS_ECP_DP_SECP256R1_ENABLED */ +#if defined(PSA_WANT_ALG_SHA_384) && defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) case MBEDTLS_TLS1_3_SIG_ECDSA_SECP384R1_SHA384: break; -#endif /* MBEDTLS_SHA384_C && MBEDTLS_ECP_DP_SECP384R1_ENABLED */ -#if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) +#endif /* PSA_WANT_ALG_SHA_384 && MBEDTLS_ECP_DP_SECP384R1_ENABLED */ +#if defined(PSA_WANT_ALG_SHA_512) && defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) case MBEDTLS_TLS1_3_SIG_ECDSA_SECP521R1_SHA512: break; -#endif /* MBEDTLS_SHA512_C && MBEDTLS_ECP_DP_SECP521R1_ENABLED */ +#endif /* PSA_WANT_ALG_SHA_512 && MBEDTLS_ECP_DP_SECP521R1_ENABLED */ #endif /* MBEDTLS_ECDSA_C */ #if defined(MBEDTLS_PKCS1_V21) -#if defined(MBEDTLS_SHA256_C) +#if defined(PSA_WANT_ALG_SHA_256) case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: break; -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* PSA_WANT_ALG_SHA_256 */ +#if defined(PSA_WANT_ALG_SHA_384) case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: break; -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif /* PSA_WANT_ALG_SHA_384 */ +#if defined(PSA_WANT_ALG_SHA_512) case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512: break; -#endif /* MBEDTLS_SHA512_C */ +#endif /* PSA_WANT_ALG_SHA_512 */ #endif /* MBEDTLS_PKCS1_V21 */ default: return( 0 ); @@ -2141,18 +2267,18 @@ static inline int mbedtls_ssl_tls13_sig_alg_is_supported( switch( sig_alg ) { #if defined(MBEDTLS_PKCS1_V15) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA256: break; -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA384: break; -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA512_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA512: break; -#endif /* MBEDTLS_SHA512_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_PKCS1_V15 */ default: return( mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported( @@ -2161,7 +2287,63 @@ static inline int mbedtls_ssl_tls13_sig_alg_is_supported( return( 1 ); } -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_check_sig_alg_cert_key_match( uint16_t sig_alg, + mbedtls_pk_context *key ); +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) +static inline int mbedtls_ssl_sig_alg_is_offered( const mbedtls_ssl_context *ssl, + uint16_t proposed_sig_alg ) +{ + const uint16_t *sig_alg = mbedtls_ssl_get_sig_algs( ssl ); + if( sig_alg == NULL ) + return( 0 ); + + for( ; *sig_alg != MBEDTLS_TLS_SIG_NONE; sig_alg++ ) + { + if( *sig_alg == proposed_sig_alg ) + return( 1 ); + } + return( 0 ); +} + +static inline int mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg( + uint16_t sig_alg, mbedtls_pk_type_t *pk_type, mbedtls_md_type_t *md_alg ) +{ + *pk_type = mbedtls_ssl_pk_alg_from_sig( sig_alg & 0xff ); + *md_alg = mbedtls_ssl_md_alg_from_hash( ( sig_alg >> 8 ) & 0xff ); + + if( *pk_type != MBEDTLS_PK_NONE && *md_alg != MBEDTLS_MD_NONE ) + return( 0 ); + + switch( sig_alg ) + { +#if defined(MBEDTLS_PKCS1_V21) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: + *md_alg = MBEDTLS_MD_SHA256; + *pk_type = MBEDTLS_PK_RSASSA_PSS; + break; +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: + *md_alg = MBEDTLS_MD_SHA384; + *pk_type = MBEDTLS_PK_RSASSA_PSS; + break; +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512: + *md_alg = MBEDTLS_MD_SHA512; + *pk_type = MBEDTLS_PK_RSASSA_PSS; + break; +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#endif /* MBEDTLS_PKCS1_V21 */ + default: + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); + } + return( 0 ); +} #if defined(MBEDTLS_SSL_PROTO_TLS1_2) static inline int mbedtls_ssl_tls12_sig_alg_is_supported( @@ -2173,32 +2355,32 @@ static inline int mbedtls_ssl_tls12_sig_alg_is_supported( switch( hash ) { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_MD5: break; #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA1: break; #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA224: break; #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA256: break; #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA384: break; #endif -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA512: break; #endif @@ -2239,26 +2421,17 @@ static inline int mbedtls_ssl_sig_alg_is_supported( } #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) { return( mbedtls_ssl_tls13_sig_alg_is_supported( sig_alg ) ); } -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ +#endif ((void) ssl); ((void) sig_alg); return( 0 ); } - -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) - -MBEDTLS_CHECK_RETURN_CRITICAL -int mbedtls_ssl_tls13_check_sig_alg_cert_key_match( uint16_t sig_alg, - mbedtls_pk_context *key ); - -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ - -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) /* Corresponding PSA algorithm for MBEDTLS_CIPHER_NULL. @@ -2322,6 +2495,52 @@ static inline int psa_ssl_status_to_mbedtls( psa_status_t status ) } #endif /* MBEDTLS_USE_PSA_CRYPTO || MBEDTLS_SSL_PROTO_TLS1_3 */ +#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ + defined(MBEDTLS_USE_PSA_CRYPTO) + +typedef enum { + MBEDTLS_ECJPAKE_ROUND_ONE, + MBEDTLS_ECJPAKE_ROUND_TWO +} mbedtls_ecjpake_rounds_t; + +/** + * \brief Parse the provided input buffer for getting the first round + * of key exchange. This code is common between server and client + * + * \param pake_ctx [in] the PAKE's operation/context structure + * \param buf [in] input buffer to parse + * \param len [in] length of the input buffer + * \param round [in] either MBEDTLS_ECJPAKE_ROUND_ONE or + * MBEDTLS_ECJPAKE_ROUND_TWO + * + * \return 0 on success or a negative error code in case of failure + */ +int mbedtls_psa_ecjpake_read_round( + psa_pake_operation_t *pake_ctx, + const unsigned char *buf, + size_t len, mbedtls_ecjpake_rounds_t round ); + +/** + * \brief Write the first round of key exchange into the provided output + * buffer. This code is common between server and client + * + * \param pake_ctx [in] the PAKE's operation/context structure + * \param buf [out] the output buffer in which data will be written to + * \param len [in] length of the output buffer + * \param olen [out] the length of the data really written on the buffer + * \param round [in] either MBEDTLS_ECJPAKE_ROUND_ONE or + * MBEDTLS_ECJPAKE_ROUND_TWO + * + * \return 0 on success or a negative error code in case of failure + */ +int mbedtls_psa_ecjpake_write_round( + psa_pake_operation_t *pake_ctx, + unsigned char *buf, + size_t len, size_t *olen, + mbedtls_ecjpake_rounds_t round ); + +#endif //MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED && MBEDTLS_USE_PSA_CRYPTO + /** * \brief TLS record protection modes */ @@ -2419,4 +2638,48 @@ int mbedtls_ssl_check_dtls_clihlo_cookie( unsigned char *obuf, size_t buf_len, size_t *olen ); #endif +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +/** + * \brief Given an SSL context and its associated configuration, write the TLS + * 1.3 specific Pre-Shared key extension. + * + * \param[in] ssl SSL context + * \param[in] buf Base address of the buffer where to write the extension + * \param[in] end End address of the buffer where to write the extension + * \param[out] out_len Length in bytes of the Pre-Shared key extension: data + * written into the buffer \p buf by this function plus + * the length of the binders to be written. + * \param[out] binders_len Length of the binders to be written at the end of + * the extension. + */ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext( + mbedtls_ssl_context *ssl, + unsigned char *buf, unsigned char *end, + size_t *out_len, size_t *binders_len ); + +/** + * \brief Given an SSL context and its associated configuration, write the TLS + * 1.3 specific Pre-Shared key extension binders at the end of the + * ClientHello. + * + * \param[in] ssl SSL context + * \param[in] buf Base address of the buffer where to write the binders + * \param[in] end End address of the buffer where to write the binders + */ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext( + mbedtls_ssl_context *ssl, + unsigned char *buf, unsigned char *end ); +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ + defined(MBEDTLS_SSL_CLI_C) +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_session_set_hostname( mbedtls_ssl_session *session, + const char *hostname ); +#endif + #endif /* ssl_misc.h */ diff --git a/library/ssl_msg.c b/library/ssl_msg.c index fb0b709979..e4d50dbfda 100644 --- a/library/ssl_msg.c +++ b/library/ssl_msg.c @@ -26,13 +26,7 @@ #if defined(MBEDTLS_SSL_TLS_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ssl.h" #include "ssl_misc.h" @@ -388,29 +382,79 @@ static int ssl_parse_inner_plaintext( unsigned char const *content, } #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID || MBEDTLS_SSL_PROTO_TLS1_3 */ -/* `add_data` must have size 13 Bytes if the CID extension is disabled, - * and 13 + 1 + CID-length Bytes if the CID extension is enabled. */ +/* The size of the `add_data` structure depends on various + * factors, namely + * + * 1) CID functionality disabled + * + * additional_data = + * 8: seq_num + + * 1: type + + * 2: version + + * 2: length of inner plaintext + + * + * size = 13 bytes + * + * 2) CID functionality based on RFC 9146 enabled + * + * size = 8 + 1 + 1 + 1 + 2 + 2 + 6 + 2 + CID-length + * = 23 + CID-length + * + * 3) CID functionality based on legacy CID version + according to draft-ietf-tls-dtls-connection-id-05 + * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05 + * + * size = 13 + 1 + CID-length + * + * More information about the CID usage: + * + * Per Section 5.3 of draft-ietf-tls-dtls-connection-id-05 the + * size of the additional data structure is calculated as: + * + * additional_data = + * 8: seq_num + + * 1: tls12_cid + + * 2: DTLSCipherText.version + + * n: cid + + * 1: cid_length + + * 2: length_of_DTLSInnerPlaintext + * + * Per RFC 9146 the size of the add_data structure is calculated as: + * + * additional_data = + * 8: seq_num_placeholder + + * 1: tls12_cid + + * 1: cid_length + + * 1: tls12_cid + + * 2: DTLSCiphertext.version + + * 2: epoch + + * 6: sequence_number + + * n: cid + + * 2: length_of_DTLSInnerPlaintext + * + */ static void ssl_extract_add_data_from_record( unsigned char* add_data, size_t *add_data_len, mbedtls_record *rec, mbedtls_ssl_protocol_version - tls_version, + tls_version, size_t taglen ) { - /* Quoting RFC 5246 (TLS 1.2): + /* Several types of ciphers have been defined for use with TLS and DTLS, + * and the MAC calculations for those ciphers differ slightly. Further + * variants were added when the CID functionality was added with RFC 9146. + * This implementations also considers the use of a legacy version of the + * CID specification published in draft-ietf-tls-dtls-connection-id-05, + * which is used in deployments. * - * additional_data = seq_num + TLSCompressed.type + - * TLSCompressed.version + TLSCompressed.length; + * We will distinguish between the non-CID and the CID cases below. * - * For the CID extension, this is extended as follows - * (quoting draft-ietf-tls-dtls-connection-id-05, - * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05): + * --- Non-CID cases --- * - * additional_data = seq_num + DTLSPlaintext.type + - * DTLSPlaintext.version + - * cid + - * cid_length + - * length_of_DTLSInnerPlaintext; + * Quoting RFC 5246 (TLS 1.2): + * + * additional_data = seq_num + TLSCompressed.type + + * TLSCompressed.version + TLSCompressed.length; * * For TLS 1.3, the record sequence number is dropped from the AAD * and encoded within the nonce of the AEAD operation instead. @@ -427,11 +471,72 @@ static void ssl_extract_add_data_from_record( unsigned char* add_data, * * TLSCiphertext.length = TLSInnerPlaintext.length + taglen. * - */ + * --- CID cases --- + * + * RFC 9146 uses a common pattern when constructing the data + * passed into a MAC / AEAD cipher. + * + * Data concatenation for MACs used with block ciphers with + * Encrypt-then-MAC Processing (with CID): + * + * data = seq_num_placeholder + + * tls12_cid + + * cid_length + + * tls12_cid + + * DTLSCiphertext.version + + * epoch + + * sequence_number + + * cid + + * DTLSCiphertext.length + + * IV + + * ENC(content + padding + padding_length) + * + * Data concatenation for MACs used with block ciphers (with CID): + * + * data = seq_num_placeholder + + * tls12_cid + + * cid_length + + * tls12_cid + + * DTLSCiphertext.version + + * epoch + + * sequence_number + + * cid + + * length_of_DTLSInnerPlaintext + + * DTLSInnerPlaintext.content + + * DTLSInnerPlaintext.real_type + + * DTLSInnerPlaintext.zeros + * + * AEAD ciphers use the following additional data calculation (with CIDs): + * + * additional_data = seq_num_placeholder + + * tls12_cid + + * cid_length + + * tls12_cid + + * DTLSCiphertext.version + + * epoch + + * sequence_number + + * cid + + * length_of_DTLSInnerPlaintext + * + * Section 5.3 of draft-ietf-tls-dtls-connection-id-05 (for legacy CID use) + * defines the additional data calculation as follows: + * + * additional_data = seq_num + + * tls12_cid + + * DTLSCipherText.version + + * cid + + * cid_length + + * length_of_DTLSInnerPlaintext + */ unsigned char *cur = add_data; size_t ad_len_field = rec->data_len; +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ + MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT == 0 + const unsigned char seq_num_placeholder[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; +#endif + #if defined(MBEDTLS_SSL_PROTO_TLS1_3) if( tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) { @@ -445,25 +550,72 @@ static void ssl_extract_add_data_from_record( unsigned char* add_data, { ((void) tls_version); ((void) taglen); - memcpy( cur, rec->ctr, sizeof( rec->ctr ) ); - cur += sizeof( rec->ctr ); + +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ + MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT == 0 + if( rec->cid_len != 0 ) + { + // seq_num_placeholder + memcpy( cur, seq_num_placeholder, sizeof(seq_num_placeholder) ); + cur += sizeof( seq_num_placeholder ); + + // tls12_cid type + *cur = rec->type; + cur++; + + // cid_length + *cur = rec->cid_len; + cur++; + } + else +#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ + { + // epoch + sequence number + memcpy( cur, rec->ctr, sizeof( rec->ctr ) ); + cur += sizeof( rec->ctr ); + } } + // type *cur = rec->type; cur++; + // version memcpy( cur, rec->ver, sizeof( rec->ver ) ); cur += sizeof( rec->ver ); -#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) - if( rec->cid_len != 0 ) +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ + MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT == 1 + + if (rec->cid_len != 0) { - memcpy( cur, rec->cid, rec->cid_len ); + // CID + memcpy(cur, rec->cid, rec->cid_len); cur += rec->cid_len; + // cid_length *cur = rec->cid_len; cur++; + // length of inner plaintext + MBEDTLS_PUT_UINT16_BE(ad_len_field, cur, 0); + cur += 2; + } + else +#elif defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \ + MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT == 0 + + if( rec->cid_len != 0 ) + { + // epoch + sequence number + memcpy(cur, rec->ctr, sizeof(rec->ctr)); + cur += sizeof(rec->ctr); + + // CID + memcpy( cur, rec->cid, rec->cid_len ); + cur += rec->cid_len; + + // length of inner plaintext MBEDTLS_PUT_UINT16_BE( ad_len_field, cur, 0 ); cur += 2; } @@ -538,7 +690,14 @@ int mbedtls_ssl_encrypt_buf( mbedtls_ssl_context *ssl, mbedtls_ssl_mode_t ssl_mode; int auth_done = 0; unsigned char * data; - unsigned char add_data[13 + 1 + MBEDTLS_SSL_CID_OUT_LEN_MAX ]; + /* For an explanation of the additional data length see + * the description of ssl_extract_add_data_from_record(). + */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) + unsigned char add_data[23 + MBEDTLS_SSL_CID_OUT_LEN_MAX]; +#else + unsigned char add_data[13]; +#endif size_t add_data_len; size_t post_avail; @@ -1021,13 +1180,7 @@ int mbedtls_ssl_encrypt_buf( mbedtls_ssl_context *ssl, size_t sign_mac_length = 0; #endif /* MBEDTLS_USE_PSA_CRYPTO */ - /* - * MAC(MAC_write_key, seq_num + - * TLSCipherText.type + - * TLSCipherText.version + - * length_of( (IV +) ENC(...) ) + - * IV + - * ENC(content + padding + padding_length)); + /* MAC(MAC_write_key, add_data, IV, ENC(content + padding + padding_length)) */ if( post_avail < transform->maclen) @@ -1124,7 +1277,9 @@ int mbedtls_ssl_decrypt_buf( mbedtls_ssl_context const *ssl, mbedtls_ssl_transform *transform, mbedtls_record *rec ) { +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC) || defined(MBEDTLS_CIPHER_MODE_AEAD) size_t olen; +#endif /* MBEDTLS_SSL_SOME_SUITES_USE_CBC || MBEDTLS_CIPHER_MODE_AEAD */ mbedtls_ssl_mode_t ssl_mode; int ret; @@ -1133,7 +1288,14 @@ int mbedtls_ssl_decrypt_buf( mbedtls_ssl_context const *ssl, size_t padlen = 0, correct = 1; #endif unsigned char* data; - unsigned char add_data[13 + 1 + MBEDTLS_SSL_CID_IN_LEN_MAX ]; + /* For an explanation of the additional data length see + * the description of ssl_extract_add_data_from_record(). + */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) + unsigned char add_data[23 + MBEDTLS_SSL_CID_IN_LEN_MAX]; +#else + unsigned char add_data[13]; +#endif size_t add_data_len; #if !defined(MBEDTLS_DEBUG_C) @@ -1669,15 +1831,15 @@ int mbedtls_ssl_decrypt_buf( mbedtls_ssl_context const *ssl, #if defined(MBEDTLS_SSL_PROTO_TLS1_2) /* - * The next two sizes are the minimum and maximum values of - * data_len over all padlen values. - * - * They're independent of padlen, since we previously did - * data_len -= padlen. - * - * Note that max_len + maclen is never more than the buffer - * length, as we previously did in_msglen -= maclen too. - */ + * The next two sizes are the minimum and maximum values of + * data_len over all padlen values. + * + * They're independent of padlen, since we previously did + * data_len -= padlen. + * + * Note that max_len + maclen is never more than the buffer + * length, as we previously did in_msglen -= maclen too. + */ const size_t max_len = rec->data_len + padlen; const size_t min_len = ( max_len > 256 ) ? max_len - 256 : 0; @@ -1801,8 +1963,7 @@ int mbedtls_ssl_fetch_input( mbedtls_ssl_context *ssl, size_t nb_want ) if( ssl->f_recv == NULL && ssl->f_recv_timeout == NULL ) { - MBEDTLS_SSL_DEBUG_MSG( 1, ( "Bad usage of mbedtls_ssl_set_bio() " - "or mbedtls_ssl_set_bio()" ) ); + MBEDTLS_SSL_DEBUG_MSG( 1, ( "Bad usage of mbedtls_ssl_set_bio() " ) ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } @@ -1912,7 +2073,7 @@ int mbedtls_ssl_fetch_input( mbedtls_ssl_context *ssl, size_t nb_want ) MBEDTLS_SSL_DEBUG_MSG( 2, ( "timeout" ) ); mbedtls_ssl_set_timer( ssl, 0 ); - if( mbedtls_ssl_is_handshake_over( ssl ) == 0 ) + if( ssl->state != MBEDTLS_SSL_HANDSHAKE_OVER ) { if( ssl_double_retransmit_timeout( ssl ) != 0 ) { @@ -2017,8 +2178,7 @@ int mbedtls_ssl_flush_output( mbedtls_ssl_context *ssl ) if( ssl->f_send == NULL ) { - MBEDTLS_SSL_DEBUG_MSG( 1, ( "Bad usage of mbedtls_ssl_set_bio() " - "or mbedtls_ssl_set_bio()" ) ); + MBEDTLS_SSL_DEBUG_MSG( 1, ( "Bad usage of mbedtls_ssl_set_bio() " ) ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } @@ -3487,7 +3647,7 @@ static int ssl_parse_record_header( mbedtls_ssl_context const *ssl, { /* Shift pointers to account for record header including CID * struct { - * ContentType special_type = tls12_cid; + * ContentType outer_type = tls12_cid; * ProtocolVersion version; * uint16 epoch; * uint48 sequence_number; @@ -3851,8 +4011,8 @@ int mbedtls_ssl_read_record( mbedtls_ssl_context *ssl, if( ssl_record_is_in_progress( ssl ) == 0 ) { + int dtls_have_buffered = 0; #if defined(MBEDTLS_SSL_PROTO_DTLS) - int have_buffered = 0; /* We only check for buffered messages if the * current datagram is fully consumed. */ @@ -3860,11 +4020,11 @@ int mbedtls_ssl_read_record( mbedtls_ssl_context *ssl, ssl_next_record_is_in_datagram( ssl ) == 0 ) { if( ssl_load_buffered_message( ssl ) == 0 ) - have_buffered = 1; + dtls_have_buffered = 1; } - if( have_buffered == 0 ) #endif /* MBEDTLS_SSL_PROTO_DTLS */ + if( dtls_have_buffered == 0 ) { ret = ssl_get_next_record( ssl ); if( ret == MBEDTLS_ERR_SSL_CONTINUE_PROCESSING ) @@ -3938,7 +4098,7 @@ static int ssl_load_buffered_message( mbedtls_ssl_context *ssl ) if( hs == NULL ) return( -1 ); - MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> ssl_load_buffered_messsage" ) ); + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> ssl_load_buffered_message" ) ); if( ssl->state == MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC || ssl->state == MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC ) @@ -5288,6 +5448,50 @@ static int ssl_check_ctr_renegotiate( mbedtls_ssl_context *ssl ) } #endif /* MBEDTLS_SSL_RENEGOTIATION */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_check_new_session_ticket( mbedtls_ssl_context *ssl ) +{ + + if( ( ssl->in_hslen == mbedtls_ssl_hs_hdr_len( ssl ) ) || + ( ssl->in_msg[0] != MBEDTLS_SSL_HS_NEW_SESSION_TICKET ) ) + { + return( 0 ); + } + + ssl->keep_current_message = 1; + + MBEDTLS_SSL_DEBUG_MSG( 3, ( "NewSessionTicket received" ) ); + mbedtls_ssl_handshake_set_state( ssl, + MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET ); + + return( MBEDTLS_ERR_SSL_WANT_READ ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_handle_hs_message_post_handshake( mbedtls_ssl_context *ssl ) +{ + + MBEDTLS_SSL_DEBUG_MSG( 3, ( "received post-handshake message" ) ); + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) + if( ssl->conf->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { + int ret = ssl_tls13_check_new_session_ticket( ssl ); + if( ret != 0 ) + return( ret ); + } +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ + + /* Fail in all other cases. */ + return( MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE ); +} +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) /* This function is called from mbedtls_ssl_read() when a handshake message is * received after the initial handshake. In this context, handshake messages * may only be sent for the purpose of initiating renegotiations. @@ -5298,7 +5502,7 @@ static int ssl_check_ctr_renegotiate( mbedtls_ssl_context *ssl ) * TLS 1.3 in the future without bloating the logic of mbedtls_ssl_read(). */ MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_handle_hs_message_post_handshake( mbedtls_ssl_context *ssl ) +static int ssl_tls12_handle_hs_message_post_handshake( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; @@ -5380,18 +5584,39 @@ static int ssl_handle_hs_message_post_handshake( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_MSG( 3, ( "refusing renegotiation, sending alert" ) ); -#if defined(MBEDTLS_SSL_PROTO_TLS1_2) if( ( ret = mbedtls_ssl_send_alert_message( ssl, MBEDTLS_SSL_ALERT_LEVEL_WARNING, MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION ) ) != 0 ) { return( ret ); } -#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ } return( 0 ); } +#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_handle_hs_message_post_handshake( mbedtls_ssl_context *ssl ) +{ + /* Check protocol version and dispatch accordingly. */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) + { + return( ssl_tls13_handle_hs_message_post_handshake( ssl ) ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + if( ssl->tls_version <= MBEDTLS_SSL_VERSION_TLS1_2 ) + { + return( ssl_tls12_handle_hs_message_post_handshake( ssl ) ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ + + /* Should never happen */ + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); +} /* * Receive application data decrypted from the SSL layer @@ -5443,7 +5668,7 @@ int mbedtls_ssl_read( mbedtls_ssl_context *ssl, unsigned char *buf, size_t len ) } #endif - if( mbedtls_ssl_is_handshake_over( ssl ) == 0 ) + if( ssl->state != MBEDTLS_SSL_HANDSHAKE_OVER ) { ret = mbedtls_ssl_handshake( ssl ); if( ret != MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO && @@ -5699,7 +5924,7 @@ int mbedtls_ssl_write( mbedtls_ssl_context *ssl, const unsigned char *buf, size_ } #endif - if( mbedtls_ssl_is_handshake_over( ssl ) == 0 ) + if( ssl->state != MBEDTLS_SSL_HANDSHAKE_OVER ) { if( ( ret = mbedtls_ssl_handshake( ssl ) ) != 0 ) { diff --git a/library/ssl_ticket.c b/library/ssl_ticket.c index 28c4d3e553..e39563bc4f 100644 --- a/library/ssl_ticket.c +++ b/library/ssl_ticket.c @@ -21,13 +21,7 @@ #if defined(MBEDTLS_SSL_TICKET_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "ssl_misc.h" #include "mbedtls/ssl_ticket.h" @@ -79,7 +73,7 @@ static int ssl_ticket_gen_key( mbedtls_ssl_ticket_context *ctx, #endif #if defined(MBEDTLS_HAVE_TIME) - key->generation_time = (uint32_t) mbedtls_time( NULL ); + key->generation_time = mbedtls_time( NULL ); #endif if( ( ret = ctx->f_rng( ctx->p_rng, key->name, sizeof( key->name ) ) ) != 0 ) @@ -122,15 +116,15 @@ static int ssl_ticket_update_keys( mbedtls_ssl_ticket_context *ctx ) #else if( ctx->ticket_lifetime != 0 ) { - uint32_t current_time = (uint32_t) mbedtls_time( NULL ); - uint32_t key_time = ctx->keys[ctx->active].generation_time; + mbedtls_time_t current_time = mbedtls_time( NULL ); + mbedtls_time_t key_time = ctx->keys[ctx->active].generation_time; #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; #endif if( current_time >= key_time && - current_time - key_time < ctx->ticket_lifetime ) + (uint64_t) ( current_time - key_time ) < ctx->ticket_lifetime ) { return( 0 ); } @@ -204,7 +198,7 @@ int mbedtls_ssl_ticket_rotate( mbedtls_ssl_ticket_context *ctx, ctx->ticket_lifetime = lifetime; memcpy( key->name, name, TICKET_KEY_NAME_BYTES ); #if defined(MBEDTLS_HAVE_TIME) - key->generation_time = (uint32_t) mbedtls_time( NULL ); + key->generation_time = mbedtls_time( NULL ); #endif return 0; } diff --git a/library/ssl_tls.c b/library/ssl_tls.c index e60b82fa5f..9bb9dc23cd 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c @@ -27,20 +27,13 @@ #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_printf printf -#endif /* !MBEDTLS_PLATFORM_C */ #include "mbedtls/ssl.h" #include "ssl_client.h" #include "ssl_debug_helpers.h" #include "ssl_misc.h" + #include "mbedtls/debug.h" #include "mbedtls/error.h" #include "mbedtls/platform_util.h" @@ -53,6 +46,7 @@ #include "mbedtls/psa_util.h" #include "psa/crypto.h" #endif +#include "mbedtls/legacy_or_psa.h" #if defined(MBEDTLS_X509_CRT_PARSE_C) #include "mbedtls/oid.h" @@ -241,10 +235,13 @@ int mbedtls_ssl_session_copy( mbedtls_ssl_session *dst, { mbedtls_ssl_session_free( dst ); memcpy( dst, src, sizeof( mbedtls_ssl_session ) ); - #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) dst->ticket = NULL; +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + dst->hostname = NULL; #endif +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ #if defined(MBEDTLS_X509_CRT_PARSE_C) @@ -293,6 +290,18 @@ int mbedtls_ssl_session_copy( mbedtls_ssl_session *dst, memcpy( dst->ticket, src->ticket, src->ticket_len ); } + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + if( src->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + ret = mbedtls_ssl_session_set_hostname( dst, src->hostname ); + if( ret != 0 ) + return ( ret ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && + MBEDTLS_SSL_SERVER_NAME_INDICATION */ #endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_CLI_C */ return( 0 ); @@ -418,7 +427,7 @@ static int ssl_tls12_populate_transform( mbedtls_ssl_transform *transform, unsigned endpoint, const mbedtls_ssl_context *ssl ); -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha256( const unsigned char *secret, size_t slen, const char *label, @@ -427,9 +436,9 @@ static int tls_prf_sha256( const unsigned char *secret, size_t slen, static void ssl_calc_verify_tls_sha256( const mbedtls_ssl_context *,unsigned char*, size_t * ); static void ssl_calc_finished_tls_sha256( mbedtls_ssl_context *,unsigned char *, int ); -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha384( const unsigned char *secret, size_t slen, const char *label, @@ -438,26 +447,27 @@ static int tls_prf_sha384( const unsigned char *secret, size_t slen, static void ssl_calc_verify_tls_sha384( const mbedtls_ssl_context *, unsigned char*, size_t * ); static void ssl_calc_finished_tls_sha384( mbedtls_ssl_context *, unsigned char *, int ); -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -static size_t ssl_session_save_tls12( const mbedtls_ssl_session *session, +static size_t ssl_tls12_session_save( const mbedtls_ssl_session *session, unsigned char *buf, size_t buf_len ); + MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_session_load_tls12( mbedtls_ssl_session *session, +static int ssl_tls12_session_load( mbedtls_ssl_session *session, const unsigned char *buf, size_t len ); #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ static void ssl_update_checksum_start( mbedtls_ssl_context *, const unsigned char *, size_t ); -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_update_checksum_sha256( mbedtls_ssl_context *, const unsigned char *, size_t ); -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_update_checksum_sha384( mbedtls_ssl_context *, const unsigned char *, size_t ); -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ int mbedtls_ssl_tls_prf( const mbedtls_tls_prf_types prf, const unsigned char *secret, size_t slen, @@ -470,16 +480,16 @@ int mbedtls_ssl_tls_prf( const mbedtls_tls_prf_types prf, switch( prf ) { #if defined(MBEDTLS_SSL_PROTO_TLS1_2) -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_TLS_PRF_SHA384: tls_prf = tls_prf_sha384; break; -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_TLS_PRF_SHA256: tls_prf = tls_prf_sha256; break; -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ default: return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); @@ -511,17 +521,256 @@ static void ssl_clear_peer_cert( mbedtls_ssl_session *session ) } #endif /* MBEDTLS_X509_CRT_PARSE_C */ +uint32_t mbedtls_ssl_get_extension_id( unsigned int extension_type ) +{ + switch( extension_type ) + { + case MBEDTLS_TLS_EXT_SERVERNAME: + return( MBEDTLS_SSL_EXT_ID_SERVERNAME ); + + case MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH: + return( MBEDTLS_SSL_EXT_ID_MAX_FRAGMENT_LENGTH ); + + case MBEDTLS_TLS_EXT_STATUS_REQUEST: + return( MBEDTLS_SSL_EXT_ID_STATUS_REQUEST ); + + case MBEDTLS_TLS_EXT_SUPPORTED_GROUPS: + return( MBEDTLS_SSL_EXT_ID_SUPPORTED_GROUPS ); + + case MBEDTLS_TLS_EXT_SIG_ALG: + return( MBEDTLS_SSL_EXT_ID_SIG_ALG ); + + case MBEDTLS_TLS_EXT_USE_SRTP: + return( MBEDTLS_SSL_EXT_ID_USE_SRTP ); + + case MBEDTLS_TLS_EXT_HEARTBEAT: + return( MBEDTLS_SSL_EXT_ID_HEARTBEAT ); + + case MBEDTLS_TLS_EXT_ALPN: + return( MBEDTLS_SSL_EXT_ID_ALPN ); + + case MBEDTLS_TLS_EXT_SCT: + return( MBEDTLS_SSL_EXT_ID_SCT ); + + case MBEDTLS_TLS_EXT_CLI_CERT_TYPE: + return( MBEDTLS_SSL_EXT_ID_CLI_CERT_TYPE ); + + case MBEDTLS_TLS_EXT_SERV_CERT_TYPE: + return( MBEDTLS_SSL_EXT_ID_SERV_CERT_TYPE ); + + case MBEDTLS_TLS_EXT_PADDING: + return( MBEDTLS_SSL_EXT_ID_PADDING ); + + case MBEDTLS_TLS_EXT_PRE_SHARED_KEY: + return( MBEDTLS_SSL_EXT_ID_PRE_SHARED_KEY ); + + case MBEDTLS_TLS_EXT_EARLY_DATA: + return( MBEDTLS_SSL_EXT_ID_EARLY_DATA ); + + case MBEDTLS_TLS_EXT_SUPPORTED_VERSIONS: + return( MBEDTLS_SSL_EXT_ID_SUPPORTED_VERSIONS ); + + case MBEDTLS_TLS_EXT_COOKIE: + return( MBEDTLS_SSL_EXT_ID_COOKIE ); + + case MBEDTLS_TLS_EXT_PSK_KEY_EXCHANGE_MODES: + return( MBEDTLS_SSL_EXT_ID_PSK_KEY_EXCHANGE_MODES ); + + case MBEDTLS_TLS_EXT_CERT_AUTH: + return( MBEDTLS_SSL_EXT_ID_CERT_AUTH ); + + case MBEDTLS_TLS_EXT_OID_FILTERS: + return( MBEDTLS_SSL_EXT_ID_OID_FILTERS ); + + case MBEDTLS_TLS_EXT_POST_HANDSHAKE_AUTH: + return( MBEDTLS_SSL_EXT_ID_POST_HANDSHAKE_AUTH ); + + case MBEDTLS_TLS_EXT_SIG_ALG_CERT: + return( MBEDTLS_SSL_EXT_ID_SIG_ALG_CERT ); + + case MBEDTLS_TLS_EXT_KEY_SHARE: + return( MBEDTLS_SSL_EXT_ID_KEY_SHARE ); + + case MBEDTLS_TLS_EXT_TRUNCATED_HMAC: + return( MBEDTLS_SSL_EXT_ID_TRUNCATED_HMAC ); + + case MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS: + return( MBEDTLS_SSL_EXT_ID_SUPPORTED_POINT_FORMATS ); + + case MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC: + return( MBEDTLS_SSL_EXT_ID_ENCRYPT_THEN_MAC ); + + case MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET: + return( MBEDTLS_SSL_EXT_ID_EXTENDED_MASTER_SECRET ); + + case MBEDTLS_TLS_EXT_SESSION_TICKET: + return( MBEDTLS_SSL_EXT_ID_SESSION_TICKET ); + + } + + return( MBEDTLS_SSL_EXT_ID_UNRECOGNIZED ); +} + +uint32_t mbedtls_ssl_get_extension_mask( unsigned int extension_type ) +{ + return( 1 << mbedtls_ssl_get_extension_id( extension_type ) ); +} + +#if defined(MBEDTLS_DEBUG_C) +static const char *extension_name_table[] = { + [MBEDTLS_SSL_EXT_ID_UNRECOGNIZED] = "unrecognized", + [MBEDTLS_SSL_EXT_ID_SERVERNAME] = "server_name", + [MBEDTLS_SSL_EXT_ID_MAX_FRAGMENT_LENGTH] = "max_fragment_length", + [MBEDTLS_SSL_EXT_ID_STATUS_REQUEST] = "status_request", + [MBEDTLS_SSL_EXT_ID_SUPPORTED_GROUPS] = "supported_groups", + [MBEDTLS_SSL_EXT_ID_SIG_ALG] = "signature_algorithms", + [MBEDTLS_SSL_EXT_ID_USE_SRTP] = "use_srtp", + [MBEDTLS_SSL_EXT_ID_HEARTBEAT] = "heartbeat", + [MBEDTLS_SSL_EXT_ID_ALPN] = "application_layer_protocol_negotiation", + [MBEDTLS_SSL_EXT_ID_SCT] = "signed_certificate_timestamp", + [MBEDTLS_SSL_EXT_ID_CLI_CERT_TYPE] = "client_certificate_type", + [MBEDTLS_SSL_EXT_ID_SERV_CERT_TYPE] = "server_certificate_type", + [MBEDTLS_SSL_EXT_ID_PADDING] = "padding", + [MBEDTLS_SSL_EXT_ID_PRE_SHARED_KEY] = "pre_shared_key", + [MBEDTLS_SSL_EXT_ID_EARLY_DATA] = "early_data", + [MBEDTLS_SSL_EXT_ID_SUPPORTED_VERSIONS] = "supported_versions", + [MBEDTLS_SSL_EXT_ID_COOKIE] = "cookie", + [MBEDTLS_SSL_EXT_ID_PSK_KEY_EXCHANGE_MODES] = "psk_key_exchange_modes", + [MBEDTLS_SSL_EXT_ID_CERT_AUTH] = "certificate_authorities", + [MBEDTLS_SSL_EXT_ID_OID_FILTERS] = "oid_filters", + [MBEDTLS_SSL_EXT_ID_POST_HANDSHAKE_AUTH] = "post_handshake_auth", + [MBEDTLS_SSL_EXT_ID_SIG_ALG_CERT] = "signature_algorithms_cert", + [MBEDTLS_SSL_EXT_ID_KEY_SHARE] = "key_share", + [MBEDTLS_SSL_EXT_ID_TRUNCATED_HMAC] = "truncated_hmac", + [MBEDTLS_SSL_EXT_ID_SUPPORTED_POINT_FORMATS] = "supported_point_formats", + [MBEDTLS_SSL_EXT_ID_ENCRYPT_THEN_MAC] = "encrypt_then_mac", + [MBEDTLS_SSL_EXT_ID_EXTENDED_MASTER_SECRET] = "extended_master_secret", + [MBEDTLS_SSL_EXT_ID_SESSION_TICKET] = "session_ticket" +}; + +static unsigned int extension_type_table[]={ + [MBEDTLS_SSL_EXT_ID_UNRECOGNIZED] = 0xff, + [MBEDTLS_SSL_EXT_ID_SERVERNAME] = MBEDTLS_TLS_EXT_SERVERNAME, + [MBEDTLS_SSL_EXT_ID_MAX_FRAGMENT_LENGTH] = MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH, + [MBEDTLS_SSL_EXT_ID_STATUS_REQUEST] = MBEDTLS_TLS_EXT_STATUS_REQUEST, + [MBEDTLS_SSL_EXT_ID_SUPPORTED_GROUPS] = MBEDTLS_TLS_EXT_SUPPORTED_GROUPS, + [MBEDTLS_SSL_EXT_ID_SIG_ALG] = MBEDTLS_TLS_EXT_SIG_ALG, + [MBEDTLS_SSL_EXT_ID_USE_SRTP] = MBEDTLS_TLS_EXT_USE_SRTP, + [MBEDTLS_SSL_EXT_ID_HEARTBEAT] = MBEDTLS_TLS_EXT_HEARTBEAT, + [MBEDTLS_SSL_EXT_ID_ALPN] = MBEDTLS_TLS_EXT_ALPN, + [MBEDTLS_SSL_EXT_ID_SCT] = MBEDTLS_TLS_EXT_SCT, + [MBEDTLS_SSL_EXT_ID_CLI_CERT_TYPE] = MBEDTLS_TLS_EXT_CLI_CERT_TYPE, + [MBEDTLS_SSL_EXT_ID_SERV_CERT_TYPE] = MBEDTLS_TLS_EXT_SERV_CERT_TYPE, + [MBEDTLS_SSL_EXT_ID_PADDING] = MBEDTLS_TLS_EXT_PADDING, + [MBEDTLS_SSL_EXT_ID_PRE_SHARED_KEY] = MBEDTLS_TLS_EXT_PRE_SHARED_KEY, + [MBEDTLS_SSL_EXT_ID_EARLY_DATA] = MBEDTLS_TLS_EXT_EARLY_DATA, + [MBEDTLS_SSL_EXT_ID_SUPPORTED_VERSIONS] = MBEDTLS_TLS_EXT_SUPPORTED_VERSIONS, + [MBEDTLS_SSL_EXT_ID_COOKIE] = MBEDTLS_TLS_EXT_COOKIE, + [MBEDTLS_SSL_EXT_ID_PSK_KEY_EXCHANGE_MODES] = MBEDTLS_TLS_EXT_PSK_KEY_EXCHANGE_MODES, + [MBEDTLS_SSL_EXT_ID_CERT_AUTH] = MBEDTLS_TLS_EXT_CERT_AUTH, + [MBEDTLS_SSL_EXT_ID_OID_FILTERS] = MBEDTLS_TLS_EXT_OID_FILTERS, + [MBEDTLS_SSL_EXT_ID_POST_HANDSHAKE_AUTH] = MBEDTLS_TLS_EXT_POST_HANDSHAKE_AUTH, + [MBEDTLS_SSL_EXT_ID_SIG_ALG_CERT] = MBEDTLS_TLS_EXT_SIG_ALG_CERT, + [MBEDTLS_SSL_EXT_ID_KEY_SHARE] = MBEDTLS_TLS_EXT_KEY_SHARE, + [MBEDTLS_SSL_EXT_ID_TRUNCATED_HMAC] = MBEDTLS_TLS_EXT_TRUNCATED_HMAC, + [MBEDTLS_SSL_EXT_ID_SUPPORTED_POINT_FORMATS] = MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS, + [MBEDTLS_SSL_EXT_ID_ENCRYPT_THEN_MAC] = MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC, + [MBEDTLS_SSL_EXT_ID_EXTENDED_MASTER_SECRET] = MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET, + [MBEDTLS_SSL_EXT_ID_SESSION_TICKET] = MBEDTLS_TLS_EXT_SESSION_TICKET +}; + +const char *mbedtls_ssl_get_extension_name( unsigned int extension_type ) +{ + return( extension_name_table[ + mbedtls_ssl_get_extension_id( extension_type ) ] ); +} + +static const char *ssl_tls13_get_hs_msg_name( int hs_msg_type ) +{ + switch( hs_msg_type ) + { + case MBEDTLS_SSL_HS_CLIENT_HELLO: + return( "ClientHello" ); + case MBEDTLS_SSL_HS_SERVER_HELLO: + return( "ServerHello" ); + case MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST: + return( "HelloRetryRequest" ); + case MBEDTLS_SSL_HS_NEW_SESSION_TICKET: + return( "NewSessionTicket" ); + case MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS: + return( "EncryptedExtensions" ); + case MBEDTLS_SSL_HS_CERTIFICATE: + return( "Certificate" ); + case MBEDTLS_SSL_HS_CERTIFICATE_REQUEST: + return( "CertificateRequest" ); + } + return( "Unknown" ); +} + +void mbedtls_ssl_print_extension( const mbedtls_ssl_context *ssl, + int level, const char *file, int line, + int hs_msg_type, unsigned int extension_type, + const char *extra_msg0, const char *extra_msg1 ) +{ + const char *extra_msg; + if( extra_msg0 && extra_msg1 ) + { + mbedtls_debug_print_msg( + ssl, level, file, line, + "%s: %s(%u) extension %s %s.", + ssl_tls13_get_hs_msg_name( hs_msg_type ), + mbedtls_ssl_get_extension_name( extension_type ), + extension_type, + extra_msg0, extra_msg1 ); + return; + } + + extra_msg = extra_msg0 ? extra_msg0 : extra_msg1; + if( extra_msg ) + { + mbedtls_debug_print_msg( + ssl, level, file, line, + "%s: %s(%u) extension %s.", ssl_tls13_get_hs_msg_name( hs_msg_type ), + mbedtls_ssl_get_extension_name( extension_type ), extension_type, + extra_msg ); + return; + } + + mbedtls_debug_print_msg( + ssl, level, file, line, + "%s: %s(%u) extension.", ssl_tls13_get_hs_msg_name( hs_msg_type ), + mbedtls_ssl_get_extension_name( extension_type ), extension_type ); +} + +void mbedtls_ssl_print_extensions( const mbedtls_ssl_context *ssl, + int level, const char *file, int line, + int hs_msg_type, uint32_t extensions_mask, + const char *extra ) +{ + + for( unsigned i = 0; + i < sizeof( extension_name_table ) / sizeof( extension_name_table[0] ); + i++ ) + { + mbedtls_ssl_print_extension( + ssl, level, file, line, hs_msg_type, extension_type_table[i], + extensions_mask & ( 1 << i ) ? "exists" : "does not exist", extra ); + } +} + +#endif /* MBEDTLS_DEBUG_C */ + void mbedtls_ssl_optimize_checksum( mbedtls_ssl_context *ssl, const mbedtls_ssl_ciphersuite_t *ciphersuite_info ) { ((void) ciphersuite_info); -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) ssl->handshake->update_checksum = ssl_update_checksum_sha384; else #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( ciphersuite_info->mac != MBEDTLS_MD_SHA384 ) ssl->handshake->update_checksum = ssl_update_checksum_sha256; else @@ -532,9 +781,9 @@ void mbedtls_ssl_optimize_checksum( mbedtls_ssl_context *ssl, } } -static void mbedtls_ssl_add_hs_hdr_to_checksum( mbedtls_ssl_context *ssl, - unsigned hs_type, - size_t total_hs_len ) +void mbedtls_ssl_add_hs_hdr_to_checksum( mbedtls_ssl_context *ssl, + unsigned hs_type, + size_t total_hs_len ) { unsigned char hs_hdr[4]; @@ -559,7 +808,7 @@ void mbedtls_ssl_add_hs_msg_to_checksum( mbedtls_ssl_context *ssl, void mbedtls_ssl_reset_checksum( mbedtls_ssl_context *ssl ) { ((void) ssl); -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_abort( &ssl->handshake->fin_sha256_psa ); psa_hash_setup( &ssl->handshake->fin_sha256_psa, PSA_ALG_SHA_256 ); @@ -567,12 +816,12 @@ void mbedtls_ssl_reset_checksum( mbedtls_ssl_context *ssl ) mbedtls_sha256_starts( &ssl->handshake->fin_sha256, 0 ); #endif #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_abort( &ssl->handshake->fin_sha384_psa ); psa_hash_setup( &ssl->handshake->fin_sha384_psa, PSA_ALG_SHA_384 ); #else - mbedtls_sha512_starts( &ssl->handshake->fin_sha512, 1 ); + mbedtls_sha512_starts( &ssl->handshake->fin_sha384, 1 ); #endif #endif } @@ -580,23 +829,29 @@ void mbedtls_ssl_reset_checksum( mbedtls_ssl_context *ssl ) static void ssl_update_checksum_start( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len ) { -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_update( &ssl->handshake->fin_sha256_psa, buf, len ); #else mbedtls_sha256_update( &ssl->handshake->fin_sha256, buf, len ); #endif #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_update( &ssl->handshake->fin_sha384_psa, buf, len ); #else - mbedtls_sha512_update( &ssl->handshake->fin_sha512, buf, len ); + mbedtls_sha512_update( &ssl->handshake->fin_sha384, buf, len ); +#endif #endif +#if !defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + !defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + (void) ssl; + (void) buf; + (void) len; #endif } -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_update_checksum_sha256( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len ) { @@ -608,14 +863,14 @@ static void ssl_update_checksum_sha256( mbedtls_ssl_context *ssl, } #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_update_checksum_sha384( mbedtls_ssl_context *ssl, const unsigned char *buf, size_t len ) { #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_update( &ssl->handshake->fin_sha384_psa, buf, len ); #else - mbedtls_sha512_update( &ssl->handshake->fin_sha512, buf, len ); + mbedtls_sha512_update( &ssl->handshake->fin_sha384, buf, len ); #endif } #endif @@ -624,7 +879,7 @@ static void ssl_handshake_params_init( mbedtls_ssl_handshake_params *handshake ) { memset( handshake, 0, sizeof( mbedtls_ssl_handshake_params ) ); -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) handshake->fin_sha256_psa = psa_hash_operation_init(); psa_hash_setup( &handshake->fin_sha256_psa, PSA_ALG_SHA_256 ); @@ -633,13 +888,13 @@ static void ssl_handshake_params_init( mbedtls_ssl_handshake_params *handshake ) mbedtls_sha256_starts( &handshake->fin_sha256, 0 ); #endif #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) handshake->fin_sha384_psa = psa_hash_operation_init(); psa_hash_setup( &handshake->fin_sha384_psa, PSA_ALG_SHA_384 ); #else - mbedtls_sha512_init( &handshake->fin_sha512 ); - mbedtls_sha512_starts( &handshake->fin_sha512, 1 ); + mbedtls_sha512_init( &handshake->fin_sha384 ); + mbedtls_sha512_starts( &handshake->fin_sha384, 1 ); #endif #endif @@ -652,7 +907,12 @@ static void ssl_handshake_params_init( mbedtls_ssl_handshake_params *handshake ) mbedtls_ecdh_init( &handshake->ecdh_ctx ); #endif #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if defined(MBEDTLS_USE_PSA_CRYPTO) + handshake->psa_pake_ctx = psa_pake_operation_init(); + handshake->psa_pake_password = MBEDTLS_SVC_KEY_ID_INIT; +#else mbedtls_ecjpake_init( &handshake->ecjpake_ctx ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_SSL_CLI_C) handshake->ecjpake_cache = NULL; handshake->ecjpake_cache_len = 0; @@ -760,6 +1020,13 @@ static int ssl_handshake_init( mbedtls_ssl_context *ssl ) mbedtls_ssl_transform_init( ssl->transform_negotiate ); ssl_handshake_params_init( ssl->handshake ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SRV_C) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) + ssl->handshake->new_session_tickets_count = + ssl->conf->new_session_tickets_count ; +#endif + #if defined(MBEDTLS_SSL_PROTO_DTLS) if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM ) { @@ -820,7 +1087,7 @@ static int ssl_handshake_init( mbedtls_ssl_context *ssl ) #endif /* MBEDTLS_DEPRECATED_REMOVED */ #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) #if defined(MBEDTLS_SSL_PROTO_TLS1_2) /* Heap allocate and translate sig_hashes from internal hash identifiers to @@ -886,7 +1153,7 @@ static int ssl_handshake_init( mbedtls_ssl_context *ssl ) ssl->handshake->sig_algs_heap_allocated = 0; } #endif /* !MBEDTLS_DEPRECATED_REMOVED */ -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ return( 0 ); } @@ -989,6 +1256,30 @@ static int ssl_conf_check(const mbedtls_ssl_context *ssl) if( ret != 0 ) return( ret ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + /* RFC 8446 section 4.4.3 + * + * If the verification fails, the receiver MUST terminate the handshake with + * a "decrypt_error" alert. + * + * If the client is configured as TLS 1.3 only with optional verify, return + * bad config. + * + */ + if( mbedtls_ssl_conf_tls13_ephemeral_enabled( + (mbedtls_ssl_context *)ssl ) && + ssl->conf->endpoint == MBEDTLS_SSL_IS_CLIENT && + ssl->conf->max_tls_version == MBEDTLS_SSL_VERSION_TLS1_3 && + ssl->conf->min_tls_version == MBEDTLS_SSL_VERSION_TLS1_3 && + ssl->conf->authmode == MBEDTLS_SSL_VERIFY_OPTIONAL ) + { + MBEDTLS_SSL_DEBUG_MSG( + 1, ( "Optional verify auth mode " + "is not available for TLS 1.3 client" ) ); + return( MBEDTLS_ERR_SSL_BAD_CONFIG ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + /* Space for further checks */ return( 0 ); @@ -1156,9 +1447,11 @@ void mbedtls_ssl_session_reset_msg_layer( mbedtls_ssl_context *ssl, if( ssl->handshake != NULL ) { +#if defined(MBEDTLS_SSL_EARLY_DATA) mbedtls_ssl_transform_free( ssl->handshake->transform_earlydata ); mbedtls_free( ssl->handshake->transform_earlydata ); ssl->handshake->transform_earlydata = NULL; +#endif mbedtls_ssl_transform_free( ssl->handshake->transform_handshake ); mbedtls_free( ssl->handshake->transform_handshake ); @@ -1201,9 +1494,11 @@ int mbedtls_ssl_session_reset_int( mbedtls_ssl_context *ssl, int partial ) #endif #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && defined(MBEDTLS_SSL_SRV_C) + int free_cli_id = 1; #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) - if( partial == 0 ) + free_cli_id = ( partial == 0 ); #endif + if( free_cli_id ) { mbedtls_free( ssl->cli_id ); ssl->cli_id = NULL; @@ -1363,6 +1658,23 @@ int mbedtls_ssl_set_session( mbedtls_ssl_context *ssl, const mbedtls_ssl_session if( ssl->handshake->resume == 1 ) return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if( session->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) + { + const mbedtls_ssl_ciphersuite_t *ciphersuite_info = + mbedtls_ssl_ciphersuite_from_id( session->ciphersuite ); + + if( mbedtls_ssl_validate_ciphersuite( + ssl, ciphersuite_info, MBEDTLS_SSL_VERSION_TLS1_3, + MBEDTLS_SSL_VERSION_TLS1_3 ) != 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 4, ( "%d is not a valid TLS 1.3 ciphersuite.", + session->ciphersuite ) ); + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + } + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + if( ( ret = mbedtls_ssl_session_copy( ssl->session_negotiate, session ) ) != 0 ) return( ret ); @@ -1385,6 +1697,23 @@ void mbedtls_ssl_conf_tls13_key_exchange_modes( mbedtls_ssl_config *conf, { conf->tls13_kex_modes = kex_modes & MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_ALL; } + +#if defined(MBEDTLS_SSL_EARLY_DATA) +void mbedtls_ssl_tls13_conf_early_data( mbedtls_ssl_config *conf, + int early_data_enabled ) +{ + conf->early_data_enabled = early_data_enabled; +} + +#if defined(MBEDTLS_SSL_SRV_C) +void mbedtls_ssl_tls13_conf_max_early_data_size( + mbedtls_ssl_config *conf, uint32_t max_early_data_size ) +{ + conf->max_early_data_size = max_early_data_size; +} +#endif /* MBEDTLS_SSL_SRV_C */ + +#endif /* MBEDTLS_SSL_EARLY_DATA */ #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ #if defined(MBEDTLS_X509_CRT_PARSE_C) @@ -1537,6 +1866,73 @@ void mbedtls_ssl_set_verify( mbedtls_ssl_context *ssl, /* * Set EC J-PAKE password for current handshake */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) +int mbedtls_ssl_set_hs_ecjpake_password( mbedtls_ssl_context *ssl, + const unsigned char *pw, + size_t pw_len ) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + psa_pake_role_t psa_role; + psa_status_t status; + + if( ssl->handshake == NULL || ssl->conf == NULL ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + + if( ssl->conf->endpoint == MBEDTLS_SSL_IS_SERVER ) + psa_role = PSA_PAKE_ROLE_SERVER; + else + psa_role = PSA_PAKE_ROLE_CLIENT; + + /* Empty password is not valid */ + if( ( pw == NULL) || ( pw_len == 0 ) ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, PSA_ALG_JPAKE ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_PASSWORD ); + + status = psa_import_key( &attributes, pw, pw_len, + &ssl->handshake->psa_pake_password ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + + psa_pake_cs_set_algorithm( &cipher_suite, PSA_ALG_JPAKE ); + psa_pake_cs_set_primitive( &cipher_suite, + PSA_PAKE_PRIMITIVE( PSA_PAKE_PRIMITIVE_TYPE_ECC, + PSA_ECC_FAMILY_SECP_R1, + 256) ); + psa_pake_cs_set_hash( &cipher_suite, PSA_ALG_SHA_256 ); + + status = psa_pake_setup( &ssl->handshake->psa_pake_ctx, &cipher_suite ); + if( status != PSA_SUCCESS ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + status = psa_pake_set_role( &ssl->handshake->psa_pake_ctx, psa_role ); + if( status != PSA_SUCCESS ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + psa_pake_set_password_key( &ssl->handshake->psa_pake_ctx, + ssl->handshake->psa_pake_password ); + if( status != PSA_SUCCESS ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + ssl->handshake->psa_pake_ctx_is_ok = 1; + + return( 0 ); +} +#else /* MBEDTLS_USE_PSA_CRYPTO */ int mbedtls_ssl_set_hs_ecjpake_password( mbedtls_ssl_context *ssl, const unsigned char *pw, size_t pw_len ) @@ -1557,18 +1953,24 @@ int mbedtls_ssl_set_hs_ecjpake_password( mbedtls_ssl_context *ssl, MBEDTLS_ECP_DP_SECP256R1, pw, pw_len ) ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) - -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_conf_psk_is_configured( mbedtls_ssl_config const *conf ) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) +int mbedtls_ssl_conf_has_static_psk( mbedtls_ssl_config const *conf ) { + if( conf->psk_identity == NULL || + conf->psk_identity_len == 0 ) + { + return( 0 ); + } + #if defined(MBEDTLS_USE_PSA_CRYPTO) - if( !mbedtls_svc_key_id_is_null( conf->psk_opaque ) ) + if( ! mbedtls_svc_key_id_is_null( conf->psk_opaque ) ) return( 1 ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ - if( conf->psk != NULL ) + + if( conf->psk != NULL && conf->psk_len != 0 ) return( 1 ); return( 0 ); @@ -1614,6 +2016,7 @@ static int ssl_conf_set_psk_identity( mbedtls_ssl_config *conf, { /* Identity len will be encoded on two bytes */ if( psk_identity == NULL || + psk_identity_len == 0 || ( psk_identity_len >> 16 ) != 0 || psk_identity_len > MBEDTLS_SSL_OUT_CONTENT_LEN ) { @@ -1637,7 +2040,7 @@ int mbedtls_ssl_conf_psk( mbedtls_ssl_config *conf, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; /* We currently only support one PSK, raw or opaque. */ - if( ssl_conf_psk_is_configured( conf ) ) + if( mbedtls_ssl_conf_has_static_psk( conf ) ) return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); /* Check and set raw PSK */ @@ -1691,9 +2094,9 @@ int mbedtls_ssl_set_hs_psk( mbedtls_ssl_context *ssl, { #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_key_attributes_t key_attributes = psa_key_attributes_init(); - psa_status_t status; - psa_algorithm_t alg; - mbedtls_svc_key_id_t key; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_algorithm_t alg = PSA_ALG_NONE; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; #endif /* MBEDTLS_USE_PSA_CRYPTO */ if( psk == NULL || ssl->handshake == NULL ) @@ -1705,12 +2108,26 @@ int mbedtls_ssl_set_hs_psk( mbedtls_ssl_context *ssl, ssl_remove_psk( ssl ); #if defined(MBEDTLS_USE_PSA_CRYPTO) - if( ssl->handshake->ciphersuite_info->mac == MBEDTLS_MD_SHA384) - alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_384); - else - alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256); +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_2 ) + { + if( ssl->handshake->ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) + alg = PSA_ALG_TLS12_PSK_TO_MS( PSA_ALG_SHA_384 ); + else + alg = PSA_ALG_TLS12_PSK_TO_MS( PSA_ALG_SHA_256 ); + psa_set_key_usage_flags( &key_attributes, PSA_KEY_USAGE_DERIVE ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if( ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) + { + alg = PSA_ALG_HKDF_EXTRACT( PSA_ALG_ANY_HASH ); + psa_set_key_usage_flags( &key_attributes, + PSA_KEY_USAGE_DERIVE | PSA_KEY_USAGE_EXPORT ); + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ - psa_set_key_usage_flags( &key_attributes, PSA_KEY_USAGE_DERIVE ); psa_set_key_algorithm( &key_attributes, alg ); psa_set_key_type( &key_attributes, PSA_KEY_TYPE_DERIVE ); @@ -1741,7 +2158,7 @@ int mbedtls_ssl_conf_psk_opaque( mbedtls_ssl_config *conf, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; /* We currently only support one PSK, raw or opaque. */ - if( ssl_conf_psk_is_configured( conf ) ) + if( mbedtls_ssl_conf_has_static_psk( conf ) ) return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); /* Check and set opaque PSK */ @@ -1771,6 +2188,7 @@ int mbedtls_ssl_set_hs_psk_opaque( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_USE_PSA_CRYPTO */ +#if defined(MBEDTLS_SSL_SRV_C) void mbedtls_ssl_conf_psk_cb( mbedtls_ssl_config *conf, int (*f_psk)(void *, mbedtls_ssl_context *, const unsigned char *, size_t), @@ -1779,7 +2197,9 @@ void mbedtls_ssl_conf_psk_cb( mbedtls_ssl_config *conf, conf->f_psk = f_psk; conf->p_psk = p_psk; } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_SRV_C */ + +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_USE_PSA_CRYPTO) static mbedtls_ssl_mode_t mbedtls_ssl_get_base_mode( @@ -1876,15 +2296,263 @@ mbedtls_ssl_mode_t mbedtls_ssl_get_mode_from_ciphersuite( mbedtls_ssl_get_base_mode( mbedtls_cipher_info_get_mode( cipher ) ); } -#endif /* MBEDTLS_USE_PSA_CRYPTO */ +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + +#if !defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM) + int encrypt_then_mac = 0; +#endif + return( mbedtls_ssl_get_actual_mode( base_mode, encrypt_then_mac ) ); +} + +#if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +/* Serialization of TLS 1.3 sessions: + * + * struct { + * opaque hostname<0..2^16-1>; + * uint64 ticket_received; + * uint32 ticket_lifetime; + * opaque ticket<1..2^16-1>; + * } ClientOnlyData; + * + * struct { + * uint8 endpoint; + * uint8 ciphersuite[2]; + * uint32 ticket_age_add; + * uint8 ticket_flags; + * opaque resumption_key<0..255>; + * select ( endpoint ) { + * case client: ClientOnlyData; + * case server: uint64 start_time; + * }; + * } serialized_session_tls13; + * + */ +#if defined(MBEDTLS_SSL_SESSION_TICKETS) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_session_save( const mbedtls_ssl_session *session, + unsigned char *buf, + size_t buf_len, + size_t *olen ) +{ + unsigned char *p = buf; +#if defined(MBEDTLS_SSL_CLI_C) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + size_t hostname_len = ( session->hostname == NULL ) ? + 0 : strlen( session->hostname ) + 1; +#endif + size_t needed = 1 /* endpoint */ + + 2 /* ciphersuite */ + + 4 /* ticket_age_add */ + + 1 /* ticket_flags */ + + 1; /* resumption_key length */ + *olen = 0; + + if( session->resumption_key_len > MBEDTLS_SSL_TLS1_3_TICKET_RESUMPTION_KEY_LEN ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + needed += session->resumption_key_len; /* resumption_key */ + +#if defined(MBEDTLS_HAVE_TIME) + needed += 8; /* start_time or ticket_received */ +#endif + +#if defined(MBEDTLS_SSL_CLI_C) + if( session->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { +#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + needed += 2 /* hostname_len */ + + hostname_len; /* hostname */ +#endif + + needed += 4 /* ticket_lifetime */ + + 2; /* ticket_len */ + + /* Check size_t overflow */ + if( session->ticket_len > SIZE_MAX - needed ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + + needed += session->ticket_len; /* ticket */ + } +#endif /* MBEDTLS_SSL_CLI_C */ + + *olen = needed; + if( needed > buf_len ) + return( MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL ); + + p[0] = session->endpoint; + MBEDTLS_PUT_UINT16_BE( session->ciphersuite, p, 1 ); + MBEDTLS_PUT_UINT32_BE( session->ticket_age_add, p, 3 ); + p[7] = session->ticket_flags; + + /* save resumption_key */ + p[8] = session->resumption_key_len; + p += 9; + memcpy( p, session->resumption_key, session->resumption_key_len ); + p += session->resumption_key_len; + +#if defined(MBEDTLS_HAVE_TIME) && defined(MBEDTLS_SSL_SRV_C) + if( session->endpoint == MBEDTLS_SSL_IS_SERVER ) + { + MBEDTLS_PUT_UINT64_BE( (uint64_t) session->start, p, 0 ); + p += 8; + } +#endif /* MBEDTLS_HAVE_TIME */ + +#if defined(MBEDTLS_SSL_CLI_C) + if( session->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { +#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + MBEDTLS_PUT_UINT16_BE( hostname_len, p, 0 ); + p += 2; + if( hostname_len > 0 ) + { + /* save host name */ + memcpy( p, session->hostname, hostname_len ); + p += hostname_len; + } +#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ + +#if defined(MBEDTLS_HAVE_TIME) + MBEDTLS_PUT_UINT64_BE( (uint64_t) session->ticket_received, p, 0 ); + p += 8; +#endif + MBEDTLS_PUT_UINT32_BE( session->ticket_lifetime, p, 0 ); + p += 4; + + MBEDTLS_PUT_UINT16_BE( session->ticket_len, p, 0 ); + p += 2; + + if( session->ticket != NULL && session->ticket_len > 0 ) + { + memcpy( p, session->ticket, session->ticket_len ); + p += session->ticket_len; + } + } +#endif /* MBEDTLS_SSL_CLI_C */ + return( 0 ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_session_load( mbedtls_ssl_session *session, + const unsigned char *buf, + size_t len ) +{ + const unsigned char *p = buf; + const unsigned char *end = buf + len; + + if( end - p < 9 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + session->endpoint = p[0]; + session->ciphersuite = MBEDTLS_GET_UINT16_BE( p, 1 ); + session->ticket_age_add = MBEDTLS_GET_UINT32_BE( p, 3 ); + session->ticket_flags = p[7]; + + /* load resumption_key */ + session->resumption_key_len = p[8]; + p += 9; + + if( end - p < session->resumption_key_len ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + + if( sizeof( session->resumption_key ) < session->resumption_key_len ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + memcpy( session->resumption_key, p, session->resumption_key_len ); + p += session->resumption_key_len; + +#if defined(MBEDTLS_HAVE_TIME) && defined(MBEDTLS_SSL_SRV_C) + if( session->endpoint == MBEDTLS_SSL_IS_SERVER ) + { + if( end - p < 8 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + session->start = MBEDTLS_GET_UINT64_BE( p, 0 ); + p += 8; + } +#endif /* MBEDTLS_HAVE_TIME */ + +#if defined(MBEDTLS_SSL_CLI_C) + if( session->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { +#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) + size_t hostname_len; + /* load host name */ + if( end - p < 2 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + hostname_len = MBEDTLS_GET_UINT16_BE( p, 0 ); + p += 2; + + if( end - p < ( long int )hostname_len ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + if( hostname_len > 0 ) + { + session->hostname = mbedtls_calloc( 1, hostname_len ); + if( session->hostname == NULL ) + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + memcpy( session->hostname, p, hostname_len ); + p += hostname_len; + } +#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION && + MBEDTLS_SSL_SESSION_TICKETS */ + +#if defined(MBEDTLS_HAVE_TIME) + if( end - p < 8 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + session->ticket_received = MBEDTLS_GET_UINT64_BE( p, 0 ); + p += 8; +#endif + if( end - p < 4 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + session->ticket_lifetime = MBEDTLS_GET_UINT32_BE( p, 0 ); + p += 4; + + if( end - p < 2 ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + session->ticket_len = MBEDTLS_GET_UINT16_BE( p, 0 ); + p += 2; + + if( end - p < ( long int )session->ticket_len ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + if( session->ticket_len > 0 ) + { + session->ticket = mbedtls_calloc( 1, session->ticket_len ); + if( session->ticket == NULL ) + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + memcpy( session->ticket, p, session->ticket_len ); + p += session->ticket_len; + } + } +#endif /* MBEDTLS_SSL_CLI_C */ -#if !defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM) - int encrypt_then_mac = 0; -#endif - return( mbedtls_ssl_get_actual_mode( base_mode, encrypt_then_mac ) ); + return( 0 ); + +} +#else /* MBEDTLS_SSL_SESSION_TICKETS */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_session_save( const mbedtls_ssl_session *session, + unsigned char *buf, + size_t buf_len, + size_t *olen ) +{ + ((void) session); + ((void) buf); + ((void) buf_len); + *olen = 0; + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); } -#if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) +static int ssl_tls13_session_load( const mbedtls_ssl_session *session, + unsigned char *buf, + size_t buf_len ) +{ + ((void) session); + ((void) buf); + ((void) buf_len); + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); +} +#endif /* !MBEDTLS_SSL_SESSION_TICKETS */ +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + psa_status_t mbedtls_ssl_cipher_to_psa( mbedtls_cipher_type_t mbedtls_cipher_type, size_t taglen, psa_algorithm_t *alg, @@ -2084,7 +2752,7 @@ void mbedtls_ssl_conf_dhm_min_bitlen( mbedtls_ssl_config *conf, } #endif /* MBEDTLS_DHM_C && MBEDTLS_SSL_CLI_C */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) && defined(MBEDTLS_SSL_PROTO_TLS1_2) /* * Set allowed/preferred hashes for handshake signatures @@ -2105,7 +2773,7 @@ void mbedtls_ssl_conf_sig_algs( mbedtls_ssl_config *conf, #endif /* !MBEDTLS_DEPRECATED_REMOVED */ conf->sig_algs = sig_algs; } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_ECP_C) #if !defined(MBEDTLS_DEPRECATED_REMOVED) @@ -2309,6 +2977,7 @@ void mbedtls_ssl_get_dtls_srtp_negotiation_result( const mbedtls_ssl_context *ss } #endif /* MBEDTLS_SSL_DTLS_SRTP */ +#if !defined(MBEDTLS_DEPRECATED_REMOVED) void mbedtls_ssl_conf_max_version( mbedtls_ssl_config *conf, int major, int minor ) { conf->max_tls_version = (major << 8) | minor; @@ -2318,6 +2987,7 @@ void mbedtls_ssl_conf_min_version( mbedtls_ssl_config *conf, int major, int mino { conf->min_tls_version = (major << 8) | minor; } +#endif /* MBEDTLS_DEPRECATED_REMOVED */ #if defined(MBEDTLS_SSL_SRV_C) void mbedtls_ssl_conf_cert_req_ca_list( mbedtls_ssl_config *conf, @@ -2388,6 +3058,15 @@ void mbedtls_ssl_conf_session_tickets( mbedtls_ssl_config *conf, int use_tickets #endif #if defined(MBEDTLS_SSL_SRV_C) + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) +void mbedtls_ssl_conf_new_session_tickets( mbedtls_ssl_config *conf, + uint16_t num_tickets ) +{ + conf->new_session_tickets_count = num_tickets; +} +#endif + void mbedtls_ssl_conf_session_tickets_cb( mbedtls_ssl_config *conf, mbedtls_ssl_ticket_write_t *f_ticket_write, mbedtls_ssl_ticket_parse_t *f_ticket_parse, @@ -2811,13 +3490,19 @@ static int ssl_session_save( const mbedtls_ssl_session *session, { unsigned char *p = buf; size_t used = 0; + size_t remaining_len; +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + size_t out_len; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; +#endif + if( session == NULL ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); if( !omit_header ) { /* * Add Mbed TLS version identifier */ - used += sizeof( ssl_serialized_session_header ); if( used <= buf_len ) @@ -2838,17 +3523,24 @@ static int ssl_session_save( const mbedtls_ssl_session *session, } /* Forward to version-specific serialization routine. */ + remaining_len = (buf_len >= used) ? buf_len - used : 0; switch( session->tls_version ) { #if defined(MBEDTLS_SSL_PROTO_TLS1_2) case MBEDTLS_SSL_VERSION_TLS1_2: - { - size_t remaining_len = used <= buf_len ? buf_len - used : 0; - used += ssl_session_save_tls12( session, p, remaining_len ); + used += ssl_tls12_session_save( session, p, remaining_len ); break; - } #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + case MBEDTLS_SSL_VERSION_TLS1_3: + ret = ssl_tls13_session_save( session, p, remaining_len, &out_len ); + if( ret != 0 && ret != MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL ) + return( ret ); + used += out_len; + break; +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + default: return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); } @@ -2885,6 +3577,11 @@ static int ssl_session_load( mbedtls_ssl_session *session, { const unsigned char *p = buf; const unsigned char * const end = buf + len; + size_t remaining_len; + + + if( session == NULL ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); if( !omit_header ) { @@ -2911,16 +3608,19 @@ static int ssl_session_load( mbedtls_ssl_session *session, session->tls_version = 0x0300 | *p++; /* Dispatch according to TLS version. */ + remaining_len = ( end - p ); switch( session->tls_version ) { #if defined(MBEDTLS_SSL_PROTO_TLS1_2) case MBEDTLS_SSL_VERSION_TLS1_2: - { - size_t remaining_len = ( end - p ); - return( ssl_session_load_tls12( session, p, remaining_len ) ); - } + return( ssl_tls12_session_load( session, p, remaining_len ) ); #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + case MBEDTLS_SSL_VERSION_TLS1_3: + return( ssl_tls13_session_load( session, p, remaining_len ) ); +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + default: return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } @@ -2986,7 +3686,7 @@ int mbedtls_ssl_handshake_step( mbedtls_ssl_context *ssl ) if( ssl == NULL || ssl->conf == NULL || ssl->handshake == NULL || - mbedtls_ssl_is_handshake_over( ssl ) == 1 ) + ssl->state == MBEDTLS_SSL_HANDSHAKE_OVER ) { return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } @@ -2999,6 +3699,10 @@ int mbedtls_ssl_handshake_step( mbedtls_ssl_context *ssl ) if( ret != 0 ) goto cleanup; + /* If ssl->conf->endpoint is not one of MBEDTLS_SSL_IS_CLIENT or + * MBEDTLS_SSL_IS_SERVER, this is the return code we give */ + ret = MBEDTLS_ERR_SSL_BAD_INPUT_DATA; + #if defined(MBEDTLS_SSL_CLI_C) if( ssl->conf->endpoint == MBEDTLS_SSL_IS_CLIENT ) { @@ -3009,6 +3713,7 @@ int mbedtls_ssl_handshake_step( mbedtls_ssl_context *ssl ) { case MBEDTLS_SSL_HELLO_REQUEST: ssl->state = MBEDTLS_SSL_CLIENT_HELLO; + ret = 0; break; case MBEDTLS_SSL_CLIENT_HELLO: @@ -3085,7 +3790,7 @@ int mbedtls_ssl_handshake( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> handshake" ) ); /* Main handshake loop */ - while( mbedtls_ssl_is_handshake_over( ssl ) == 0 ) + while( ssl->state != MBEDTLS_SSL_HANDSHAKE_OVER ) { ret = mbedtls_ssl_handshake_step( ssl ); @@ -3244,7 +3949,7 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) #endif /* MBEDTLS_DEPRECATED_REMOVED */ #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if !defined(MBEDTLS_DEPRECATED_REMOVED) if ( ssl->handshake->sig_algs_heap_allocated ) mbedtls_free( (void*) handshake->sig_algs ); @@ -3256,7 +3961,7 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) mbedtls_free( (void*) handshake->certificate_request_context ); } #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) if( ssl->conf->f_async_cancel != NULL && handshake->async_in_progress != 0 ) @@ -3266,18 +3971,18 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) } #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_abort( &handshake->fin_sha256_psa ); #else mbedtls_sha256_free( &handshake->fin_sha256 ); #endif #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_hash_abort( &handshake->fin_sha384_psa ); #else - mbedtls_sha512_free( &handshake->fin_sha512 ); + mbedtls_sha512_free( &handshake->fin_sha384 ); #endif #endif @@ -3287,8 +3992,15 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) #if !defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_ECDH_C) mbedtls_ecdh_free( &handshake->ecdh_ctx ); #endif + #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_pake_abort( &handshake->psa_pake_ctx ); + psa_destroy_key( handshake->psa_pake_password ); + handshake->psa_pake_password = MBEDTLS_SVC_KEY_ID_INIT; +#else mbedtls_ecjpake_free( &handshake->ecjpake_ctx ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_SSL_CLI_C) mbedtls_free( handshake->ecjpake_cache ); handshake->ecjpake_cache = NULL; @@ -3302,7 +4014,7 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) mbedtls_free( (void *) handshake->curves ); #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) if( ! mbedtls_svc_key_id_is_null( ssl->handshake->psk_opaque ) ) { @@ -3322,7 +4034,7 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) mbedtls_free( handshake->psk ); } #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_X509_CRT_PARSE_C) && \ defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) @@ -3366,9 +4078,11 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_context *ssl ) #if defined(MBEDTLS_SSL_PROTO_TLS1_3) mbedtls_ssl_transform_free( handshake->transform_handshake ); + mbedtls_free( handshake->transform_handshake ); +#if defined(MBEDTLS_SSL_EARLY_DATA) mbedtls_ssl_transform_free( handshake->transform_earlydata ); mbedtls_free( handshake->transform_earlydata ); - mbedtls_free( handshake->transform_handshake ); +#endif #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ @@ -3396,6 +4110,10 @@ void mbedtls_ssl_session_free( mbedtls_ssl_session *session ) #endif #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) + mbedtls_free( session->hostname ); +#endif mbedtls_free( session->ticket ); #endif @@ -3532,7 +4250,7 @@ int mbedtls_ssl_context_save( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 1, ( "There is pending outgoing data" ) ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } - /* Protocol must be DLTS, not TLS */ + /* Protocol must be DTLS, not TLS */ if( ssl->conf->transport != MBEDTLS_SSL_TRANSPORT_DATAGRAM ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "Only DTLS is supported" ) ); @@ -3711,6 +4429,9 @@ static int ssl_context_load( mbedtls_ssl_context *ssl, const unsigned char * const end = buf + len; size_t session_len; int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + tls_prf_fn prf_func = NULL; +#endif /* * The context should have been freshly setup or reset. @@ -3796,17 +4517,22 @@ static int ssl_context_load( mbedtls_ssl_context *ssl, ssl->transform_out = ssl->transform; ssl->transform_negotiate = NULL; +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + prf_func = ssl_tls12prf_from_cs( ssl->session->ciphersuite ); + if( prf_func == NULL ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + /* Read random bytes and populate structure */ if( (size_t)( end - p ) < sizeof( ssl->transform->randbytes ) ) return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); -#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + ret = ssl_tls12_populate_transform( ssl->transform, ssl->session->ciphersuite, ssl->session->master, #if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM) ssl->session->encrypt_then_mac, #endif /* MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM */ - ssl_tls12prf_from_cs( ssl->session->ciphersuite ), + prf_func, p, /* currently pointing to randbytes */ MBEDTLS_SSL_VERSION_TLS1_2, /* (D)TLS 1.2 is forced */ ssl->conf->endpoint, @@ -4110,122 +4836,124 @@ static int ssl_preset_suiteb_ciphersuites[] = { 0 }; -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* NOTICE: * For ssl_preset_*_sig_algs and ssl_tls12_preset_*_sig_algs, the following * rules SHOULD be upheld. * - No duplicate entries. * - But if there is a good reason, do not change the order of the algorithms. - * - ssl_tls12_present* is for TLS 1.2 use only. + * - ssl_tls12_preset* is for TLS 1.2 use only. * - ssl_preset_* is for TLS 1.3 only or hybrid TLS 1.3/1.2 handshakes. - * - * When GnuTLS/Openssl server is configured in TLS 1.2 mode with a certificate - * declaring an RSA public key and Mbed TLS is configured in hybrid mode, if - * `rsa_pss_rsae_*` algorithms are before `rsa_pkcs1_*` ones in this list then - * the GnuTLS/Openssl server chooses an `rsa_pss_rsae_*` signature algorithm - * for its signature in the key exchange message. As Mbed TLS 1.2 does not - * support them, the handshake fails. */ static uint16_t ssl_preset_default_sig_algs[] = { -#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_SHA256_C) && \ +#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) MBEDTLS_TLS1_3_SIG_ECDSA_SECP256R1_SHA256, -#endif /* MBEDTLS_ECDSA_C && MBEDTLS_SHA256_C && +#endif /* MBEDTLS_ECDSA_C && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_ECP_DP_SECP256R1_ENABLED */ -#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_SHA384_C) && \ +#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) MBEDTLS_TLS1_3_SIG_ECDSA_SECP384R1_SHA384, -#endif /* MBEDTLS_ECDSA_C && MBEDTLS_SHA384_C && +#endif /* MBEDTLS_ECDSA_C && MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA&& MBEDTLS_ECP_DP_SECP384R1_ENABLED */ -#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_SHA512_C) && \ +#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) MBEDTLS_TLS1_3_SIG_ECDSA_SECP521R1_SHA512, -#endif /* MBEDTLS_ECDSA_C && MBEDTLS_SHA384_C && +#endif /* MBEDTLS_ECDSA_C && MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA&& MBEDTLS_ECP_DP_SECP521R1_ENABLED */ -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ + +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ + +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ + +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA512, #endif /* MBEDTLS_RSA_C && MBEDTLS_SHA512_C */ -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA384, #endif /* MBEDTLS_RSA_C && MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA256, #endif /* MBEDTLS_RSA_C && MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_SHA512_C) - MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512, -#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_SHA512_C */ - -#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_SHA384_C) - MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384, -#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_SHA384_C */ - -#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_SHA256_C) - MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256, -#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_SHA256_C */ - MBEDTLS_TLS_SIG_NONE }; /* NOTICE: see above */ #if defined(MBEDTLS_SSL_PROTO_TLS1_2) static uint16_t ssl_tls12_preset_default_sig_algs[] = { -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_ECDSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_ECDSA, MBEDTLS_SSL_HASH_SHA512 ), #endif +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ #if defined(MBEDTLS_RSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_RSA, MBEDTLS_SSL_HASH_SHA512 ), #endif -#endif /* MBEDTLS_SHA512_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_ECDSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_ECDSA, MBEDTLS_SSL_HASH_SHA384 ), #endif +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ #if defined(MBEDTLS_RSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_RSA, MBEDTLS_SSL_HASH_SHA384 ), #endif -#endif /* MBEDTLS_SHA384_C */ -#if defined(MBEDTLS_SHA256_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_ECDSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_ECDSA, MBEDTLS_SSL_HASH_SHA256 ), #endif +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) + MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256, +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ #if defined(MBEDTLS_RSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_RSA, MBEDTLS_SSL_HASH_SHA256 ), #endif -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ MBEDTLS_TLS_SIG_NONE }; #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ /* NOTICE: see above */ static uint16_t ssl_preset_suiteb_sig_algs[] = { -#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_SHA256_C) && \ +#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) MBEDTLS_TLS1_3_SIG_ECDSA_SECP256R1_SHA256, -#endif /* MBEDTLS_ECDSA_C && MBEDTLS_SHA256_C && +#endif /* MBEDTLS_ECDSA_C && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA&& MBEDTLS_ECP_DP_SECP256R1_ENABLED */ -#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_SHA384_C) && \ +#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) MBEDTLS_TLS1_3_SIG_ECDSA_SECP384R1_SHA384, -#endif /* MBEDTLS_ECDSA_C && MBEDTLS_SHA384_C && +#endif /* MBEDTLS_ECDSA_C && MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA&& MBEDTLS_ECP_DP_SECP384R1_ENABLED */ -#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256, -#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA256, -#endif /* MBEDTLS_RSA_C && MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_RSA_C && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ MBEDTLS_TLS_SIG_NONE }; @@ -4233,27 +4961,27 @@ static uint16_t ssl_preset_suiteb_sig_algs[] = { /* NOTICE: see above */ #if defined(MBEDTLS_SSL_PROTO_TLS1_2) static uint16_t ssl_tls12_preset_suiteb_sig_algs[] = { -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_ECDSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_ECDSA, MBEDTLS_SSL_HASH_SHA256 ), #endif #if defined(MBEDTLS_RSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_RSA, MBEDTLS_SSL_HASH_SHA256 ), #endif -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #if defined(MBEDTLS_ECDSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_ECDSA, MBEDTLS_SSL_HASH_SHA384 ), #endif #if defined(MBEDTLS_RSA_C) MBEDTLS_SSL_TLS12_SIG_AND_HASH_ALG( MBEDTLS_SSL_SIG_RSA, MBEDTLS_SSL_HASH_SHA384 ), #endif -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ MBEDTLS_TLS_SIG_NONE }; #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ static uint16_t ssl_preset_suiteb_groups[] = { #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) @@ -4265,7 +4993,7 @@ static uint16_t ssl_preset_suiteb_groups[] = { MBEDTLS_SSL_IANA_TLS_GROUP_NONE }; -#if defined(MBEDTLS_DEBUG_C) && defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_DEBUG_C) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* Function for checking `ssl_preset_*_sig_algs` and `ssl_tls12_preset_*_sig_algs` * to make sure there are no duplicated signature algorithm entries. */ MBEDTLS_CHECK_RETURN_CRITICAL @@ -4289,7 +5017,7 @@ static int ssl_check_no_sig_alg_duplication( uint16_t * sig_algs ) return( ret ); } -#endif /* MBEDTLS_DEBUG_C && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_DEBUG_C && MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* * Load default in mbedtls_ssl_config @@ -4301,7 +5029,7 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; #endif -#if defined(MBEDTLS_DEBUG_C) && defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_DEBUG_C) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( ssl_check_no_sig_alg_duplication( ssl_preset_suiteb_sig_algs ) ) { mbedtls_printf( "ssl_preset_suiteb_sig_algs has duplicated entries\n" ); @@ -4327,7 +5055,7 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, return( MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED ); } #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ -#endif /* MBEDTLS_DEBUG_C && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_DEBUG_C && MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* Use the functions here so that they are covered in tests, * but otherwise access member directly for efficiency */ @@ -4398,6 +5126,19 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, #endif #if defined(MBEDTLS_SSL_PROTO_TLS1_3) + +#if defined(MBEDTLS_SSL_EARLY_DATA) + mbedtls_ssl_tls13_conf_early_data( conf, MBEDTLS_SSL_EARLY_DATA_DISABLED ); +#if defined(MBEDTLS_SSL_SRV_C) + mbedtls_ssl_tls13_conf_max_early_data_size( + conf, MBEDTLS_SSL_MAX_EARLY_DATA_SIZE ); +#endif +#endif /* MBEDTLS_SSL_EARLY_DATA */ + +#if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_SESSION_TICKETS) + mbedtls_ssl_conf_new_session_tickets( + conf, MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS ); +#endif /* * Allow all TLS 1.3 key exchange modes by default. */ @@ -4454,14 +5195,14 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, conf->cert_profile = &mbedtls_x509_crt_profile_suiteb; #endif -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if defined(MBEDTLS_SSL_PROTO_TLS1_2) if( mbedtls_ssl_conf_is_tls12_only( conf ) ) conf->sig_algs = ssl_tls12_preset_suiteb_sig_algs; else #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ conf->sig_algs = ssl_preset_suiteb_sig_algs; -#endif +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_ECP_C) && !defined(MBEDTLS_DEPRECATED_REMOVED) conf->curve_list = NULL; @@ -4480,14 +5221,14 @@ int mbedtls_ssl_config_defaults( mbedtls_ssl_config *conf, conf->cert_profile = &mbedtls_x509_crt_profile_default; #endif -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if defined(MBEDTLS_SSL_PROTO_TLS1_2) if( mbedtls_ssl_conf_is_tls12_only( conf ) ) conf->sig_algs = ssl_tls12_preset_default_sig_algs; else #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ conf->sig_algs = ssl_preset_default_sig_algs; -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_ECP_C) && !defined(MBEDTLS_DEPRECATED_REMOVED) conf->curve_list = NULL; @@ -4512,7 +5253,7 @@ void mbedtls_ssl_config_free( mbedtls_ssl_config *conf ) mbedtls_mpi_free( &conf->dhm_G ); #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) if( ! mbedtls_svc_key_id_is_null( conf->psk_opaque ) ) { @@ -4534,7 +5275,7 @@ void mbedtls_ssl_config_free( mbedtls_ssl_config *conf ) conf->psk_identity = NULL; conf->psk_identity_len = 0; } -#endif +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_X509_CRT_PARSE_C) ssl_key_cert_free( conf->key_cert ); @@ -4599,27 +5340,27 @@ mbedtls_md_type_t mbedtls_ssl_md_alg_from_hash( unsigned char hash ) { switch( hash ) { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_MD5: return( MBEDTLS_MD_MD5 ); #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA1: return( MBEDTLS_MD_SHA1 ); #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA224: return( MBEDTLS_MD_SHA224 ); #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA256: return( MBEDTLS_MD_SHA256 ); #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA384: return( MBEDTLS_MD_SHA384 ); #endif -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA512: return( MBEDTLS_MD_SHA512 ); #endif @@ -4635,27 +5376,27 @@ unsigned char mbedtls_ssl_hash_from_md_alg( int md ) { switch( md ) { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_MD5: return( MBEDTLS_SSL_HASH_MD5 ); #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA1: return( MBEDTLS_SSL_HASH_SHA1 ); #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA224: return( MBEDTLS_SSL_HASH_SHA224 ); #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA256: return( MBEDTLS_SSL_HASH_SHA256 ); #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA384: return( MBEDTLS_SSL_HASH_SHA384 ); #endif -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA512: return( MBEDTLS_SSL_HASH_SHA512 ); #endif @@ -4690,7 +5431,14 @@ int mbedtls_ssl_check_curve_tls_id( const mbedtls_ssl_context *ssl, uint16_t tls */ int mbedtls_ssl_check_curve( const mbedtls_ssl_context *ssl, mbedtls_ecp_group_id grp_id ) { - uint16_t tls_id = mbedtls_ecp_curve_info_from_grp_id( grp_id )->tls_id; + const mbedtls_ecp_curve_info *grp_info = + mbedtls_ecp_curve_info_from_grp_id( grp_id ); + + if ( grp_info == NULL ) + return -1; + + uint16_t tls_id = grp_info->tls_id; + return mbedtls_ssl_check_curve_tls_id( ssl, tls_id ); } #endif /* MBEDTLS_ECP_C */ @@ -4784,13 +5532,13 @@ int mbedtls_ssl_get_handshake_transcript( mbedtls_ssl_context *ssl, switch( md ) { -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA384: hash_operation_to_clone = &ssl->handshake->fin_sha384_psa; break; #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA256: hash_operation_to_clone = &ssl->handshake->fin_sha256_psa; break; @@ -4809,11 +5557,15 @@ int mbedtls_ssl_get_handshake_transcript( mbedtls_ssl_context *ssl, goto exit; exit: +#if !defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + !defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + (void) ssl; +#endif return( psa_ssl_status_to_mbedtls( status ) ); } #else /* MBEDTLS_USE_PSA_CRYPTO */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_handshake_transcript_sha384( mbedtls_ssl_context *ssl, unsigned char *dst, @@ -4827,7 +5579,7 @@ static int ssl_get_handshake_transcript_sha384( mbedtls_ssl_context *ssl, return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); mbedtls_sha512_init( &sha512 ); - mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha512 ); + mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha384 ); if( ( ret = mbedtls_sha512_finish( &sha512, dst ) ) != 0 ) { @@ -4842,9 +5594,9 @@ static int ssl_get_handshake_transcript_sha384( mbedtls_ssl_context *ssl, mbedtls_sha512_free( &sha512 ); return( ret ); } -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_get_handshake_transcript_sha256( mbedtls_ssl_context *ssl, unsigned char *dst, @@ -4873,7 +5625,7 @@ static int ssl_get_handshake_transcript_sha256( mbedtls_ssl_context *ssl, mbedtls_sha256_free( &sha256 ); return( ret ); } -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ int mbedtls_ssl_get_handshake_transcript( mbedtls_ssl_context *ssl, const mbedtls_md_type_t md, @@ -4884,17 +5636,24 @@ int mbedtls_ssl_get_handshake_transcript( mbedtls_ssl_context *ssl, switch( md ) { -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA384: return( ssl_get_handshake_transcript_sha384( ssl, dst, dst_len, olen ) ); -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_MD_SHA256: return( ssl_get_handshake_transcript_sha256( ssl, dst, dst_len, olen ) ); -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ default: +#if !defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + !defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + (void) ssl; + (void) dst; + (void) dst_len; + (void) olen; +#endif break; } return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); @@ -4902,7 +5661,7 @@ int mbedtls_ssl_get_handshake_transcript( mbedtls_ssl_context *ssl, #endif /* !MBEDTLS_USE_PSA_CRYPTO */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* mbedtls_ssl_parse_sig_alg_ext() * * The `extension_data` field of signature algorithm contains a `SignatureSchemeList` @@ -5010,7 +5769,7 @@ int mbedtls_ssl_parse_sig_alg_ext( mbedtls_ssl_context *ssl, return( 0 ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_PROTO_TLS1_2) @@ -5081,6 +5840,8 @@ static psa_status_t setup_psa_key_derivation( psa_key_derivation_operation_t* de return( PSA_SUCCESS ); } +#if defined(PSA_WANT_ALG_SHA_384) || \ + defined(PSA_WANT_ALG_SHA_256) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_generic( mbedtls_md_type_t md_type, const unsigned char *secret, size_t slen, @@ -5155,9 +5916,12 @@ static int tls_prf_generic( mbedtls_md_type_t md_type, return( 0 ); } - +#endif /* PSA_WANT_ALG_SHA_256 || PSA_WANT_ALG_SHA_384 */ #else /* MBEDTLS_USE_PSA_CRYPTO */ +#if defined(MBEDTLS_MD_C) && \ + ( defined(MBEDTLS_SHA256_C) || \ + defined(MBEDTLS_SHA384_C) ) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_generic( mbedtls_md_type_t md_type, const unsigned char *secret, size_t slen, @@ -5241,16 +6005,19 @@ static int tls_prf_generic( mbedtls_md_type_t md_type, exit: mbedtls_md_free( &md_ctx ); - mbedtls_platform_zeroize( tmp, tmp_len ); + if ( tmp != NULL ) + mbedtls_platform_zeroize( tmp, tmp_len ); + mbedtls_platform_zeroize( h_i, sizeof( h_i ) ); mbedtls_free( tmp ); return( ret ); } +#endif /* MBEDTLS_MD_C && ( MBEDTLS_SHA256_C || MBEDTLS_SHA384_C ) */ #endif /* MBEDTLS_USE_PSA_CRYPTO */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha256( const unsigned char *secret, size_t slen, const char *label, @@ -5260,9 +6027,9 @@ static int tls_prf_sha256( const unsigned char *secret, size_t slen, return( tls_prf_generic( MBEDTLS_MD_SHA256, secret, slen, label, random, rlen, dstbuf, dlen ) ); } -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_CHECK_RETURN_CRITICAL static int tls_prf_sha384( const unsigned char *secret, size_t slen, const char *label, @@ -5272,7 +6039,7 @@ static int tls_prf_sha384( const unsigned char *secret, size_t slen, return( tls_prf_generic( MBEDTLS_MD_SHA384, secret, slen, label, random, rlen, dstbuf, dlen ) ); } -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ /* * Set appropriate PRF function and other SSL / TLS1.2 functions @@ -5287,7 +6054,7 @@ MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_set_handshake_prfs( mbedtls_ssl_handshake_params *handshake, mbedtls_md_type_t hash ) { -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( hash == MBEDTLS_MD_SHA384 ) { handshake->tls_prf = tls_prf_sha384; @@ -5296,7 +6063,7 @@ static int ssl_set_handshake_prfs( mbedtls_ssl_handshake_params *handshake, } else #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) { (void) hash; handshake->tls_prf = tls_prf_sha256; @@ -5458,6 +6225,55 @@ static int ssl_compute_master( mbedtls_ssl_handshake_params *handshake, else #endif { +#if defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) + if( handshake->ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE ) + { + psa_status_t status; + psa_algorithm_t alg = PSA_ALG_TLS12_ECJPAKE_TO_PMS; + psa_key_derivation_operation_t derivation = + PSA_KEY_DERIVATION_OPERATION_INIT; + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "perform PSA-based PMS KDF for ECJPAKE" ) ); + + handshake->pmslen = PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE; + + status = psa_key_derivation_setup( &derivation, alg ); + if( status != PSA_SUCCESS ) + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + + status = psa_key_derivation_set_capacity( &derivation, + PSA_TLS12_ECJPAKE_TO_PMS_DATA_SIZE ); + if( status != PSA_SUCCESS ) + { + psa_key_derivation_abort( &derivation ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + status = psa_pake_get_implicit_key( &handshake->psa_pake_ctx, + &derivation ); + if( status != PSA_SUCCESS ) + { + psa_key_derivation_abort( &derivation ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + status = psa_key_derivation_output_bytes( &derivation, + handshake->premaster, + handshake->pmslen ); + if( status != PSA_SUCCESS ) + { + psa_key_derivation_abort( &derivation ); + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + + status = psa_key_derivation_abort( &derivation ); + if( status != PSA_SUCCESS ) + { + return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED ); + } + } +#endif ret = handshake->tls_prf( handshake->premaster, handshake->pmslen, lbl, seed, seed_len, master, @@ -5548,12 +6364,12 @@ int mbedtls_ssl_set_calc_verify_md( mbedtls_ssl_context *ssl, int md ) { switch( md ) { -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA384: ssl->handshake->calc_verify = ssl_calc_verify_tls_sha384; break; #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) case MBEDTLS_SSL_HASH_SHA256: ssl->handshake->calc_verify = ssl_calc_verify_tls_sha256; break; @@ -5561,11 +6377,14 @@ int mbedtls_ssl_set_calc_verify_md( mbedtls_ssl_context *ssl, int md ) default: return( -1 ); } - +#if !defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + !defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + (void) ssl; +#endif return( 0 ); } -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) void ssl_calc_verify_tls_sha256( const mbedtls_ssl_context *ssl, unsigned char *hash, size_t *hlen ) @@ -5612,9 +6431,9 @@ void ssl_calc_verify_tls_sha256( const mbedtls_ssl_context *ssl, #endif /* MBEDTLS_USE_PSA_CRYPTO */ return; } -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) void ssl_calc_verify_tls_sha384( const mbedtls_ssl_context *ssl, unsigned char *hash, size_t *hlen ) @@ -5649,7 +6468,7 @@ void ssl_calc_verify_tls_sha384( const mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> calc verify sha384" ) ); - mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha512 ); + mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha384 ); mbedtls_sha512_finish( &sha512, hash ); *hlen = 48; @@ -5661,7 +6480,7 @@ void ssl_calc_verify_tls_sha384( const mbedtls_ssl_context *ssl, #endif /* MBEDTLS_USE_PSA_CRYPTO */ return; } -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #if !defined(MBEDTLS_USE_PSA_CRYPTO) && \ defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) @@ -6333,14 +7152,27 @@ static int ssl_parse_certificate_verify( mbedtls_ssl_context *ssl, /* If certificate uses an EC key, make sure the curve is OK. * This is a public key, so it can't be opaque, so can_do() is a good * enough check to ensure pk_ec() is safe to use here. */ - if( mbedtls_pk_can_do( pk, MBEDTLS_PK_ECKEY ) && - mbedtls_ssl_check_curve( ssl, mbedtls_pk_ec( *pk )->grp.id ) != 0 ) + if( mbedtls_pk_can_do( pk, MBEDTLS_PK_ECKEY ) ) { - ssl->session_negotiate->verify_result |= MBEDTLS_X509_BADCERT_BAD_KEY; + /* and in the unlikely case the above assumption no longer holds + * we are making sure that pk_ec() here does not return a NULL + */ + const mbedtls_ecp_keypair *ec = mbedtls_pk_ec( *pk ); + if( ec == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "mbedtls_pk_ec() returned NULL" ) ); + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + if( mbedtls_ssl_check_curve( ssl, ec->grp.id ) != 0 ) + { + ssl->session_negotiate->verify_result |= + MBEDTLS_X509_BADCERT_BAD_KEY; - MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad certificate (EC key curve)" ) ); - if( ret == 0 ) - ret = MBEDTLS_ERR_SSL_BAD_CERTIFICATE; + MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad certificate (EC key curve)" ) ); + if( ret == 0 ) + ret = MBEDTLS_ERR_SSL_BAD_CERTIFICATE; + } } } #endif /* MBEDTLS_ECP_C */ @@ -6626,7 +7458,7 @@ int mbedtls_ssl_parse_certificate( mbedtls_ssl_context *ssl ) } #endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_calc_finished_tls_sha256( mbedtls_ssl_context *ssl, unsigned char *buf, int from ) { @@ -6700,11 +7532,10 @@ static void ssl_calc_finished_tls_sha256( MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= calc finished" ) ); } -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ -#if defined(MBEDTLS_SHA384_C) - +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static void ssl_calc_finished_tls_sha384( mbedtls_ssl_context *ssl, unsigned char *buf, int from ) { @@ -6751,7 +7582,7 @@ static void ssl_calc_finished_tls_sha384( MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> calc finished tls sha384" ) ); - mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha512 ); + mbedtls_sha512_clone( &sha512, &ssl->handshake->fin_sha384 ); /* * TLSv1.2: @@ -6777,7 +7608,7 @@ static void ssl_calc_finished_tls_sha384( MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= calc finished" ) ); } -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA*/ void mbedtls_ssl_handshake_wrapup_free_hs_transform( mbedtls_ssl_context *ssl ) { @@ -6864,7 +7695,7 @@ void mbedtls_ssl_handshake_wrapup( mbedtls_ssl_context *ssl ) #endif mbedtls_ssl_handshake_wrapup_free_hs_transform( ssl ); - ssl->state++; + ssl->state = MBEDTLS_SSL_HANDSHAKE_OVER; MBEDTLS_SSL_DEBUG_MSG( 3, ( "<= handshake wrapup" ) ); } @@ -7070,30 +7901,39 @@ int mbedtls_ssl_parse_finished( mbedtls_ssl_context *ssl ) */ static tls_prf_fn ssl_tls12prf_from_cs( int ciphersuite_id ) { -#if defined(MBEDTLS_SHA384_C) const mbedtls_ssl_ciphersuite_t * const ciphersuite_info = - mbedtls_ssl_ciphersuite_from_id( ciphersuite_id ); - - if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) + mbedtls_ssl_ciphersuite_from_id( ciphersuite_id ); +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + if( ciphersuite_info != NULL && ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) return( tls_prf_sha384 ); -#else - (void) ciphersuite_id; + else +#endif +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + { + if( ciphersuite_info != NULL && ciphersuite_info->mac == MBEDTLS_MD_SHA256 ) + return( tls_prf_sha256 ); + } #endif - return( tls_prf_sha256 ); +#if !defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \ + !defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + (void) ciphersuite_info; +#endif + + return( NULL ); } #endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */ static mbedtls_tls_prf_types tls_prf_get_type( mbedtls_ssl_tls_prf_cb *tls_prf ) { ((void) tls_prf); -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( tls_prf == tls_prf_sha384 ) { return( MBEDTLS_SSL_TLS_PRF_SHA384 ); } else #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( tls_prf == tls_prf_sha256 ) { return( MBEDTLS_SSL_TLS_PRF_SHA256 ); @@ -7114,7 +7954,6 @@ static mbedtls_tls_prf_types tls_prf_get_type( mbedtls_ssl_tls_prf_cb *tls_prf ) * - [in] ciphersuite * - [in] master * - [in] encrypt_then_mac - * - [in] compression * - [in] tls_prf: pointer to PRF to use for key derivation * - [in] randbytes: buffer holding ServerHello.random + ClientHello.random * - [in] tls_version: TLS version @@ -7235,10 +8074,10 @@ static int ssl_tls12_populate_transform( mbedtls_ssl_transform *transform, #endif /* MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_USE_PSA_CRYPTO) - mac_alg = mbedtls_psa_translate_md( ciphersuite_info->mac ); + mac_alg = mbedtls_hash_info_psa_from_md( ciphersuite_info->mac ); if( mac_alg == 0 ) { - MBEDTLS_SSL_DEBUG_MSG( 1, ( "mbedtls_psa_translate_md for %u not found", + MBEDTLS_SSL_DEBUG_MSG( 1, ( "mbedtls_hash_info_psa_from_md for %u not found", (unsigned) ciphersuite_info->mac ) ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); } @@ -7317,11 +8156,16 @@ static int ssl_tls12_populate_transform( mbedtls_ssl_transform *transform, * sequence number). */ transform->ivlen = 12; + + int is_chachapoly = 0; #if defined(MBEDTLS_USE_PSA_CRYPTO) - if( key_type == PSA_KEY_TYPE_CHACHA20 ) + is_chachapoly = ( key_type == PSA_KEY_TYPE_CHACHA20 ); #else - if( mbedtls_cipher_info_get_mode( cipher_info ) == MBEDTLS_MODE_CHACHAPOLY ) + is_chachapoly = ( mbedtls_cipher_info_get_mode( cipher_info ) + == MBEDTLS_MODE_CHACHAPOLY ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ + + if( is_chachapoly ) transform->fixed_ivlen = 12; else transform->fixed_ivlen = 4; @@ -7575,8 +8419,11 @@ static int ssl_tls12_populate_transform( mbedtls_ssl_transform *transform, } if( ( transform->psa_alg == MBEDTLS_SSL_NULL_CIPHER ) || - ( ( transform->psa_alg == PSA_ALG_CBC_NO_PADDING ) && - ( transform->encrypt_then_mac == MBEDTLS_SSL_ETM_DISABLED ) ) ) + ( ( transform->psa_alg == PSA_ALG_CBC_NO_PADDING ) +#if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM) + && ( transform->encrypt_then_mac == MBEDTLS_SSL_ETM_DISABLED ) +#endif + ) ) /* mbedtls_ct_hmac() requires the key to be exportable */ psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_VERIFY_HASH ); @@ -7610,6 +8457,99 @@ static int ssl_tls12_populate_transform( mbedtls_ssl_transform *transform, return( ret ); } +#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \ + defined(MBEDTLS_USE_PSA_CRYPTO) +int mbedtls_psa_ecjpake_read_round( + psa_pake_operation_t *pake_ctx, + const unsigned char *buf, + size_t len, mbedtls_ecjpake_rounds_t round ) +{ + psa_status_t status; + size_t input_offset = 0; + /* + * At round one repeat the KEY_SHARE, ZK_PUBLIC & ZF_PROOF twice + * At round two perform a single cycle + */ + unsigned int remaining_steps = ( round == MBEDTLS_ECJPAKE_ROUND_ONE) ? 2 : 1; + + for( ; remaining_steps > 0; remaining_steps-- ) + { + for( psa_pake_step_t step = PSA_PAKE_STEP_KEY_SHARE; + step <= PSA_PAKE_STEP_ZK_PROOF; + ++step ) + { + /* Length is stored at the first byte */ + size_t length = buf[input_offset]; + input_offset += 1; + + if( input_offset + length > len ) + { + return MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE; + } + + status = psa_pake_input( pake_ctx, step, + buf + input_offset, length ); + if( status != PSA_SUCCESS) + { + return psa_ssl_status_to_mbedtls( status ); + } + + input_offset += length; + } + } + + if( input_offset != len ) + return MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE; + + return( 0 ); +} + +int mbedtls_psa_ecjpake_write_round( + psa_pake_operation_t *pake_ctx, + unsigned char *buf, + size_t len, size_t *olen, + mbedtls_ecjpake_rounds_t round ) +{ + psa_status_t status; + size_t output_offset = 0; + size_t output_len; + /* + * At round one repeat the KEY_SHARE, ZK_PUBLIC & ZF_PROOF twice + * At round two perform a single cycle + */ + unsigned int remaining_steps = ( round == MBEDTLS_ECJPAKE_ROUND_ONE) ? 2 : 1; + + for( ; remaining_steps > 0; remaining_steps-- ) + { + for( psa_pake_step_t step = PSA_PAKE_STEP_KEY_SHARE; + step <= PSA_PAKE_STEP_ZK_PROOF; + ++step ) + { + /* + * For each step, prepend 1 byte with the length of the data as + * given by psa_pake_output(). + */ + status = psa_pake_output( pake_ctx, step, + buf + output_offset + 1, + len - output_offset - 1, + &output_len ); + if( status != PSA_SUCCESS ) + { + return( psa_ssl_status_to_mbedtls( status ) ); + } + + *(buf + output_offset) = (uint8_t) output_len; + + output_offset += output_len + 1; + } + } + + *olen = output_offset; + + return( 0 ); +} +#endif //MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED && MBEDTLS_USE_PSA_CRYPTO + #if defined(MBEDTLS_USE_PSA_CRYPTO) int mbedtls_ssl_get_key_exchange_md_tls1_2( mbedtls_ssl_context *ssl, unsigned char *hash, size_t *hashlen, @@ -7618,7 +8558,7 @@ int mbedtls_ssl_get_key_exchange_md_tls1_2( mbedtls_ssl_context *ssl, { psa_status_t status; psa_hash_operation_t hash_operation = PSA_HASH_OPERATION_INIT; - psa_algorithm_t hash_alg = mbedtls_psa_translate_md( md_alg ); + psa_algorithm_t hash_alg = mbedtls_hash_info_psa_from_md( md_alg ); MBEDTLS_SSL_DEBUG_MSG( 3, ( "Perform PSA-based computation of digest of ServerKeyExchange" ) ); @@ -7759,7 +8699,7 @@ unsigned int mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg( if( ssl->handshake->key_cert && ssl->handshake->key_cert->key ) { psa_algorithm_t psa_hash_alg = - mbedtls_psa_translate_md( hash_alg_received ); + mbedtls_hash_info_psa_from_md( hash_alg_received ); if( sig_alg_received == MBEDTLS_SSL_SIG_ECDSA && ! mbedtls_pk_can_do_ext( ssl->handshake->key_cert->key, @@ -7790,7 +8730,6 @@ unsigned int mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg( * struct { * uint64 start_time; * uint8 ciphersuite[2]; // defined by the standard - * uint8 compression; // 0 or 1 * uint8 session_id_len; // at most 32 * opaque session_id[32]; * opaque master[48]; // fixed length in the standard @@ -7803,7 +8742,7 @@ unsigned int mbedtls_ssl_tls12_get_preferred_hash_for_sig_alg( * } serialized_session_tls12; * */ -static size_t ssl_session_save_tls12( const mbedtls_ssl_session *session, +static size_t ssl_tls12_session_save( const mbedtls_ssl_session *session, unsigned char *buf, size_t buf_len ) { @@ -7838,7 +8777,6 @@ static size_t ssl_session_save_tls12( const mbedtls_ssl_session *session, * Basic mandatory fields */ used += 2 /* ciphersuite */ - + 1 /* compression */ + 1 /* id_len */ + sizeof( session->id ) + sizeof( session->master ) @@ -7849,8 +8787,6 @@ static size_t ssl_session_save_tls12( const mbedtls_ssl_session *session, MBEDTLS_PUT_UINT16_BE( session->ciphersuite, p, 0 ); p += 2; - *p++ = MBEDTLS_BYTE_0( session->compression ); - *p++ = MBEDTLS_BYTE_0( session->id_len ); memcpy( p, session->id, 32 ); p += 32; @@ -7955,7 +8891,7 @@ static size_t ssl_session_save_tls12( const mbedtls_ssl_session *session, } MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_session_load_tls12( mbedtls_ssl_session *session, +static int ssl_tls12_session_load( mbedtls_ssl_session *session, const unsigned char *buf, size_t len ) { @@ -7994,14 +8930,12 @@ static int ssl_session_load_tls12( mbedtls_ssl_session *session, /* * Basic mandatory fields */ - if( 2 + 1 + 1 + 32 + 48 + 4 > (size_t)( end - p ) ) + if( 2 + 1 + 32 + 48 + 4 > (size_t)( end - p ) ) return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); session->ciphersuite = ( p[0] << 8 ) | p[1]; p += 2; - session->compression = *p++; - session->id_len = *p++; memcpy( session->id, p, 32 ); p += 32; @@ -8174,8 +9108,13 @@ int mbedtls_ssl_validate_ciphersuite( #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_SSL_CLI_C) #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( suite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE && + ssl->handshake->psa_pake_ctx_is_ok != 1 ) +#else if( suite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE && mbedtls_ecjpake_check( &ssl->handshake->ecjpake_ctx ) != 0 ) +#endif /* MBEDTLS_USE_PSA_CRYPTO */ { return( -1 ); } @@ -8194,7 +9133,7 @@ int mbedtls_ssl_validate_ciphersuite( return( 0 ); } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * Function for writing a signature algorithm extension. * @@ -8293,11 +9232,12 @@ int mbedtls_ssl_write_sig_alg_ext( mbedtls_ssl_context *ssl, unsigned char *buf, *out_len = p - buf; #if defined(MBEDTLS_SSL_PROTO_TLS1_3) - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SIG_ALG; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_SIG_ALG ); #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + return( 0 ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) /* @@ -8493,8 +9433,63 @@ int mbedtls_ssl_write_alpn_ext( mbedtls_ssl_context *ssl, p[6] = MBEDTLS_BYTE_0( protocol_name_len ); memcpy( p + 7, ssl->alpn_chosen, protocol_name_len ); + +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_ALPN ); +#endif + return ( 0 ); } #endif /* MBEDTLS_SSL_ALPN */ +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ + defined(MBEDTLS_SSL_SESSION_TICKETS) && \ + defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \ + defined(MBEDTLS_SSL_CLI_C) +int mbedtls_ssl_session_set_hostname( mbedtls_ssl_session *session, + const char *hostname ) +{ + /* Initialize to suppress unnecessary compiler warning */ + size_t hostname_len = 0; + + /* Check if new hostname is valid before + * making any change to current one */ + if( hostname != NULL ) + { + hostname_len = strlen( hostname ); + + if( hostname_len > MBEDTLS_SSL_MAX_HOST_NAME_LEN ) + return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); + } + + /* Now it's clear that we will overwrite the old hostname, + * so we can free it safely */ + if( session->hostname != NULL ) + { + mbedtls_platform_zeroize( session->hostname, + strlen( session->hostname ) ); + mbedtls_free( session->hostname ); + } + + /* Passing NULL as hostname shall clear the old one */ + if( hostname == NULL ) + { + session->hostname = NULL; + } + else + { + session->hostname = mbedtls_calloc( 1, hostname_len + 1 ); + if( session->hostname == NULL ) + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + + memcpy( session->hostname, hostname, hostname_len ); + } + + return( 0 ); +} +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && + MBEDTLS_SSL_SESSION_TICKETS && + MBEDTLS_SSL_SERVER_NAME_INDICATION && + MBEDTLS_SSL_CLI_C */ + #endif /* MBEDTLS_SSL_TLS_C */ diff --git a/library/ssl_tls12_client.c b/library/ssl_tls12_client.c index 7fa6443a02..7a1745205c 100644 --- a/library/ssl_tls12_client.c +++ b/library/ssl_tls12_client.c @@ -21,13 +21,7 @@ #if defined(MBEDTLS_SSL_CLI_C) && defined(MBEDTLS_SSL_PROTO_TLS1_2) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ssl.h" #include "ssl_client.h" @@ -53,26 +47,7 @@ #include "mbedtls/platform_util.h" #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) -int mbedtls_ssl_conf_has_static_psk( mbedtls_ssl_config const *conf ) -{ - if( conf->psk_identity == NULL || - conf->psk_identity_len == 0 ) - { - return( 0 ); - } - -#if defined(MBEDTLS_USE_PSA_CRYPTO) - if( ! mbedtls_svc_key_id_is_null( conf->psk_opaque ) ) - return( 1 ); -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - - if( conf->psk != NULL && conf->psk_len != 0 ) - return( 1 ); - - return( 0 ); -} -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#include "hash_info.h" #if defined(MBEDTLS_SSL_RENEGOTIATION) MBEDTLS_CHECK_RETURN_CRITICAL @@ -85,7 +60,7 @@ static int ssl_write_renegotiation_ext( mbedtls_ssl_context *ssl, *olen = 0; - /* We're always including an TLS_EMPTY_RENEGOTIATION_INFO_SCSV in the + /* We're always including a TLS_EMPTY_RENEGOTIATION_INFO_SCSV in the * initial ClientHello, in which case also adding the renegotiation * info extension is NOT RECOMMENDED as per RFC 5746 Section 3.4. */ if( ssl->renego_status != MBEDTLS_SSL_RENEGOTIATION_IN_PROGRESS ) @@ -157,13 +132,18 @@ static int ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl, { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *p = buf; - size_t kkpp_len; + size_t kkpp_len = 0; *olen = 0; /* Skip costly extension if we can't use EC J-PAKE anyway */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ssl->handshake->psa_pake_ctx_is_ok != 1 ) + return( 0 ); +#else if( mbedtls_ecjpake_check( &ssl->handshake->ecjpake_ctx ) != 0 ) return( 0 ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello, adding ecjpake_kkpp extension" ) ); @@ -183,6 +163,18 @@ static int ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl, { MBEDTLS_SSL_DEBUG_MSG( 3, ( "generating new ecjpake parameters" ) ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) + ret = mbedtls_psa_ecjpake_write_round(&ssl->handshake->psa_pake_ctx, + p + 2, end - p - 2, &kkpp_len, + MBEDTLS_ECJPAKE_ROUND_ONE ); + if ( ret != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + MBEDTLS_SSL_DEBUG_RET( 1 , "psa_pake_output", ret ); + return( ret ); + } +#else ret = mbedtls_ecjpake_write_round_one( &ssl->handshake->ecjpake_ctx, p + 2, end - p - 2, &kkpp_len, ssl->conf->f_rng, ssl->conf->p_rng ); @@ -192,6 +184,7 @@ static int ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl, "mbedtls_ecjpake_write_round_one", ret ); return( ret ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ ssl->handshake->ecjpake_cache = mbedtls_calloc( 1, kkpp_len ); if( ssl->handshake->ecjpake_cache == NULL ) @@ -233,9 +226,6 @@ static int ssl_write_cid_ext( mbedtls_ssl_context *ssl, size_t ext_len; /* - * Quoting draft-ietf-tls-dtls-connection-id-05 - * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05 - * * struct { * opaque cid<0..2^8-1>; * } ConnectionId; @@ -874,10 +864,11 @@ static int ssl_parse_supported_point_formats_ext( mbedtls_ssl_context *ssl, ssl->handshake->ecdh_ctx.point_format = p[0]; #endif /* !MBEDTLS_USE_PSA_CRYPTO && ( MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C ) */ -#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) mbedtls_ecjpake_set_point_format( &ssl->handshake->ecjpake_ctx, p[0] ); -#endif +#endif /* !MBEDTLS_USE_PSA_CRYPTO && MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) ); return( 0 ); } @@ -914,6 +905,24 @@ static int ssl_parse_ecjpake_kkpp( mbedtls_ssl_context *ssl, ssl->handshake->ecjpake_cache = NULL; ssl->handshake->ecjpake_cache_len = 0; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ( ret = mbedtls_psa_ecjpake_read_round( + &ssl->handshake->psa_pake_ctx, buf, len, + MBEDTLS_ECJPAKE_ROUND_ONE ) ) != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + + MBEDTLS_SSL_DEBUG_RET( 1, "psa_pake_input round one", ret ); + mbedtls_ssl_send_alert_message( + ssl, + MBEDTLS_SSL_ALERT_LEVEL_FATAL, + MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE ); + return( ret ); + } + + return( 0 ); +#else if( ( ret = mbedtls_ecjpake_read_round_one( &ssl->handshake->ecjpake_ctx, buf, len ) ) != 0 ) { @@ -926,6 +935,7 @@ static int ssl_parse_ecjpake_kkpp( mbedtls_ssl_context *ssl, } return( 0 ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ } #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ @@ -1413,7 +1423,6 @@ static int ssl_parse_server_hello( mbedtls_ssl_context *ssl ) ssl->renego_status != MBEDTLS_SSL_INITIAL_HANDSHAKE || #endif ssl->session_negotiate->ciphersuite != i || - ssl->session_negotiate->compression != comp || ssl->session_negotiate->id_len != n || memcmp( ssl->session_negotiate->id, buf + 35, n ) != 0 ) { @@ -1423,7 +1432,6 @@ static int ssl_parse_server_hello( mbedtls_ssl_context *ssl ) ssl->session_negotiate->start = mbedtls_time( NULL ); #endif ssl->session_negotiate->ciphersuite = i; - ssl->session_negotiate->compression = comp; ssl->session_negotiate->id_len = n; memcpy( ssl->session_negotiate->id, buf + 35, n ); } @@ -1486,8 +1494,7 @@ static int ssl_parse_server_hello( mbedtls_ssl_context *ssl ) } #endif - if( comp != MBEDTLS_SSL_COMPRESS_NULL - ) + if( comp != MBEDTLS_SSL_COMPRESS_NULL ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad server hello message" ) ); mbedtls_ssl_send_alert_message( @@ -1496,7 +1503,6 @@ static int ssl_parse_server_hello( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER ); return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); } - ssl->session_negotiate->compression = comp; ext = buf + 40 + n; @@ -1779,10 +1785,10 @@ static int ssl_parse_server_dh_params( mbedtls_ssl_context *ssl, #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED || MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ - defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ - defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) +#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_ecdh_params( mbedtls_ssl_context *ssl, unsigned char **p, @@ -1847,7 +1853,15 @@ static int ssl_parse_server_ecdh_params( mbedtls_ssl_context *ssl, return( 0 ); } +#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ #else +#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_check_server_ecdh_params( const mbedtls_ssl_context *ssl ) { @@ -1877,6 +1891,15 @@ static int ssl_check_server_ecdh_params( const mbedtls_ssl_context *ssl ) return( 0 ); } +#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED || + MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ + +#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ + defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_ecdh_params( mbedtls_ssl_context *ssl, unsigned char **p, @@ -1912,11 +1935,10 @@ static int ssl_parse_server_ecdh_params( mbedtls_ssl_context *ssl, return( ret ); } -#endif /* MBEDTLS_USE_PSA_CRYPTO */ -#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED || - MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED || - MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ - +#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED || \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED || \ + MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ +#endif /* !MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_server_psk_hint( mbedtls_ssl_context *ssl, @@ -1949,8 +1971,8 @@ static int ssl_parse_server_psk_hint( mbedtls_ssl_context *ssl, } /* - * Note: we currently ignore the PKS identity hint, as we only allow one - * PSK to be provisionned on the client. This could be changed later if + * Note: we currently ignore the PSK identity hint, as we only allow one + * PSK to be provisioned on the client. This could be changed later if * someone needs that feature. */ *p += len; @@ -2045,66 +2067,6 @@ static int ssl_write_encrypted_pms( mbedtls_ssl_context *ssl, #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED || MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ - defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ - defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_parse_signature_algorithm( mbedtls_ssl_context *ssl, - unsigned char **p, - unsigned char *end, - mbedtls_md_type_t *md_alg, - mbedtls_pk_type_t *pk_alg ) -{ - *md_alg = MBEDTLS_MD_NONE; - *pk_alg = MBEDTLS_PK_NONE; - - if( (*p) + 2 > end ) - return( MBEDTLS_ERR_SSL_DECODE_ERROR ); - - /* - * Get hash algorithm - */ - if( ( *md_alg = mbedtls_ssl_md_alg_from_hash( (*p)[0] ) ) - == MBEDTLS_MD_NONE ) - { - MBEDTLS_SSL_DEBUG_MSG( 1, - ( "Server used unsupported HashAlgorithm %d", *(p)[0] ) ); - return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); - } - - /* - * Get signature algorithm - */ - if( ( *pk_alg = mbedtls_ssl_pk_alg_from_sig( (*p)[1] ) ) - == MBEDTLS_PK_NONE ) - { - MBEDTLS_SSL_DEBUG_MSG( 1, - ( "server used unsupported SignatureAlgorithm %d", (*p)[1] ) ); - return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); - } - - /* - * Check if the signature algorithm is acceptable - */ - if( !mbedtls_ssl_sig_alg_is_offered( ssl, MBEDTLS_GET_UINT16_BE( *p, 0 ) ) ) - { - MBEDTLS_SSL_DEBUG_MSG( 1, - ( "server used HashAlgorithm %d that was not offered", *(p)[0] ) ); - return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); - } - - MBEDTLS_SSL_DEBUG_MSG( 2, ( "Server used SignatureAlgorithm %d", - (*p)[1] ) ); - MBEDTLS_SSL_DEBUG_MSG( 2, ( "Server used HashAlgorithm %d", - (*p)[0] ) ); - *p += 2; - - return( 0 ); -} -#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED || - MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED || - MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ - #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL @@ -2369,6 +2331,47 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) if( ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE ) { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + /* + * The first 3 bytes are: + * [0] MBEDTLS_ECP_TLS_NAMED_CURVE + * [1, 2] elliptic curve's TLS ID + * + * However since we only support secp256r1 for now, we check only + * that TLS ID here + */ + uint16_t read_tls_id = MBEDTLS_GET_UINT16_BE( p, 1 ); + const mbedtls_ecp_curve_info *curve_info; + + if( ( curve_info = mbedtls_ecp_curve_info_from_grp_id( + MBEDTLS_ECP_DP_SECP256R1 ) ) == NULL ) + { + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); + } + + if( ( *p != MBEDTLS_ECP_TLS_NAMED_CURVE ) || + ( read_tls_id != curve_info->tls_id ) ) + { + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } + + p += 3; + + if( ( ret = mbedtls_psa_ecjpake_read_round( + &ssl->handshake->psa_pake_ctx, p, end - p, + MBEDTLS_ECJPAKE_ROUND_TWO ) ) != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + + MBEDTLS_SSL_DEBUG_RET( 1, "psa_pake_input round two", ret ); + mbedtls_ssl_send_alert_message( + ssl, + MBEDTLS_SSL_ALERT_LEVEL_FATAL, + MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE ); + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + } +#else ret = mbedtls_ecjpake_read_round_two( &ssl->handshake->ecjpake_ctx, p, end - p ); if( ret != 0 ) @@ -2380,6 +2383,7 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE ); return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ } else #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ @@ -2392,24 +2396,38 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) if( mbedtls_ssl_ciphersuite_uses_server_signature( ciphersuite_info ) ) { size_t sig_len, hashlen; -#if defined(MBEDTLS_USE_PSA_CRYPTO) - unsigned char hash[PSA_HASH_MAX_SIZE]; -#else - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; -#endif + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; + mbedtls_md_type_t md_alg = MBEDTLS_MD_NONE; mbedtls_pk_type_t pk_alg = MBEDTLS_PK_NONE; unsigned char *params = ssl->in_msg + mbedtls_ssl_hs_hdr_len( ssl ); size_t params_len = p - params; void *rs_ctx = NULL; + uint16_t sig_alg; mbedtls_pk_context * peer_pk; +#if !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) + peer_pk = &ssl->handshake->peer_pubkey; +#else /* !MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ + if( ssl->session_negotiate->peer_cert == NULL ) + { + /* Should never happen */ + MBEDTLS_SSL_DEBUG_MSG( 1, ( "should never happen" ) ); + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + peer_pk = &ssl->session_negotiate->peer_cert->pk; +#endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ + /* * Handle the digitally-signed structure */ - if( ssl_parse_signature_algorithm( ssl, &p, end, - &md_alg, &pk_alg ) != 0 ) + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 2 ); + sig_alg = MBEDTLS_GET_UINT16_BE( p, 0 ); + if( mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg( + sig_alg, &pk_alg, &md_alg ) != 0 && + ! mbedtls_ssl_sig_alg_is_offered( ssl, sig_alg ) && + ! mbedtls_ssl_sig_alg_is_supported( ssl, sig_alg ) ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad server key exchange message" ) ); @@ -2419,9 +2437,9 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER ); return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); } + p += 2; - if( pk_alg != - mbedtls_ssl_get_ciphersuite_sig_pk_alg( ciphersuite_info ) ) + if( !mbedtls_pk_can_do( peer_pk, pk_alg ) ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad server key exchange message" ) ); @@ -2479,18 +2497,6 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_BUF( 3, "parameters hash", hash, hashlen ); -#if !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) - peer_pk = &ssl->handshake->peer_pubkey; -#else /* !MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ - if( ssl->session_negotiate->peer_cert == NULL ) - { - /* Should never happen */ - MBEDTLS_SSL_DEBUG_MSG( 1, ( "should never happen" ) ); - return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); - } - peer_pk = &ssl->session_negotiate->peer_cert->pk; -#endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ - /* * Verify signature */ @@ -2509,12 +2515,33 @@ static int ssl_parse_server_key_exchange( mbedtls_ssl_context *ssl ) rs_ctx = &ssl->handshake->ecrs_ctx.pk; #endif - if( ( ret = mbedtls_pk_verify_restartable( peer_pk, - md_alg, hash, hashlen, p, sig_len, rs_ctx ) ) != 0 ) +#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) + if( pk_alg == MBEDTLS_PK_RSASSA_PSS ) + { + mbedtls_pk_rsassa_pss_options rsassa_pss_options; + rsassa_pss_options.mgf1_hash_id = md_alg; + rsassa_pss_options.expected_salt_len = + mbedtls_hash_info_get_size( md_alg ); + if( rsassa_pss_options.expected_salt_len == 0 ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + + ret = mbedtls_pk_verify_ext( pk_alg, &rsassa_pss_options, + peer_pk, + md_alg, hash, hashlen, + p, sig_len ); + } + else +#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */ + ret = mbedtls_pk_verify_restartable( peer_pk, + md_alg, hash, hashlen, p, sig_len, rs_ctx ); + + if( ret != 0 ) { + int send_alert_msg = 1; #if defined(MBEDTLS_SSL_ECP_RESTARTABLE_ENABLED) - if( ret != MBEDTLS_ERR_ECP_IN_PROGRESS ) + send_alert_msg = ( ret != MBEDTLS_ERR_ECP_IN_PROGRESS ); #endif + if( send_alert_msg ) mbedtls_ssl_send_alert_message( ssl, MBEDTLS_SSL_ALERT_LEVEL_FATAL, @@ -2704,7 +2731,7 @@ static int ssl_parse_certificate_request( mbedtls_ssl_context *ssl ) for( size_t i = 0; i < sig_alg_len; i += 2 ) { MBEDTLS_SSL_DEBUG_MSG( 3, - ( "Supported Signature Algorithm found: %d,%d", + ( "Supported Signature Algorithm found: %02x %02x", sig_alg[i], sig_alg[i + 1] ) ); } #endif @@ -2730,7 +2757,6 @@ static int ssl_parse_certificate_request( mbedtls_ssl_context *ssl ) { unsigned char *p = dn + i + 2; mbedtls_x509_name name; - mbedtls_x509_name *name_cur, *name_prv; size_t asn1_len; char s[MBEDTLS_X509_MAX_DN_NAME_SIZE]; memset( &name, 0, sizeof( name ) ); @@ -2750,14 +2776,7 @@ static int ssl_parse_certificate_request( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_MSG( 3, ( "DN hint: %.*s", mbedtls_x509_dn_gets( s, sizeof(s), &name ), s ) ); - name_cur = name.next; - while( name_cur != NULL ) - { - name_prv = name_cur; - name_cur = name_cur->next; - mbedtls_platform_zeroize( name_prv, sizeof( mbedtls_x509_name ) ); - mbedtls_free( name_prv ); - } + mbedtls_asn1_free_named_data_list_shallow( name.next ); } #endif @@ -3285,6 +3304,21 @@ static int ssl_write_client_key_exchange( mbedtls_ssl_context *ssl ) { header_len = 4; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + unsigned char *out_p = ssl->out_msg + header_len; + unsigned char *end_p = ssl->out_msg + MBEDTLS_SSL_OUT_CONTENT_LEN - + header_len; + ret = mbedtls_psa_ecjpake_write_round( &ssl->handshake->psa_pake_ctx, + out_p, end_p - out_p, &content_len, + MBEDTLS_ECJPAKE_ROUND_TWO ); + if ( ret != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + MBEDTLS_SSL_DEBUG_RET( 1 , "psa_pake_output", ret ); + return( ret ); + } +#else ret = mbedtls_ecjpake_write_round_two( &ssl->handshake->ecjpake_ctx, ssl->out_msg + header_len, MBEDTLS_SSL_OUT_CONTENT_LEN - header_len, @@ -3304,6 +3338,7 @@ static int ssl_write_client_key_exchange( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ecjpake_derive_secret", ret ); return( ret ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ } else #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ @@ -3627,7 +3662,7 @@ int mbedtls_ssl_handshake_client_step( mbedtls_ssl_context *ssl ) if( ssl->state == MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC && ssl->handshake->new_session_ticket != 0 ) { - ssl->state = MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET; + ssl->state = MBEDTLS_SSL_NEW_SESSION_TICKET; } #endif @@ -3704,7 +3739,7 @@ int mbedtls_ssl_handshake_client_step( mbedtls_ssl_context *ssl ) * Finished */ #if defined(MBEDTLS_SSL_SESSION_TICKETS) - case MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET: + case MBEDTLS_SSL_NEW_SESSION_TICKET: ret = ssl_parse_new_session_ticket( ssl ); break; #endif diff --git a/library/ssl_tls12_server.c b/library/ssl_tls12_server.c index 4e18e62852..eeb579a5c5 100644 --- a/library/ssl_tls12_server.c +++ b/library/ssl_tls12_server.c @@ -21,13 +21,7 @@ #if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_PROTO_TLS1_2) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif #include "mbedtls/ssl.h" #include "ssl_misc.h" @@ -36,6 +30,7 @@ #include "mbedtls/platform_util.h" #include "constant_time_internal.h" #include "mbedtls/constant_time.h" +#include "hash_info.h" #include @@ -273,10 +268,11 @@ static int ssl_parse_supported_point_formats( mbedtls_ssl_context *ssl, ssl->handshake->ecdh_ctx.point_format = p[0]; #endif /* !MBEDTLS_USE_PSA_CRYPTO && ( MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C ) */ -#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) +#if !defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) mbedtls_ecjpake_set_point_format( &ssl->handshake->ecjpake_ctx, p[0] ); -#endif +#endif /* !MBEDTLS_USE_PSA_CRYPTO && MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) ); return( 0 ); } @@ -294,16 +290,37 @@ static int ssl_parse_supported_point_formats( mbedtls_ssl_context *ssl, MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_parse_ecjpake_kkpp( mbedtls_ssl_context *ssl, const unsigned char *buf, - size_t len ) + size_t len) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ssl->handshake->psa_pake_ctx_is_ok != 1 ) +#else if( mbedtls_ecjpake_check( &ssl->handshake->ecjpake_ctx ) != 0 ) +#endif /* MBEDTLS_USE_PSA_CRYPTO */ { MBEDTLS_SSL_DEBUG_MSG( 3, ( "skip ecjpake kkpp extension" ) ); return( 0 ); } +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ( ret = mbedtls_psa_ecjpake_read_round( + &ssl->handshake->psa_pake_ctx, buf, len, + MBEDTLS_ECJPAKE_ROUND_ONE ) ) != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + + MBEDTLS_SSL_DEBUG_RET( 1, "psa_pake_input round one", ret ); + mbedtls_ssl_send_alert_message( + ssl, + MBEDTLS_SSL_ALERT_LEVEL_FATAL, + MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE ); + + return( ret ); + } +#else if( ( ret = mbedtls_ecjpake_read_round_one( &ssl->handshake->ecjpake_ctx, buf, len ) ) != 0 ) { @@ -312,6 +329,7 @@ static int ssl_parse_ecjpake_kkpp( mbedtls_ssl_context *ssl, MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER ); return( ret ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ /* Only mark the extension as OK when we're sure it is */ ssl->handshake->cli_exts |= MBEDTLS_TLS_EXT_ECJPAKE_KKPP_OK; @@ -358,9 +376,6 @@ static int ssl_parse_cid_ext( mbedtls_ssl_context *ssl, } /* - * Quoting draft-ietf-tls-dtls-connection-id-05 - * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05 - * * struct { * opaque cid<0..2^8-1>; * } ConnectionId; @@ -713,11 +728,13 @@ static int ssl_pick_cert( mbedtls_ssl_context *ssl, #endif list = ssl->conf->key_cert; + int pk_alg_is_none = 0; #if defined(MBEDTLS_USE_PSA_CRYPTO) - if( pk_alg == PSA_ALG_NONE ) + pk_alg_is_none = ( pk_alg == PSA_ALG_NONE ); #else - if( pk_alg == MBEDTLS_PK_NONE ) + pk_alg_is_none = ( pk_alg == MBEDTLS_PK_NONE ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ + if( pk_alg_is_none ) return( 0 ); MBEDTLS_SSL_DEBUG_MSG( 3, ( "ciphersuite requires certificate" ) ); @@ -734,18 +751,21 @@ static int ssl_pick_cert( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_CRT( 3, "candidate certificate chain, certificate", cur->cert ); + int key_type_matches = 0; #if defined(MBEDTLS_USE_PSA_CRYPTO) #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) - if( ( ssl->conf->f_async_sign_start == NULL && - ssl->conf->f_async_decrypt_start == NULL && - ! mbedtls_pk_can_do_ext( cur->key, pk_alg, pk_usage ) ) || - ! mbedtls_pk_can_do_ext( &cur->cert->pk, pk_alg, pk_usage ) ) + key_type_matches = ( ( ssl->conf->f_async_sign_start != NULL || + ssl->conf->f_async_decrypt_start != NULL || + mbedtls_pk_can_do_ext( cur->key, pk_alg, pk_usage ) ) && + mbedtls_pk_can_do_ext( &cur->cert->pk, pk_alg, pk_usage ) ); #else - if( ! mbedtls_pk_can_do_ext( cur->key, pk_alg, pk_usage ) ) + key_type_matches = ( + mbedtls_pk_can_do_ext( cur->key, pk_alg, pk_usage ) ); #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ #else - if( ! mbedtls_pk_can_do( &cur->cert->pk, pk_alg ) ) + key_type_matches = mbedtls_pk_can_do( &cur->cert->pk, pk_alg ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ + if( !key_type_matches ) { MBEDTLS_SSL_DEBUG_MSG( 3, ( "certificate mismatch: key type" ) ); continue; @@ -922,6 +942,8 @@ static int ssl_parse_client_hello( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> parse client hello" ) ); + int renegotiating; + #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) read_record_header: #endif @@ -930,9 +952,11 @@ static int ssl_parse_client_hello( mbedtls_ssl_context *ssl ) * otherwise read it ourselves manually in order to support SSLv2 * ClientHello, which doesn't use the same record layer format. */ + renegotiating = 0; #if defined(MBEDTLS_SSL_RENEGOTIATION) - if( ssl->renego_status == MBEDTLS_SSL_INITIAL_HANDSHAKE ) + renegotiating = ( ssl->renego_status != MBEDTLS_SSL_INITIAL_HANDSHAKE ); #endif + if( !renegotiating ) { if( ( ret = mbedtls_ssl_fetch_input( ssl, 5 ) ) != 0 ) { @@ -1298,7 +1322,10 @@ static int ssl_parse_client_hello( mbedtls_ssl_context *ssl ) buf + ciph_offset + 2, ciph_len ); /* - * Check the compression algorithms length and pick one + * Check the compression algorithm's length. + * The list contents are ignored because implementing + * MBEDTLS_SSL_COMPRESS_NULL is mandatory and is the only + * option supported by Mbed TLS. */ comp_offset = ciph_offset + 2 + ciph_len; @@ -1317,12 +1344,6 @@ static int ssl_parse_client_hello( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_BUF( 3, "client hello, compression", buf + comp_offset + 1, comp_len ); - ssl->session_negotiate->compression = MBEDTLS_SSL_COMPRESS_NULL; - /* See comments in ssl_write_client_hello() */ -#if defined(MBEDTLS_SSL_PROTO_DTLS) - if( ssl->conf->transport == MBEDTLS_SSL_TRANSPORT_DATAGRAM ) - ssl->session_negotiate->compression = MBEDTLS_SSL_COMPRESS_NULL; -#endif /* * Check the extension length */ @@ -1751,9 +1772,6 @@ static void ssl_write_cid_ext( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, adding CID extension" ) ); /* - * Quoting draft-ietf-tls-dtls-connection-id-05 - * https://tools.ietf.org/html/draft-ietf-tls-dtls-connection-id-05 - * * struct { * opaque cid<0..2^8-1>; * } ConnectionId; @@ -1995,6 +2013,18 @@ static void ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl, MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_ECJPAKE_KKPP, p, 0 ); p += 2; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + ret = mbedtls_psa_ecjpake_write_round( &ssl->handshake->psa_pake_ctx, + p + 2, end - p - 2, &kkpp_len, + MBEDTLS_ECJPAKE_ROUND_ONE ); + if ( ret != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + MBEDTLS_SSL_DEBUG_RET( 1 , "psa_pake_output", ret ); + return; + } +#else ret = mbedtls_ecjpake_write_round_one( &ssl->handshake->ecjpake_ctx, p + 2, end - p - 2, &kkpp_len, ssl->conf->f_rng, ssl->conf->p_rng ); @@ -2003,6 +2033,7 @@ static void ssl_write_ecjpake_kkpp_ext( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_RET( 1 , "mbedtls_ecjpake_write_round_one", ret ); return; } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ MBEDTLS_PUT_UINT16_BE( kkpp_len, p, 0 ); p += 2; @@ -2180,8 +2211,7 @@ static void ssl_handle_id_based_session_resumption( mbedtls_ssl_context *ssl ) if( ret != 0 ) goto exit; - if( session->ciphersuite != session_tmp.ciphersuite || - session->compression != session_tmp.compression ) + if( session->ciphersuite != session_tmp.ciphersuite ) { /* Mismatch between cached and negotiated session */ goto exit; @@ -2331,12 +2361,12 @@ static int ssl_write_server_hello( mbedtls_ssl_context *ssl ) MBEDTLS_PUT_UINT16_BE( ssl->session_negotiate->ciphersuite, p, 0 ); p += 2; - *p++ = MBEDTLS_BYTE_0( ssl->session_negotiate->compression ); + *p++ = MBEDTLS_BYTE_0( MBEDTLS_SSL_COMPRESS_NULL ); MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, chosen ciphersuite: %s", mbedtls_ssl_get_ciphersuite_name( ssl->session_negotiate->ciphersuite ) ) ); MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, compress alg.: 0x%02X", - (unsigned int) ssl->session_negotiate->compression ) ); + (unsigned int) MBEDTLS_SSL_COMPRESS_NULL ) ); /* * First write extensions, then the total length @@ -2531,10 +2561,15 @@ static int ssl_write_certificate_request( mbedtls_ssl_context *ssl ) if( ! mbedtls_ssl_sig_alg_is_supported( ssl, *sig_alg ) ) continue; - MBEDTLS_PUT_UINT16_BE( *sig_alg, p, sa_len ); + /* Write elements at offsets starting from 1 (offset 0 is for the + * length). Thus the offset of each element is the length of the + * partial list including that element. */ sa_len += 2; + MBEDTLS_PUT_UINT16_BE( *sig_alg, p, sa_len ); + } + /* Fill in list length. */ MBEDTLS_PUT_UINT16_BE( sa_len, p, 0 ); sa_len += 2; p += sa_len; @@ -2808,6 +2843,46 @@ static int ssl_prepare_server_key_exchange( mbedtls_ssl_context *ssl, if( ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + unsigned char *out_p = ssl->out_msg + ssl->out_msglen; + unsigned char *end_p = ssl->out_msg + MBEDTLS_SSL_OUT_CONTENT_LEN - + ssl->out_msglen; + size_t output_offset = 0; + size_t output_len = 0; + const mbedtls_ecp_curve_info *curve_info; + + /* + * The first 3 bytes are: + * [0] MBEDTLS_ECP_TLS_NAMED_CURVE + * [1, 2] elliptic curve's TLS ID + * + * However since we only support secp256r1 for now, we hardcode its + * TLS ID here + */ + if( ( curve_info = mbedtls_ecp_curve_info_from_grp_id( + MBEDTLS_ECP_DP_SECP256R1 ) ) == NULL ) + { + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); + } + *out_p = MBEDTLS_ECP_TLS_NAMED_CURVE; + MBEDTLS_PUT_UINT16_BE( curve_info->tls_id, out_p, 1 ); + output_offset += 3; + + ret = mbedtls_psa_ecjpake_write_round( &ssl->handshake->psa_pake_ctx, + out_p + output_offset, + end_p - out_p - output_offset, &output_len, + MBEDTLS_ECJPAKE_ROUND_TWO ); + if( ret != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + MBEDTLS_SSL_DEBUG_RET( 1 , "psa_pake_output", ret ); + return( ret ); + } + + output_offset += output_len; + ssl->out_msglen += output_offset; +#else size_t len = 0; ret = mbedtls_ecjpake_write_round_two( @@ -2822,6 +2897,7 @@ static int ssl_prepare_server_key_exchange( mbedtls_ssl_context *ssl, } ssl->out_msglen += len; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ } #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ @@ -3063,11 +3139,8 @@ static int ssl_prepare_server_key_exchange( mbedtls_ssl_context *ssl, size_t dig_signed_len = ssl->out_msg + ssl->out_msglen - dig_signed; size_t hashlen = 0; -#if defined(MBEDTLS_USE_PSA_CRYPTO) - unsigned char hash[PSA_HASH_MAX_SIZE]; -#else - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; -#endif + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; /* @@ -3409,8 +3482,14 @@ static int ssl_decrypt_encrypted_pms( mbedtls_ssl_context *ssl, size_t peer_pmssize ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + mbedtls_x509_crt *own_cert = mbedtls_ssl_own_cert( ssl ); + if( own_cert == NULL ) { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "got no local certificate" ) ); + return( MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE ); + } + mbedtls_pk_context *public_key = &own_cert->pk; mbedtls_pk_context *private_key = mbedtls_ssl_own_key( ssl ); - mbedtls_pk_context *public_key = &mbedtls_ssl_own_cert( ssl )->pk; size_t len = mbedtls_pk_get_len( public_key ); #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) @@ -4036,6 +4115,18 @@ static int ssl_parse_client_key_exchange( mbedtls_ssl_context *ssl ) #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) if( ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_ECJPAKE ) { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( ( ret = mbedtls_psa_ecjpake_read_round( + &ssl->handshake->psa_pake_ctx, p, end - p, + MBEDTLS_ECJPAKE_ROUND_TWO ) ) != 0 ) + { + psa_destroy_key( ssl->handshake->psa_pake_password ); + psa_pake_abort( &ssl->handshake->psa_pake_ctx ); + + MBEDTLS_SSL_DEBUG_RET( 1, "psa_pake_input round two", ret ); + return( ret ); + } +#else ret = mbedtls_ecjpake_read_round_two( &ssl->handshake->ecjpake_ctx, p, end - p ); if( ret != 0 ) @@ -4052,6 +4143,7 @@ static int ssl_parse_client_key_exchange( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ecjpake_derive_secret", ret ); return( ret ); } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ } else #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ diff --git a/library/ssl_tls13_client.c b/library/ssl_tls13_client.c index 2b68306f0b..0109f776c0 100644 --- a/library/ssl_tls13_client.c +++ b/library/ssl_tls13_client.c @@ -32,6 +32,7 @@ #include "ssl_misc.h" #include "ssl_client.h" #include "ssl_tls13_keys.h" +#include "ssl_debug_helpers.h" /* Write extensions */ @@ -89,6 +90,9 @@ static int ssl_tls13_write_supported_versions_ext( mbedtls_ssl_context *ssl, *out_len = 5 + versions_len; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( + ssl, MBEDTLS_TLS_EXT_SUPPORTED_VERSIONS ); + return( 0 ); } @@ -210,6 +214,7 @@ static int ssl_tls13_reset_key_share( mbedtls_ssl_context *ssl ) /* * Functions for writing key_share extension. */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED) MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_get_default_group_id( mbedtls_ssl_context *ssl, uint16_t *group_id ) @@ -358,13 +363,13 @@ static int ssl_tls13_write_key_share_ext( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "client hello, key_share extension", buf, *out_len ); - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_KEY_SHARE; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_KEY_SHARE ); cleanup: return( ret ); } - +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED */ /* * ssl_tls13_parse_hrr_key_share_ext() @@ -379,6 +384,7 @@ static int ssl_tls13_parse_hrr_key_share_ext( mbedtls_ssl_context *ssl, const unsigned char *buf, const unsigned char *end ) { +#if defined(MBEDTLS_ECDH_C) const mbedtls_ecp_curve_info *curve_info = NULL; const unsigned char *p = buf; int selected_group; @@ -435,6 +441,12 @@ static int ssl_tls13_parse_hrr_key_share_ext( mbedtls_ssl_context *ssl, ssl->handshake->offered_group_id = selected_group; return( 0 ); +#else + (void) ssl; + (void) buf; + (void) end; + return( MBEDTLS_ERR_SSL_BAD_CONFIG ); +#endif } /* @@ -504,7 +516,6 @@ static int ssl_tls13_parse_key_share_ext( mbedtls_ssl_context *ssl, else return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_KEY_SHARE; return( ret ); } @@ -592,8 +603,537 @@ static int ssl_tls13_write_cookie_ext( mbedtls_ssl_context *ssl, *out_len = handshake->hrr_cookie_len + 6; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_COOKIE ); + + return( 0 ); +} + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +/* + * ssl_tls13_write_psk_key_exchange_modes_ext() structure: + * + * enum { psk_ke( 0 ), psk_dhe_ke( 1 ), ( 255 ) } PskKeyExchangeMode; + * + * struct { + * PskKeyExchangeMode ke_modes<1..255>; + * } PskKeyExchangeModes; + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_write_psk_key_exchange_modes_ext( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + size_t *out_len ) +{ + unsigned char *p = buf; + int ke_modes_len = 0; + + ((void) ke_modes_len ); + *out_len = 0; + + /* Skip writing extension if no PSK key exchange mode + * is enabled in the config. + */ + if( !mbedtls_ssl_conf_tls13_some_psk_enabled( ssl ) ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "skip psk_key_exchange_modes extension" ) ); + return( 0 ); + } + + /* Require 7 bytes of data, otherwise fail, + * even if extension might be shorter. + */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 7 ); + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "client hello, adding psk_key_exchange_modes extension" ) ); + + MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_PSK_KEY_EXCHANGE_MODES, p, 0 ); + + /* Skip extension length (2 bytes) and + * ke_modes length (1 byte) for now. + */ + p += 5; + + if( mbedtls_ssl_conf_tls13_psk_ephemeral_enabled( ssl ) ) + { + *p++ = MBEDTLS_SSL_TLS1_3_PSK_MODE_ECDHE; + ke_modes_len++; + + MBEDTLS_SSL_DEBUG_MSG( 4, ( "Adding PSK-ECDHE key exchange mode" ) ); + } + + if( mbedtls_ssl_conf_tls13_psk_enabled( ssl ) ) + { + *p++ = MBEDTLS_SSL_TLS1_3_PSK_MODE_PURE; + ke_modes_len++; + + MBEDTLS_SSL_DEBUG_MSG( 4, ( "Adding pure PSK key exchange mode" ) ); + } + + /* Now write the extension and ke_modes length */ + MBEDTLS_PUT_UINT16_BE( ke_modes_len + 1, buf, 2 ); + buf[4] = ke_modes_len; + + *out_len = p - buf; + + mbedtls_ssl_tls13_set_hs_sent_ext_mask( + ssl, MBEDTLS_TLS_EXT_PSK_KEY_EXCHANGE_MODES ); + + return ( 0 ); +} + +static psa_algorithm_t ssl_tls13_get_ciphersuite_hash_alg( int ciphersuite ) +{ + const mbedtls_ssl_ciphersuite_t *ciphersuite_info = NULL; + ciphersuite_info = mbedtls_ssl_ciphersuite_from_id( ciphersuite ); + + if( ciphersuite_info != NULL ) + return( mbedtls_psa_translate_md( ciphersuite_info->mac ) ); + + return( PSA_ALG_NONE ); +} + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) +static int ssl_tls13_has_configured_ticket( mbedtls_ssl_context *ssl ) +{ + mbedtls_ssl_session *session = ssl->session_negotiate; + return( ssl->handshake->resume && + session != NULL && session->ticket != NULL ); +} + +#if defined(MBEDTLS_SSL_EARLY_DATA) +static int ssl_tls13_early_data_has_valid_ticket( mbedtls_ssl_context *ssl ) +{ + mbedtls_ssl_session *session = ssl->session_negotiate; + return( ssl->handshake->resume && + session->tls_version == MBEDTLS_SSL_VERSION_TLS1_3 && + ( session->ticket_flags & + MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA ) && + mbedtls_ssl_tls13_cipher_suite_is_offered( + ssl, session->ciphersuite ) ); +} +#endif + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_ticket_get_identity( mbedtls_ssl_context *ssl, + psa_algorithm_t *hash_alg, + const unsigned char **identity, + size_t *identity_len ) +{ + mbedtls_ssl_session *session = ssl->session_negotiate; + + if( !ssl_tls13_has_configured_ticket( ssl ) ) + return( -1 ); + + *hash_alg = ssl_tls13_get_ciphersuite_hash_alg( session->ciphersuite ); + *identity = session->ticket; + *identity_len = session->ticket_len; + return( 0 ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_ticket_get_psk( mbedtls_ssl_context *ssl, + psa_algorithm_t *hash_alg, + const unsigned char **psk, + size_t *psk_len ) +{ + + mbedtls_ssl_session *session = ssl->session_negotiate; + + if( !ssl_tls13_has_configured_ticket( ssl ) ) + return( -1 ); + + *hash_alg = ssl_tls13_get_ciphersuite_hash_alg( session->ciphersuite ); + *psk = session->resumption_key; + *psk_len = session->resumption_key_len; + + return( 0 ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_psk_get_identity( mbedtls_ssl_context *ssl, + psa_algorithm_t *hash_alg, + const unsigned char **identity, + size_t *identity_len ) +{ + + if( ! mbedtls_ssl_conf_has_static_psk( ssl->conf ) ) + return( -1 ); + + *hash_alg = PSA_ALG_SHA_256; + *identity = ssl->conf->psk_identity; + *identity_len = ssl->conf->psk_identity_len; + return( 0 ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_psk_get_psk( mbedtls_ssl_context *ssl, + psa_algorithm_t *hash_alg, + const unsigned char **psk, + size_t *psk_len ) +{ + + if( ! mbedtls_ssl_conf_has_static_psk( ssl->conf ) ) + return( -1 ); + + *hash_alg = PSA_ALG_SHA_256; + *psk = ssl->conf->psk; + *psk_len = ssl->conf->psk_len; + return( 0 ); +} + +static int ssl_tls13_get_configured_psk_count( mbedtls_ssl_context *ssl ) +{ + int configured_psk_count = 0; +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( ssl_tls13_has_configured_ticket( ssl ) ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "Ticket is configured" ) ); + configured_psk_count++; + } +#endif + if( mbedtls_ssl_conf_has_static_psk( ssl->conf ) ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "PSK is configured" ) ); + configured_psk_count++; + } + return( configured_psk_count ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_write_identity( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + const unsigned char *identity, + size_t identity_len, + uint32_t obfuscated_ticket_age, + size_t *out_len ) +{ + ((void) ssl); + *out_len = 0; + + /* + * - identity_len (2 bytes) + * - identity (psk_identity_len bytes) + * - obfuscated_ticket_age (4 bytes) + */ + MBEDTLS_SSL_CHK_BUF_PTR( buf, end, 6 + identity_len ); + + MBEDTLS_PUT_UINT16_BE( identity_len, buf, 0 ); + memcpy( buf + 2, identity, identity_len ); + MBEDTLS_PUT_UINT32_BE( obfuscated_ticket_age, buf, 2 + identity_len ); + + MBEDTLS_SSL_DEBUG_BUF( 4, "write identity", buf, 6 + identity_len ); + + *out_len = 6 + identity_len; + + return( 0 ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_write_binder( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + int psk_type, + psa_algorithm_t hash_alg, + const unsigned char *psk, + size_t psk_len, + size_t *out_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char binder_len; + unsigned char transcript[ MBEDTLS_TLS1_3_MD_MAX_SIZE ]; + size_t transcript_len = 0; + + *out_len = 0; + + binder_len = PSA_HASH_LENGTH( hash_alg ); + + /* + * - binder_len (1 bytes) + * - binder (binder_len bytes) + */ + MBEDTLS_SSL_CHK_BUF_PTR( buf, end, 1 + binder_len ); + + buf[0] = binder_len; + + /* Get current state of handshake transcript. */ + ret = mbedtls_ssl_get_handshake_transcript( + ssl, mbedtls_hash_info_md_from_psa( hash_alg ), + transcript, sizeof( transcript ), &transcript_len ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_tls13_create_psk_binder( ssl, hash_alg, + psk, psk_len, psk_type, + transcript, buf + 1 ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_create_psk_binder", ret ); + return( ret ); + } + MBEDTLS_SSL_DEBUG_BUF( 4, "write binder", buf, 1 + binder_len ); + + *out_len = 1 + binder_len; + + return( 0 ); +} + +/* + * mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext() structure: + * + * struct { + * opaque identity<1..2^16-1>; + * uint32 obfuscated_ticket_age; + * } PskIdentity; + * + * opaque PskBinderEntry<32..255>; + * + * struct { + * PskIdentity identities<7..2^16-1>; + * PskBinderEntry binders<33..2^16-1>; + * } OfferedPsks; + * + * struct { + * select (Handshake.msg_type) { + * case client_hello: OfferedPsks; + * ... + * }; + * } PreSharedKeyExtension; + * + */ +int mbedtls_ssl_tls13_write_identities_of_pre_shared_key_ext( + mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end, + size_t *out_len, size_t *binders_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + int configured_psk_count = 0; + unsigned char *p = buf; + psa_algorithm_t hash_alg; + const unsigned char *identity; + size_t identity_len; + size_t l_binders_len = 0; + size_t output_len; + + *out_len = 0; + *binders_len = 0; + + /* Check if we have any PSKs to offer. If no, skip pre_shared_key */ + configured_psk_count = ssl_tls13_get_configured_psk_count( ssl ); + if( configured_psk_count == 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "skip pre_shared_key extensions" ) ); + return( 0 ); + } + + MBEDTLS_SSL_DEBUG_MSG( 4, ( "Pre-configured PSK number = %d", + configured_psk_count ) ); + + /* Check if we have space to write the extension, binders included. + * - extension_type (2 bytes) + * - extension_data_len (2 bytes) + * - identities_len (2 bytes) + */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 6 ); + p += 6; + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( ssl_tls13_ticket_get_identity( + ssl, &hash_alg, &identity, &identity_len ) == 0 ) + { +#if defined(MBEDTLS_HAVE_TIME) + mbedtls_time_t now = mbedtls_time( NULL ); + mbedtls_ssl_session *session = ssl->session_negotiate; + uint32_t obfuscated_ticket_age = + (uint32_t)( now - session->ticket_received ); + + obfuscated_ticket_age *= 1000; + obfuscated_ticket_age += session->ticket_age_add; + + ret = ssl_tls13_write_identity( ssl, p, end, + identity, identity_len, + obfuscated_ticket_age, + &output_len ); +#else + ret = ssl_tls13_write_identity( ssl, p, end, identity, identity_len, + 0, &output_len ); +#endif /* MBEDTLS_HAVE_TIME */ + if( ret != 0 ) + return( ret ); + + p += output_len; + l_binders_len += 1 + PSA_HASH_LENGTH( hash_alg ); + } +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + + if( ssl_tls13_psk_get_identity( + ssl, &hash_alg, &identity, &identity_len ) == 0 ) + { + + ret = ssl_tls13_write_identity( ssl, p, end, identity, identity_len, 0, + &output_len ); + if( ret != 0 ) + return( ret ); + + p += output_len; + l_binders_len += 1 + PSA_HASH_LENGTH( hash_alg ); + } + + MBEDTLS_SSL_DEBUG_MSG( 3, + ( "client hello, adding pre_shared_key extension, " + "omitting PSK binder list" ) ); + + /* Take into account the two bytes for the length of the binders. */ + l_binders_len += 2; + /* Check if there is enough space for binders */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, l_binders_len ); + + /* + * - extension_type (2 bytes) + * - extension_data_len (2 bytes) + * - identities_len (2 bytes) + */ + MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_PRE_SHARED_KEY, buf, 0 ); + MBEDTLS_PUT_UINT16_BE( p - buf - 4 + l_binders_len , buf, 2 ); + MBEDTLS_PUT_UINT16_BE( p - buf - 6 , buf, 4 ); + + *out_len = ( p - buf ) + l_binders_len; + *binders_len = l_binders_len; + + MBEDTLS_SSL_DEBUG_BUF( 3, "pre_shared_key identities", buf, p - buf ); + + return( 0 ); +} + +int mbedtls_ssl_tls13_write_binders_of_pre_shared_key_ext( + mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *p = buf; + psa_algorithm_t hash_alg = PSA_ALG_NONE; + const unsigned char *psk; + size_t psk_len; + size_t output_len; + + /* Check if we have space to write binders_len. + * - binders_len (2 bytes) + */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 2 ); + p += 2; + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( ssl_tls13_ticket_get_psk( ssl, &hash_alg, &psk, &psk_len ) == 0 ) + { + + ret = ssl_tls13_write_binder( ssl, p, end, + MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION, + hash_alg, psk, psk_len, + &output_len ); + if( ret != 0 ) + return( ret ); + p += output_len; + } +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + + if( ssl_tls13_psk_get_psk( ssl, &hash_alg, &psk, &psk_len ) == 0 ) + { + + ret = ssl_tls13_write_binder( ssl, p, end, + MBEDTLS_SSL_TLS1_3_PSK_EXTERNAL, + hash_alg, psk, psk_len, + &output_len ); + if( ret != 0 ) + return( ret ); + p += output_len; + } + + MBEDTLS_SSL_DEBUG_MSG( 3, ( "client hello, adding PSK binder list." ) ); + + /* + * - binders_len (2 bytes) + */ + MBEDTLS_PUT_UINT16_BE( p - buf - 2, buf, 0 ); + + MBEDTLS_SSL_DEBUG_BUF( 3, "pre_shared_key binders", buf, p - buf ); + + mbedtls_ssl_tls13_set_hs_sent_ext_mask( + ssl, MBEDTLS_TLS_EXT_PRE_SHARED_KEY ); + + return( 0 ); +} + +/* + * struct { + * opaque identity<1..2^16-1>; + * uint32 obfuscated_ticket_age; + * } PskIdentity; + * + * opaque PskBinderEntry<32..255>; + * + * struct { + * + * select (Handshake.msg_type) { + * ... + * case server_hello: uint16 selected_identity; + * }; + * + * } PreSharedKeyExtension; + * + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_parse_server_pre_shared_key_ext( mbedtls_ssl_context *ssl, + const unsigned char *buf, + const unsigned char *end ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + int selected_identity; + const unsigned char *psk; + size_t psk_len; + psa_algorithm_t hash_alg; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( buf, end, 2 ); + selected_identity = MBEDTLS_GET_UINT16_BE( buf, 0 ); + + MBEDTLS_SSL_DEBUG_MSG( 3, ( "selected_identity = %d", selected_identity ) ); + + if( selected_identity >= ssl_tls13_get_configured_psk_count( ssl ) ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "Invalid PSK identity." ) ); + + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( selected_identity == 0 && ssl_tls13_has_configured_ticket( ssl ) ) + { + ret = ssl_tls13_ticket_get_psk( ssl, &hash_alg, &psk, &psk_len ); + } + else +#endif + if( mbedtls_ssl_conf_has_static_psk( ssl->conf ) ) + { + ret = ssl_tls13_psk_get_psk( ssl, &hash_alg, &psk, &psk_len ); + } + else + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "should never happen" ) ); + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_set_hs_psk( ssl, psk, psk_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_set_hs_psk", ret ); + return( ret ); + } + return( 0 ); } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ int mbedtls_ssl_tls13_write_client_hello_exts( mbedtls_ssl_context *ssl, unsigned char *buf, @@ -623,6 +1163,7 @@ int mbedtls_ssl_tls13_write_client_hello_exts( mbedtls_ssl_context *ssl, return( ret ); p += ext_len; +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED) if( mbedtls_ssl_conf_tls13_some_ephemeral_enabled( ssl ) ) { ret = ssl_tls13_write_key_share_ext( ssl, p, end, &ext_len ); @@ -630,6 +1171,46 @@ int mbedtls_ssl_tls13_write_client_hello_exts( mbedtls_ssl_context *ssl, return( ret ); p += ext_len; } +#endif + +#if defined(MBEDTLS_SSL_EARLY_DATA) + if( mbedtls_ssl_conf_tls13_some_psk_enabled( ssl ) && + ssl_tls13_early_data_has_valid_ticket( ssl ) && + ssl->conf->early_data_enabled == MBEDTLS_SSL_EARLY_DATA_ENABLED ) + { + ret = mbedtls_ssl_tls13_write_early_data_ext( ssl, p, end, &ext_len ); + if( ret != 0 ) + return( ret ); + p += ext_len; + + /* Initializes the status to `rejected`. It will be updated to + * `accepted` if the EncryptedExtension message contain an early data + * indication extension. + */ + ssl->early_data_status = MBEDTLS_SSL_EARLY_DATA_STATUS_REJECTED; + } + else + { + MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= skip write early_data extension" ) ); + ssl->early_data_status = MBEDTLS_SSL_EARLY_DATA_STATUS_NOT_SENT; + } +#endif /* MBEDTLS_SSL_EARLY_DATA */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + /* For PSK-based key exchange we need the pre_shared_key extension + * and the psk_key_exchange_modes extension. + * + * The pre_shared_key extension MUST be the last extension in the + * ClientHello. Servers MUST check that it is the last extension and + * otherwise fail the handshake with an "illegal_parameter" alert. + * + * Add the psk_key_exchange_modes extension. + */ + ret = ssl_tls13_write_psk_key_exchange_modes_ext( ssl, p, end, &ext_len ); + if( ret != 0 ) + return( ret ); + p += ext_len; +#endif *out_len = p - buf; @@ -811,6 +1392,7 @@ static int ssl_tls13_preprocess_server_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_PROC_CHK_NEG( ssl_tls13_is_supported_versions_ext_present( ssl, buf, end ) ); + if( ret == 0 ) { MBEDTLS_SSL_PROC_CHK_NEG( @@ -844,7 +1426,12 @@ static int ssl_tls13_preprocess_server_hello( mbedtls_ssl_context *ssl, return( SSL_SERVER_HELLO_TLS1_2 ); } - handshake->extensions_present = MBEDTLS_SSL_EXT_NONE; +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + ssl->session_negotiate->endpoint = ssl->conf->endpoint; + ssl->session_negotiate->tls_version = ssl->tls_version; +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; ret = ssl_server_hello_is_hrr( ssl, buf, end ); switch( ret ) @@ -954,6 +1541,9 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, uint16_t cipher_suite; const mbedtls_ssl_ciphersuite_t *ciphersuite_info; int fatal_alert = 0; + uint32_t allowed_extensions_mask; + int hs_msg_type = is_hrr ? MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST : + MBEDTLS_SSL_HS_SERVER_HELLO; /* * Check there is space for minimal fields @@ -1070,7 +1660,7 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, * ... */ MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 1 ); - if( p[0] != 0 ) + if( p[0] != MBEDTLS_SSL_COMPRESS_NULL ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad legacy compression method" ) ); fatal_alert = MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER; @@ -1096,6 +1686,11 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "server hello extensions", p, extensions_len ); + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + allowed_extensions_mask = is_hrr ? + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_HRR : + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_SH; + while( p < extensions_end ) { unsigned int extension_type; @@ -1110,16 +1705,15 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, extension_data_len ); extension_data_end = p + extension_data_len; + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, hs_msg_type, extension_type, allowed_extensions_mask ); + if( ret != 0 ) + return( ret ); + switch( extension_type ) { case MBEDTLS_TLS_EXT_COOKIE: - if( !is_hrr ) - { - fatal_alert = MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT; - goto cleanup; - } - ret = ssl_tls13_parse_cookie_ext( ssl, p, extension_data_end ); if( ret != 0 ) @@ -1139,12 +1733,19 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, goto cleanup; break; +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) case MBEDTLS_TLS_EXT_PRE_SHARED_KEY: - MBEDTLS_SSL_DEBUG_MSG( 3, ( "found pre_shared_key extension." ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, ( "pre_shared_key:Not supported yet" ) ); + MBEDTLS_SSL_DEBUG_MSG( 3, ( "found pre_shared_key extension" ) ); - fatal_alert = MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT; - goto cleanup; + if( ( ret = ssl_tls13_parse_server_pre_shared_key_ext( + ssl, p, extension_data_end ) ) != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( + 1, ( "ssl_tls13_parse_server_pre_shared_key_ext" ), ret ); + return( ret ); + } + break; +#endif case MBEDTLS_TLS_EXT_KEY_SHARE: MBEDTLS_SSL_DEBUG_MSG( 3, ( "found key_shares extension" ) ); @@ -1170,18 +1771,15 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, break; default: - MBEDTLS_SSL_DEBUG_MSG( - 3, - ( "unknown extension found: %u ( ignoring )", - extension_type ) ); - - fatal_alert = MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT; + ret = MBEDTLS_ERR_SSL_INTERNAL_ERROR; goto cleanup; } p += extension_data_len; } + MBEDTLS_SSL_PRINT_EXTS( 3, hs_msg_type, handshake->received_extensions ); + cleanup: if( fatal_alert == MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT ) @@ -1199,6 +1797,23 @@ static int ssl_tls13_parse_server_hello( mbedtls_ssl_context *ssl, return( ret ); } +#if defined(MBEDTLS_DEBUG_C) +static const char *ssl_tls13_get_kex_mode_str(int mode) +{ + switch( mode ) + { + case MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK: + return "psk"; + case MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL: + return "ephemeral"; + case MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL: + return "psk_ephemeral"; + default: + return "unknown mode"; + } +} +#endif /* MBEDTLS_DEBUG_C */ + MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_postprocess_server_hello( mbedtls_ssl_context *ssl ) { @@ -1213,22 +1828,22 @@ static int ssl_tls13_postprocess_server_hello( mbedtls_ssl_context *ssl ) * 3) If only the key_share extension was received then the key * exchange mode is EPHEMERAL-only. */ - switch( handshake->extensions_present & - ( MBEDTLS_SSL_EXT_PRE_SHARED_KEY | MBEDTLS_SSL_EXT_KEY_SHARE ) ) + switch( handshake->received_extensions & + ( MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) ) ) { /* Only the pre_shared_key extension was received */ - case MBEDTLS_SSL_EXT_PRE_SHARED_KEY: - handshake->tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK; + case MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ): + handshake->key_exchange_mode = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK; break; /* Only the key_share extension was received */ - case MBEDTLS_SSL_EXT_KEY_SHARE: - handshake->tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL; + case MBEDTLS_SSL_EXT_MASK( KEY_SHARE ): + handshake->key_exchange_mode = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL; break; /* Both the pre_shared_key and key_share extensions were received */ - case ( MBEDTLS_SSL_EXT_PRE_SHARED_KEY | MBEDTLS_SSL_EXT_KEY_SHARE ): - handshake->tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL; + case ( MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) ): + handshake->key_exchange_mode = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL; break; /* Neither pre_shared_key nor key_share extension was received */ @@ -1238,6 +1853,19 @@ static int ssl_tls13_postprocess_server_hello( mbedtls_ssl_context *ssl ) goto cleanup; } + if( !mbedtls_ssl_conf_tls13_check_kex_modes( ssl, handshake->key_exchange_mode ) ) + { + ret = MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE; + MBEDTLS_SSL_DEBUG_MSG( 2, + ( "Key exchange mode(%s) is not supported.", + ssl_tls13_get_kex_mode_str( handshake->key_exchange_mode ) ) ); + goto cleanup; + } + + MBEDTLS_SSL_DEBUG_MSG( 3, + ( "Selected key exchange mode: %s", + ssl_tls13_get_kex_mode_str( handshake->key_exchange_mode ) ) ); + /* Start the TLS 1.3 key schedule: Set the PSK and derive early secret. * * TODO: We don't have to do this in case we offered 0-RTT and the @@ -1383,6 +2011,7 @@ static int ssl_tls13_parse_encrypted_extensions( mbedtls_ssl_context *ssl, size_t extensions_len; const unsigned char *p = buf; const unsigned char *extensions_end; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 2 ); extensions_len = MBEDTLS_GET_UINT16_BE( p, 0 ); @@ -1392,6 +2021,8 @@ static int ssl_tls13_parse_encrypted_extensions( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, extensions_len ); extensions_end = p + extensions_len; + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + while( p < extensions_end ) { unsigned int extension_type; @@ -1410,17 +2041,14 @@ static int ssl_tls13_parse_encrypted_extensions( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, extension_data_len ); - /* The client MUST check EncryptedExtensions for the - * presence of any forbidden extensions and if any are found MUST abort - * the handshake with an "unsupported_extension" alert. - */ + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS, extension_type, + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_EE ); + if( ret != 0 ) + return( ret ); + switch( extension_type ) { - - case MBEDTLS_TLS_EXT_SUPPORTED_GROUPS: - MBEDTLS_SSL_DEBUG_MSG( 3, ( "found extensions supported groups" ) ); - break; - #if defined(MBEDTLS_SSL_ALPN) case MBEDTLS_TLS_EXT_ALPN: MBEDTLS_SSL_DEBUG_MSG( 3, ( "found alpn extension" ) ); @@ -1432,18 +2060,34 @@ static int ssl_tls13_parse_encrypted_extensions( mbedtls_ssl_context *ssl, break; #endif /* MBEDTLS_SSL_ALPN */ + +#if defined(MBEDTLS_SSL_EARLY_DATA) + case MBEDTLS_TLS_EXT_EARLY_DATA: + + if( extension_data_len != 0 ) + { + /* The message must be empty. */ + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, + MBEDTLS_ERR_SSL_DECODE_ERROR ); + return( MBEDTLS_ERR_SSL_DECODE_ERROR ); + } + + break; +#endif /* MBEDTLS_SSL_EARLY_DATA */ + default: - MBEDTLS_SSL_DEBUG_MSG( - 3, ( "unsupported extension found: %u ", extension_type) ); - MBEDTLS_SSL_PEND_FATAL_ALERT( - MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT, - MBEDTLS_ERR_SSL_UNSUPPORTED_EXTENSION ); - return ( MBEDTLS_ERR_SSL_UNSUPPORTED_EXTENSION ); + MBEDTLS_SSL_PRINT_EXT( + 3, MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS, + extension_type, "( ignored )" ); + break; } p += extension_data_len; } + MBEDTLS_SSL_PRINT_EXTS( 3, MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS, + handshake->received_extensions ); + /* Check that we consumed all the message. */ if( p != end ) { @@ -1473,11 +2117,19 @@ static int ssl_tls13_process_encrypted_extensions( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_PROC_CHK( ssl_tls13_parse_encrypted_extensions( ssl, buf, buf + buf_len ) ); +#if defined(MBEDTLS_SSL_EARLY_DATA) + if( ssl->handshake->received_extensions & + MBEDTLS_SSL_EXT_MASK( EARLY_DATA ) ) + { + ssl->early_data_status = MBEDTLS_SSL_EARLY_DATA_STATUS_ACCEPTED; + } +#endif + mbedtls_ssl_add_hs_msg_to_checksum( ssl, MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS, buf, buf_len ); -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) - if( mbedtls_ssl_tls13_some_psk_enabled( ssl ) ) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + if( mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) ) mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_SERVER_FINISHED ); else mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_CERTIFICATE_REQUEST ); @@ -1493,7 +2145,7 @@ static int ssl_tls13_process_encrypted_extensions( mbedtls_ssl_context *ssl ) } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) /* * STATE HANDLING: CertificateRequest * @@ -1512,12 +2164,6 @@ static int ssl_tls13_certificate_request_coordinate( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - if( mbedtls_ssl_tls13_some_psk_enabled( ssl ) ) - { - MBEDTLS_SSL_DEBUG_MSG( 3, ( "<= skip parse certificate request" ) ); - return( SSL_CERTIFICATE_REQUEST_SKIP ); - } - if( ( ret = mbedtls_ssl_read_record( ssl, 0 ) ) != 0 ) { MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_read_record", ret ); @@ -1555,7 +2201,7 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, size_t certificate_request_context_len = 0; size_t extensions_len = 0; const unsigned char *extensions_end; - unsigned char sig_alg_ext_found = 0; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; /* ... * opaque certificate_request_context<0..2^8-1> @@ -1571,7 +2217,6 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "Certificate Request Context", p, certificate_request_context_len ); - mbedtls_ssl_handshake_params *handshake = ssl->handshake; handshake->certificate_request_context = mbedtls_calloc( 1, certificate_request_context_len ); if( handshake->certificate_request_context == NULL ) @@ -1595,6 +2240,8 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, extensions_len ); extensions_end = p + extensions_len; + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + while( p < extensions_end ) { unsigned int extension_type; @@ -1607,6 +2254,12 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, extension_data_len ); + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, MBEDTLS_SSL_HS_CERTIFICATE_REQUEST, extension_type, + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CR ); + if( ret != 0 ) + return( ret ); + switch( extension_type ) { case MBEDTLS_TLS_EXT_SIG_ALG: @@ -1616,25 +2269,22 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, p + extension_data_len ); if( ret != 0 ) return( ret ); - if( ! sig_alg_ext_found ) - sig_alg_ext_found = 1; - else - { - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "Duplicate signature algorithms extensions found" ) ); - goto decode_error; - } + break; default: - MBEDTLS_SSL_DEBUG_MSG( - 3, - ( "unknown extension found: %u ( ignoring )", - extension_type ) ); + MBEDTLS_SSL_PRINT_EXT( + 3, MBEDTLS_SSL_HS_CERTIFICATE_REQUEST, + extension_type, "( ignored )" ); break; } + p += extension_data_len; } + + MBEDTLS_SSL_PRINT_EXTS( 3, MBEDTLS_SSL_HS_CERTIFICATE_REQUEST, + handshake->received_extensions ); + /* Check that we consumed all the message. */ if( p != end ) { @@ -1642,8 +2292,12 @@ static int ssl_tls13_parse_certificate_request( mbedtls_ssl_context *ssl, ( "CertificateRequest misaligned" ) ); goto decode_error; } - /* Check that we found signature algorithms extension */ - if( ! sig_alg_ext_found ) + + /* RFC 8446 section 4.3.2 + * + * The "signature_algorithms" extension MUST be specified + */ + if( ( handshake->received_extensions & MBEDTLS_SSL_EXT_MASK( SIG_ALG ) ) == 0 ) { MBEDTLS_SSL_DEBUG_MSG( 3, ( "no signature algorithms extension found" ) ); @@ -1736,7 +2390,7 @@ static int ssl_tls13_process_certificate_verify( mbedtls_ssl_context *ssl ) mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_SERVER_FINISHED ); return( 0 ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * Handler for MBEDTLS_SSL_SERVER_FINISHED @@ -1782,7 +2436,7 @@ static int ssl_tls13_write_client_certificate( mbedtls_ssl_context *ssl ) ( "Switch to handshake traffic keys for outbound traffic" ) ); mbedtls_ssl_set_outbound_transform( ssl, ssl->handshake->transform_handshake ); -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) if( ssl->handshake->client_auth ) { int ret = mbedtls_ssl_tls13_write_certificate( ssl ); @@ -1812,7 +2466,7 @@ static int ssl_tls13_write_client_certificate( mbedtls_ssl_context *ssl ) return( 0 ); } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) /* * Handler for MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY */ @@ -1826,7 +2480,7 @@ static int ssl_tls13_write_client_certificate_verify( mbedtls_ssl_context *ssl ) return( ret ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * Handler for MBEDTLS_SSL_CLIENT_FINISHED @@ -1840,11 +2494,11 @@ static int ssl_tls13_write_client_finished( mbedtls_ssl_context *ssl ) if( ret != 0 ) return( ret ); - ret = mbedtls_ssl_tls13_generate_resumption_master_secret( ssl ); + ret = mbedtls_ssl_tls13_compute_resumption_master_secret( ssl ); if( ret != 0 ) { MBEDTLS_SSL_DEBUG_RET( 1, - "mbedtls_ssl_tls13_generate_resumption_master_secret ", ret ); + "mbedtls_ssl_tls13_compute_resumption_master_secret ", ret ); return ( ret ); } @@ -1876,6 +2530,275 @@ static int ssl_tls13_handshake_wrapup( mbedtls_ssl_context *ssl ) return( 0 ); } +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_parse_new_session_ticket_exts( mbedtls_ssl_context *ssl, + const unsigned char *buf, + const unsigned char *end ) +{ + mbedtls_ssl_handshake_params *handshake = ssl->handshake; + const unsigned char *p = buf; + + + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + + while( p < end ) + { + unsigned int extension_type; + size_t extension_data_len; + int ret; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 4 ); + extension_type = MBEDTLS_GET_UINT16_BE( p, 0 ); + extension_data_len = MBEDTLS_GET_UINT16_BE( p, 2 ); + p += 4; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, extension_data_len ); + + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, MBEDTLS_SSL_HS_NEW_SESSION_TICKET, extension_type, + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_NST ); + if( ret != 0 ) + return( ret ); + + switch( extension_type ) + { +#if defined(MBEDTLS_SSL_EARLY_DATA) + case MBEDTLS_TLS_EXT_EARLY_DATA: + if( extension_data_len != 4 ) + { + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, + MBEDTLS_ERR_SSL_DECODE_ERROR ); + return( MBEDTLS_ERR_SSL_DECODE_ERROR ); + } + if( ssl->session != NULL ) + { + ssl->session->ticket_flags |= + MBEDTLS_SSL_TLS1_3_TICKET_ALLOW_EARLY_DATA; + } + break; +#endif /* MBEDTLS_SSL_EARLY_DATA */ + + default: + MBEDTLS_SSL_PRINT_EXT( + 3, MBEDTLS_SSL_HS_NEW_SESSION_TICKET, + extension_type, "( ignored )" ); + break; + } + + p += extension_data_len; + } + + MBEDTLS_SSL_PRINT_EXTS( 3, MBEDTLS_SSL_HS_NEW_SESSION_TICKET, + handshake->received_extensions ); + + return( 0 ); +} + +/* + * From RFC8446, page 74 + * + * struct { + * uint32 ticket_lifetime; + * uint32 ticket_age_add; + * opaque ticket_nonce<0..255>; + * opaque ticket<1..2^16-1>; + * Extension extensions<0..2^16-2>; + * } NewSessionTicket; + * + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_parse_new_session_ticket( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + unsigned char **ticket_nonce, + size_t *ticket_nonce_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *p = buf; + mbedtls_ssl_session *session = ssl->session; + size_t ticket_len; + unsigned char *ticket; + size_t extensions_len; + + *ticket_nonce = NULL; + *ticket_nonce_len = 0; + /* + * ticket_lifetime 4 bytes + * ticket_age_add 4 bytes + * ticket_nonce_len 1 byte + */ + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 9 ); + + session->ticket_lifetime = MBEDTLS_GET_UINT32_BE( p, 0 ); + MBEDTLS_SSL_DEBUG_MSG( 3, + ( "ticket_lifetime: %u", + ( unsigned int )session->ticket_lifetime ) ); + + session->ticket_age_add = MBEDTLS_GET_UINT32_BE( p, 4 ); + MBEDTLS_SSL_DEBUG_MSG( 3, + ( "ticket_age_add: %u", + ( unsigned int )session->ticket_age_add ) ); + + *ticket_nonce_len = p[8]; + p += 9; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, *ticket_nonce_len ); + *ticket_nonce = p; + MBEDTLS_SSL_DEBUG_BUF( 3, "ticket_nonce:", *ticket_nonce, *ticket_nonce_len ); + p += *ticket_nonce_len; + + /* Ticket */ + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 2 ); + ticket_len = MBEDTLS_GET_UINT16_BE( p, 0 ); + p += 2; + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, ticket_len ); + MBEDTLS_SSL_DEBUG_BUF( 3, "received ticket", p, ticket_len ) ; + + /* Check if we previously received a ticket already. */ + if( session->ticket != NULL || session->ticket_len > 0 ) + { + mbedtls_free( session->ticket ); + session->ticket = NULL; + session->ticket_len = 0; + } + + if( ( ticket = mbedtls_calloc( 1, ticket_len ) ) == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "ticket alloc failed" ) ); + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + } + memcpy( ticket, p, ticket_len ); + p += ticket_len; + session->ticket = ticket; + session->ticket_len = ticket_len; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 2 ); + extensions_len = MBEDTLS_GET_UINT16_BE( p, 0 ); + p += 2; + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, extensions_len ); + + MBEDTLS_SSL_DEBUG_BUF( 3, "ticket extension", p, extensions_len ); + + ret = ssl_tls13_parse_new_session_ticket_exts( ssl, p, p + extensions_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, + "ssl_tls13_parse_new_session_ticket_exts", + ret ); + return( ret ); + } + + /* session has been updated, allow export */ + session->exported = 0; + + return( 0 ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_postprocess_new_session_ticket( mbedtls_ssl_context *ssl, + unsigned char *ticket_nonce, + size_t ticket_nonce_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ssl_session *session = ssl->session; + const mbedtls_ssl_ciphersuite_t *ciphersuite_info; + psa_algorithm_t psa_hash_alg; + int hash_length; + +#if defined(MBEDTLS_HAVE_TIME) + /* Store ticket creation time */ + session->ticket_received = mbedtls_time( NULL ); +#endif + + ciphersuite_info = mbedtls_ssl_ciphersuite_from_id( session->ciphersuite ); + if( ciphersuite_info == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "should never happen" ) ); + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + psa_hash_alg = mbedtls_psa_translate_md( ciphersuite_info->mac ); + hash_length = PSA_HASH_LENGTH( psa_hash_alg ); + if( hash_length == -1 || + ( size_t )hash_length > sizeof( session->resumption_key ) ) + { + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + + MBEDTLS_SSL_DEBUG_BUF( 3, "resumption_master_secret", + session->app_secrets.resumption_master_secret, + hash_length ); + + /* Compute resumption key + * + * HKDF-Expand-Label( resumption_master_secret, + * "resumption", ticket_nonce, Hash.length ) + */ + ret = mbedtls_ssl_tls13_hkdf_expand_label( + psa_hash_alg, + session->app_secrets.resumption_master_secret, + hash_length, + MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( resumption ), + ticket_nonce, + ticket_nonce_len, + session->resumption_key, + hash_length ); + + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 2, + "Creating the ticket-resumed PSK failed", + ret ); + return( ret ); + } + + session->resumption_key_len = hash_length; + + MBEDTLS_SSL_DEBUG_BUF( 3, "Ticket-resumed PSK", + session->resumption_key, + session->resumption_key_len ); + + return( 0 ); +} + +/* + * Handler for MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_process_new_session_ticket( mbedtls_ssl_context *ssl ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *buf; + size_t buf_len; + unsigned char *ticket_nonce; + size_t ticket_nonce_len; + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> parse new session ticket" ) ); + + MBEDTLS_SSL_PROC_CHK( mbedtls_ssl_tls13_fetch_handshake_msg( + ssl, MBEDTLS_SSL_HS_NEW_SESSION_TICKET, + &buf, &buf_len ) ); + + MBEDTLS_SSL_PROC_CHK( ssl_tls13_parse_new_session_ticket( + ssl, buf, buf + buf_len, + &ticket_nonce, &ticket_nonce_len ) ); + + MBEDTLS_SSL_PROC_CHK( ssl_tls13_postprocess_new_session_ticket( + ssl, ticket_nonce, ticket_nonce_len ) ); + + mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER ); + +cleanup: + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= parse new session ticket" ) ); + return( ret ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + int mbedtls_ssl_tls13_handshake_client_step( mbedtls_ssl_context *ssl ) { int ret = 0; @@ -1899,7 +2822,7 @@ int mbedtls_ssl_tls13_handshake_client_step( mbedtls_ssl_context *ssl ) ret = ssl_tls13_process_encrypted_extensions( ssl ); break; -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) case MBEDTLS_SSL_CERTIFICATE_REQUEST: ret = ssl_tls13_process_certificate_request( ssl ); break; @@ -1911,7 +2834,7 @@ int mbedtls_ssl_tls13_handshake_client_step( mbedtls_ssl_context *ssl ) case MBEDTLS_SSL_CERTIFICATE_VERIFY: ret = ssl_tls13_process_certificate_verify( ssl ); break; -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ case MBEDTLS_SSL_SERVER_FINISHED: ret = ssl_tls13_process_server_finished( ssl ); @@ -1921,11 +2844,11 @@ int mbedtls_ssl_tls13_handshake_client_step( mbedtls_ssl_context *ssl ) ret = ssl_tls13_write_client_certificate( ssl ); break; -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) case MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY: ret = ssl_tls13_write_client_certificate_verify( ssl ); break; -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ case MBEDTLS_SSL_CLIENT_FINISHED: ret = ssl_tls13_write_client_finished( ssl ); @@ -1956,6 +2879,15 @@ int mbedtls_ssl_tls13_handshake_client_step( mbedtls_ssl_context *ssl ) break; #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + case MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET: + ret = ssl_tls13_process_new_session_ticket( ssl ); + if( ret != 0 ) + break; + ret = MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET; + break; +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + default: MBEDTLS_SSL_DEBUG_MSG( 1, ( "invalid state %d", ssl->state ) ); return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA ); diff --git a/library/ssl_tls13_generic.c b/library/ssl_tls13_generic.c index 265d6d3097..761c00ec52 100644 --- a/library/ssl_tls13_generic.c +++ b/library/ssl_tls13_generic.c @@ -83,7 +83,7 @@ int mbedtls_ssl_tls13_fetch_handshake_msg( mbedtls_ssl_context *ssl, return( ret ); } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) /* * STATE HANDLING: Read CertificateVerify */ @@ -213,13 +213,13 @@ static int ssl_tls13_parse_certificate_verify( mbedtls_ssl_context *ssl, goto error; } - if( mbedtls_ssl_tls13_get_pk_type_and_md_alg_from_sig_alg( + if( mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg( algorithm, &sig_alg, &md_alg ) != 0 ) { goto error; } - hash_alg = mbedtls_psa_translate_md( md_alg ); + hash_alg = mbedtls_hash_info_psa_from_md( md_alg ); if( hash_alg == 0 ) { goto error; @@ -285,12 +285,12 @@ static int ssl_tls13_parse_certificate_verify( mbedtls_ssl_context *ssl, return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ int mbedtls_ssl_tls13_process_certificate_verify( mbedtls_ssl_context *ssl ) { -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char verify_buffer[SSL_VERIFY_STRUCT_MAX_SIZE]; size_t verify_buffer_len; @@ -348,7 +348,7 @@ int mbedtls_ssl_tls13_process_certificate_verify( mbedtls_ssl_context *ssl ) ((void) ssl); MBEDTLS_SSL_DEBUG_MSG( 1, ( "should never happen" ) ); return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ } /* @@ -357,7 +357,7 @@ int mbedtls_ssl_tls13_process_certificate_verify( mbedtls_ssl_context *ssl ) * */ -#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) /* * Structure of Certificate message: @@ -398,6 +398,7 @@ int mbedtls_ssl_tls13_parse_certificate( mbedtls_ssl_context *ssl, size_t certificate_list_len = 0; const unsigned char *p = buf; const unsigned char *certificate_list_end; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 4 ); certificate_request_context_len = p[0]; @@ -447,6 +448,7 @@ int mbedtls_ssl_tls13_parse_certificate( mbedtls_ssl_context *ssl, while( p < certificate_list_end ) { size_t cert_data_len, extensions_len; + const unsigned char *extensions_end; MBEDTLS_SSL_CHK_BUF_READ_PTR( p, certificate_list_end, 3 ); cert_data_len = MBEDTLS_GET_UINT24_BE( p, 0 ); @@ -504,7 +506,48 @@ int mbedtls_ssl_tls13_parse_certificate( mbedtls_ssl_context *ssl, extensions_len = MBEDTLS_GET_UINT16_BE( p, 0 ); p += 2; MBEDTLS_SSL_CHK_BUF_READ_PTR( p, certificate_list_end, extensions_len ); - p += extensions_len; + + extensions_end = p + extensions_len; + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + + while( p < extensions_end ) + { + unsigned int extension_type; + size_t extension_data_len; + + /* + * struct { + * ExtensionType extension_type; (2 bytes) + * opaque extension_data<0..2^16-1>; + * } Extension; + */ + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, 4 ); + extension_type = MBEDTLS_GET_UINT16_BE( p, 0 ); + extension_data_len = MBEDTLS_GET_UINT16_BE( p, 2 ); + p += 4; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, extension_data_len ); + + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, MBEDTLS_SSL_HS_CERTIFICATE, extension_type, + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CT ); + if( ret != 0 ) + return( ret ); + + switch( extension_type ) + { + default: + MBEDTLS_SSL_PRINT_EXT( + 3, MBEDTLS_SSL_HS_CERTIFICATE, + extension_type, "( ignored )" ); + break; + } + + p += extension_data_len; + } + + MBEDTLS_SSL_PRINT_EXTS( 3, MBEDTLS_SSL_HS_CERTIFICATE, + handshake->received_extensions ); } exit: @@ -512,7 +555,7 @@ int mbedtls_ssl_tls13_parse_certificate( mbedtls_ssl_context *ssl, if( p != end ) { MBEDTLS_SSL_DEBUG_MSG( 1, ( "bad Certificate message" ) ); - MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, \ + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, MBEDTLS_ERR_SSL_DECODE_ERROR ); return( MBEDTLS_ERR_SSL_DECODE_ERROR ); } @@ -534,9 +577,9 @@ int mbedtls_ssl_tls13_parse_certificate( mbedtls_ssl_context *ssl, return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); } #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ -#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) /* Validate certificate chain sent by the server. */ MBEDTLS_CHECK_RETURN_CRITICAL @@ -727,14 +770,14 @@ static int ssl_tls13_validate_certificate( mbedtls_ssl_context *ssl ) return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); } #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ -#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ int mbedtls_ssl_tls13_process_certificate( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> parse certificate" ) ); -#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) unsigned char *buf; size_t buf_len; @@ -752,12 +795,12 @@ int mbedtls_ssl_tls13_process_certificate( mbedtls_ssl_context *ssl ) buf, buf_len ); cleanup: -#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= parse certificate" ) ); return( ret ); } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) /* * enum { * X509(0), @@ -843,6 +886,9 @@ static int ssl_tls13_write_certificate_body( mbedtls_ssl_context *ssl, *out_len = p - buf; + MBEDTLS_SSL_PRINT_EXTS( + 3, MBEDTLS_SSL_HS_CERTIFICATE, ssl->handshake->sent_extensions ); + return( 0 ); } @@ -906,12 +952,8 @@ int mbedtls_ssl_tls13_check_sig_alg_cert_key_match( uint16_t sig_alg, case MBEDTLS_SSL_SIG_RSA: switch( sig_alg ) { - case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: - return( key_size <= 3072 ); - - case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: - return( key_size <= 7680 ); - + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: /* Intentional fallthrough */ + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: /* Intentional fallthrough */ case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512: return( 1 ); @@ -927,43 +969,13 @@ int mbedtls_ssl_tls13_check_sig_alg_cert_key_match( uint16_t sig_alg, return( 0 ); } -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_tls13_select_sig_alg_for_certificate_verify( - mbedtls_ssl_context *ssl, - mbedtls_pk_context *own_key, - uint16_t *algorithm ) -{ - uint16_t *sig_alg = ssl->handshake->received_sig_algs; - - *algorithm = MBEDTLS_TLS1_3_SIG_NONE; - for( ; *sig_alg != MBEDTLS_TLS1_3_SIG_NONE ; sig_alg++ ) - { - if( mbedtls_ssl_sig_alg_is_offered( ssl, *sig_alg ) && - mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported( *sig_alg ) && - mbedtls_ssl_tls13_check_sig_alg_cert_key_match( *sig_alg, own_key ) ) - { - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "select_sig_alg_for_certificate_verify:" - "selected signature algorithm %s [%04x]", - mbedtls_ssl_sig_alg_to_str( *sig_alg ), - *sig_alg ) ); - *algorithm = *sig_alg; - return( 0 ); - } - } - MBEDTLS_SSL_DEBUG_MSG( 2, - ( "select_sig_alg_for_certificate_verify:" - "no suitable signature algorithm found" ) ); - return( -1 ); -} - MBEDTLS_CHECK_RETURN_CRITICAL static int ssl_tls13_write_certificate_verify_body( mbedtls_ssl_context *ssl, unsigned char *buf, unsigned char *end, size_t *out_len ) { - int ret; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *p = buf; mbedtls_pk_context *own_key; @@ -971,14 +983,9 @@ static int ssl_tls13_write_certificate_verify_body( mbedtls_ssl_context *ssl, size_t handshake_hash_len; unsigned char verify_buffer[ SSL_VERIFY_STRUCT_MAX_SIZE ]; size_t verify_buffer_len; - mbedtls_pk_type_t pk_type = MBEDTLS_PK_NONE; - mbedtls_md_type_t md_alg = MBEDTLS_MD_NONE; - psa_algorithm_t psa_algorithm = PSA_ALG_NONE; - uint16_t algorithm = MBEDTLS_TLS1_3_SIG_NONE; + + uint16_t *sig_alg = ssl->handshake->received_sig_algs; size_t signature_len = 0; - unsigned char verify_hash[ MBEDTLS_MD_MAX_SIZE ]; - size_t verify_hash_len; - psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; *out_len = 0; @@ -1011,64 +1018,84 @@ static int ssl_tls13_write_certificate_verify_body( mbedtls_ssl_context *ssl, * opaque signature<0..2^16-1>; * } CertificateVerify; */ - ret = ssl_tls13_select_sig_alg_for_certificate_verify( ssl, own_key, - &algorithm ); - if( ret != 0 ) - { - MBEDTLS_SSL_DEBUG_MSG( 1, - ( "signature algorithm not in received or offered list." ) ); + /* Check there is space for the algorithm identifier (2 bytes) and the + * signature length (2 bytes). + */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 ); - MBEDTLS_SSL_DEBUG_MSG( 1, ( "Signature algorithm is %s", - mbedtls_ssl_sig_alg_to_str( algorithm ) ) ); + for( ; *sig_alg != MBEDTLS_TLS1_3_SIG_NONE ; sig_alg++ ) + { + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + mbedtls_pk_type_t pk_type = MBEDTLS_PK_NONE; + mbedtls_md_type_t md_alg = MBEDTLS_MD_NONE; + psa_algorithm_t psa_algorithm = PSA_ALG_NONE; + unsigned char verify_hash[PSA_HASH_MAX_SIZE]; + size_t verify_hash_len; - MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE, - MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); - return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); - } + if( !mbedtls_ssl_sig_alg_is_offered( ssl, *sig_alg ) ) + continue; - MBEDTLS_SSL_DEBUG_MSG( 2, ( "CertificateVerify with %s", - mbedtls_ssl_sig_alg_to_str( algorithm )) ); + if( !mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported( *sig_alg ) ) + continue; - if( mbedtls_ssl_tls13_get_pk_type_and_md_alg_from_sig_alg( - algorithm, &pk_type, &md_alg ) != 0 ) - { - return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); - } + if( !mbedtls_ssl_tls13_check_sig_alg_cert_key_match( *sig_alg, own_key ) ) + continue; - /* Check there is space for the algorithm identifier (2 bytes) and the - * signature length (2 bytes). - */ - MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 ); - MBEDTLS_PUT_UINT16_BE( algorithm, p, 0 ); - p += 2; + if( mbedtls_ssl_get_pk_type_and_md_alg_from_sig_alg( + *sig_alg, &pk_type, &md_alg ) != 0 ) + { + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } - /* Hash verify buffer with indicated hash function */ - psa_algorithm = mbedtls_psa_translate_md( md_alg ); - status = psa_hash_compute( psa_algorithm, - verify_buffer, - verify_buffer_len, - verify_hash,sizeof( verify_hash ), - &verify_hash_len ); - if( status != PSA_SUCCESS ) - return( psa_ssl_status_to_mbedtls( status ) ); + /* Hash verify buffer with indicated hash function */ + psa_algorithm = mbedtls_hash_info_psa_from_md( md_alg ); + status = psa_hash_compute( psa_algorithm, + verify_buffer, + verify_buffer_len, + verify_hash, sizeof( verify_hash ), + &verify_hash_len ); + if( status != PSA_SUCCESS ) + return( psa_ssl_status_to_mbedtls( status ) ); - MBEDTLS_SSL_DEBUG_BUF( 3, "verify hash", verify_hash, verify_hash_len ); + MBEDTLS_SSL_DEBUG_BUF( 3, "verify hash", verify_hash, verify_hash_len ); - if( ( ret = mbedtls_pk_sign_ext( pk_type, own_key, + if( ( ret = mbedtls_pk_sign_ext( pk_type, own_key, md_alg, verify_hash, verify_hash_len, - p + 2, (size_t)( end - ( p + 2 ) ), &signature_len, + p + 4, (size_t)( end - ( p + 4 ) ), &signature_len, ssl->conf->f_rng, ssl->conf->p_rng ) ) != 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 2, ( "CertificateVerify signature failed with %s", + mbedtls_ssl_sig_alg_to_str( *sig_alg ) ) ); + MBEDTLS_SSL_DEBUG_RET( 2, "mbedtls_pk_sign_ext", ret ); + + /* The signature failed. This is possible if the private key + * was not suitable for the signature operation as purposely we + * did not check its suitability completely. Let's try with + * another signature algorithm. + */ + continue; + } + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "CertificateVerify signature with %s", + mbedtls_ssl_sig_alg_to_str( *sig_alg ) ) ); + + break; + } + + if( *sig_alg == MBEDTLS_TLS1_3_SIG_NONE ) { - MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_pk_sign", ret ); - return( ret ); + MBEDTLS_SSL_DEBUG_MSG( 1, ( "no suitable signature algorithm" ) ); + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE, + MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); } - MBEDTLS_PUT_UINT16_BE( signature_len, p, 0 ); - p += 2 + signature_len; + MBEDTLS_PUT_UINT16_BE( *sig_alg, p, 0 ); + MBEDTLS_PUT_UINT16_BE( signature_len, p, 2 ); - *out_len = (size_t)( p - buf ); + *out_len = 4 + signature_len; - return( ret ); + return( 0 ); } int mbedtls_ssl_tls13_write_certificate_verify( mbedtls_ssl_context *ssl ) @@ -1097,7 +1124,7 @@ int mbedtls_ssl_tls13_write_certificate_verify( mbedtls_ssl_context *ssl ) return( ret ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * @@ -1347,6 +1374,39 @@ int mbedtls_ssl_tls13_write_change_cipher_spec( mbedtls_ssl_context *ssl ) #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ +/* Early Data Indication Extension + * + * struct { + * select ( Handshake.msg_type ) { + * ... + * case client_hello: Empty; + * case encrypted_extensions: Empty; + * }; + * } EarlyDataIndication; + */ +#if defined(MBEDTLS_SSL_EARLY_DATA) +int mbedtls_ssl_tls13_write_early_data_ext( mbedtls_ssl_context *ssl, + unsigned char *buf, + const unsigned char *end, + size_t *out_len ) +{ + unsigned char *p = buf; + *out_len = 0; + ((void) ssl); + + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 ); + + MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_EARLY_DATA, p, 0 ); + MBEDTLS_PUT_UINT16_BE( 0, p, 2 ); + + *out_len = 4; + + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_EARLY_DATA ); + + return( 0 ); +} +#endif /* MBEDTLS_SSL_EARLY_DATA */ + /* Reset SSL context and update hash for handling HRR. * * Replace Transcript-Hash(X) by @@ -1361,7 +1421,7 @@ int mbedtls_ssl_tls13_write_change_cipher_spec( mbedtls_ssl_context *ssl ) int mbedtls_ssl_reset_transcript_for_hrr( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - unsigned char hash_transcript[ MBEDTLS_MD_MAX_SIZE + 4 ]; + unsigned char hash_transcript[PSA_HASH_MAX_SIZE + 4]; size_t hash_len; const mbedtls_ssl_ciphersuite_t *ciphersuite_info; uint16_t cipher_suite = ssl->session_negotiate->ciphersuite; @@ -1371,7 +1431,7 @@ int mbedtls_ssl_reset_transcript_for_hrr( mbedtls_ssl_context *ssl ) ret = mbedtls_ssl_get_handshake_transcript( ssl, ciphersuite_info->mac, hash_transcript + 4, - MBEDTLS_MD_MAX_SIZE, + PSA_HASH_MAX_SIZE, &hash_len ); if( ret != 0 ) { @@ -1386,9 +1446,9 @@ int mbedtls_ssl_reset_transcript_for_hrr( mbedtls_ssl_context *ssl ) hash_len += 4; +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( ciphersuite_info->mac == MBEDTLS_MD_SHA256 ) { -#if defined(MBEDTLS_SHA256_C) MBEDTLS_SSL_DEBUG_BUF( 4, "Truncated SHA-256 handshake transcript", hash_transcript, hash_len ); @@ -1398,11 +1458,11 @@ int mbedtls_ssl_reset_transcript_for_hrr( mbedtls_ssl_context *ssl ) #else mbedtls_sha256_starts( &ssl->handshake->fin_sha256, 0 ); #endif -#endif /* MBEDTLS_SHA256_C */ } - else if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) + if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) { -#if defined(MBEDTLS_SHA384_C) MBEDTLS_SSL_DEBUG_BUF( 4, "Truncated SHA-384 handshake transcript", hash_transcript, hash_len ); @@ -1410,14 +1470,13 @@ int mbedtls_ssl_reset_transcript_for_hrr( mbedtls_ssl_context *ssl ) psa_hash_abort( &ssl->handshake->fin_sha384_psa ); psa_hash_setup( &ssl->handshake->fin_sha384_psa, PSA_ALG_SHA_384 ); #else - mbedtls_sha512_starts( &ssl->handshake->fin_sha512, 1 ); + mbedtls_sha512_starts( &ssl->handshake->fin_sha384, 1 ); #endif -#endif /* MBEDTLS_SHA384_C */ } - -#if defined(MBEDTLS_SHA256_C) || defined(MBEDTLS_SHA384_C) +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) || defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) ssl->handshake->update_checksum( ssl, hash_transcript, hash_len ); -#endif /* MBEDTLS_SHA256_C || MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA || MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ return( ret ); } @@ -1505,4 +1564,61 @@ int mbedtls_ssl_tls13_generate_and_write_ecdh_key_exchange( } #endif /* MBEDTLS_ECDH_C */ +/* RFC 8446 section 4.2 + * + * If an implementation receives an extension which it recognizes and which is + * not specified for the message in which it appears, it MUST abort the handshake + * with an "illegal_parameter" alert. + * + */ +int mbedtls_ssl_tls13_check_received_extension( + mbedtls_ssl_context *ssl, + int hs_msg_type, + unsigned int received_extension_type, + uint32_t hs_msg_allowed_extensions_mask ) +{ + uint32_t extension_mask = mbedtls_ssl_get_extension_mask( + received_extension_type ); + + MBEDTLS_SSL_PRINT_EXT( + 3, hs_msg_type, received_extension_type, "received" ); + + if( ( extension_mask & hs_msg_allowed_extensions_mask ) == 0 ) + { + MBEDTLS_SSL_PRINT_EXT( + 3, hs_msg_type, received_extension_type, "is illegal" ); + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } + + ssl->handshake->received_extensions |= extension_mask; + /* + * If it is a message containing extension responses, check that we + * previously sent the extension. + */ + switch( hs_msg_type ) + { + case MBEDTLS_SSL_HS_SERVER_HELLO: + case MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST: + case MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS: + case MBEDTLS_SSL_HS_CERTIFICATE: + /* Check if the received extension is sent by peer message.*/ + if( ( ssl->handshake->sent_extensions & extension_mask ) != 0 ) + return( 0 ); + break; + default: + return( 0 ); + } + + MBEDTLS_SSL_PRINT_EXT( + 3, hs_msg_type, received_extension_type, "is unsupported" ); + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT, + MBEDTLS_ERR_SSL_UNSUPPORTED_EXTENSION ); + return( MBEDTLS_ERR_SSL_UNSUPPORTED_EXTENSION ); +} + #endif /* MBEDTLS_SSL_TLS_C && MBEDTLS_SSL_PROTO_TLS1_3 */ + diff --git a/library/ssl_tls13_keys.c b/library/ssl_tls13_keys.c index 51743bb395..cef61449b3 100644 --- a/library/ssl_tls13_keys.c +++ b/library/ssl_tls13_keys.c @@ -215,6 +215,33 @@ int mbedtls_ssl_tls13_hkdf_expand_label( return( psa_ssl_status_to_mbedtls ( status ) ); } +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_make_traffic_key( + psa_algorithm_t hash_alg, + const unsigned char *secret, size_t secret_len, + unsigned char *key, size_t key_len, + unsigned char *iv, size_t iv_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + ret = mbedtls_ssl_tls13_hkdf_expand_label( + hash_alg, + secret, secret_len, + MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( key ), + NULL, 0, + key, key_len ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_tls13_hkdf_expand_label( + hash_alg, + secret, secret_len, + MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( iv ), + NULL, 0, + iv, iv_len ); + return( ret ); +} + /* * The traffic keying material is generated from the following inputs: * @@ -240,35 +267,17 @@ int mbedtls_ssl_tls13_make_traffic_keys( { int ret = 0; - ret = mbedtls_ssl_tls13_hkdf_expand_label( hash_alg, - client_secret, secret_len, - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( key ), - NULL, 0, - keys->client_write_key, key_len ); - if( ret != 0 ) - return( ret ); - - ret = mbedtls_ssl_tls13_hkdf_expand_label( hash_alg, - server_secret, secret_len, - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( key ), - NULL, 0, - keys->server_write_key, key_len ); - if( ret != 0 ) - return( ret ); - - ret = mbedtls_ssl_tls13_hkdf_expand_label( hash_alg, - client_secret, secret_len, - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( iv ), - NULL, 0, - keys->client_write_iv, iv_len ); + ret = ssl_tls13_make_traffic_key( + hash_alg, client_secret, secret_len, + keys->client_write_key, key_len, + keys->client_write_iv, iv_len ); if( ret != 0 ) return( ret ); - ret = mbedtls_ssl_tls13_hkdf_expand_label( hash_alg, - server_secret, secret_len, - MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( iv ), - NULL, 0, - keys->server_write_iv, iv_len ); + ret = ssl_tls13_make_traffic_key( + hash_alg, server_secret, secret_len, + keys->server_write_key, key_len, + keys->server_write_iv, iv_len ); if( ret != 0 ) return( ret ); @@ -331,9 +340,12 @@ int mbedtls_ssl_tls13_evolve_secret( int ret = MBEDTLS_ERR_SSL_INTERNAL_ERROR; psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_status_t abort_status = PSA_ERROR_CORRUPTION_DETECTED; - size_t hlen, ilen; + size_t hlen; unsigned char tmp_secret[ PSA_MAC_MAX_SIZE ] = { 0 }; - unsigned char tmp_input [ MBEDTLS_ECP_MAX_BYTES ] = { 0 }; + const unsigned char all_zeroes_input[ MBEDTLS_TLS1_3_MD_MAX_SIZE ] = { 0 }; + const unsigned char *l_input = NULL; + size_t l_input_len; + psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT; @@ -359,14 +371,15 @@ int mbedtls_ssl_tls13_evolve_secret( ret = 0; - if( input != NULL ) + if( input != NULL && input_len != 0 ) { - memcpy( tmp_input, input, input_len ); - ilen = input_len; + l_input = input; + l_input_len = input_len; } else { - ilen = hlen; + l_input = all_zeroes_input; + l_input_len = hlen; } status = psa_key_derivation_setup( &operation, @@ -385,8 +398,7 @@ int mbedtls_ssl_tls13_evolve_secret( status = psa_key_derivation_input_bytes( &operation, PSA_KEY_DERIVATION_INPUT_SECRET, - tmp_input, - ilen ); + l_input, l_input_len ); if( status != PSA_SUCCESS ) goto cleanup; @@ -403,7 +415,6 @@ int mbedtls_ssl_tls13_evolve_secret( status = ( status == PSA_SUCCESS ? abort_status : status ); ret = ( ret == 0 ? psa_ssl_status_to_mbedtls ( status ) : ret ); mbedtls_platform_zeroize( tmp_secret, sizeof(tmp_secret) ); - mbedtls_platform_zeroize( tmp_input, sizeof(tmp_input) ); return( ret ); } @@ -622,7 +633,7 @@ int mbedtls_ssl_tls13_key_schedule_stage_application( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; mbedtls_ssl_handshake_params *handshake = ssl->handshake; - psa_algorithm_t const hash_alg = mbedtls_psa_translate_md( + psa_algorithm_t const hash_alg = mbedtls_hash_info_psa_from_md( handshake->ciphersuite_info->mac ); /* @@ -734,7 +745,7 @@ int mbedtls_ssl_tls13_calculate_verify_data( mbedtls_ssl_context* ssl, mbedtls_md_type_t const md_type = ssl->handshake->ciphersuite_info->mac; - psa_algorithm_t hash_alg = mbedtls_psa_translate_md( + psa_algorithm_t hash_alg = mbedtls_hash_info_psa_from_md( ssl->handshake->ciphersuite_info->mac ); size_t const hash_len = PSA_HASH_LENGTH( hash_alg ); @@ -825,6 +836,9 @@ int mbedtls_ssl_tls13_create_psk_binder( mbedtls_ssl_context *ssl, goto exit; } + MBEDTLS_SSL_DEBUG_BUF( 4, "mbedtls_ssl_tls13_create_psk_binder", + early_secret, hash_len ) ; + if( psk_type == MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION ) { ret = mbedtls_ssl_tls13_derive_secret( hash_alg, @@ -1047,33 +1061,8 @@ int mbedtls_ssl_tls13_populate_transform( mbedtls_ssl_transform *transform, return( 0 ); } -int mbedtls_ssl_tls13_key_schedule_stage_early( mbedtls_ssl_context *ssl ) -{ - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - psa_algorithm_t hash_alg; - mbedtls_ssl_handshake_params *handshake = ssl->handshake; - - if( handshake->ciphersuite_info == NULL ) - { - MBEDTLS_SSL_DEBUG_MSG( 1, ( "cipher suite info not found" ) ); - return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); - } - - hash_alg = mbedtls_psa_translate_md( handshake->ciphersuite_info->mac ); - - ret = mbedtls_ssl_tls13_evolve_secret( hash_alg, NULL, NULL, 0, - handshake->tls13_master_secrets.early ); - if( ret != 0 ) - { - MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_evolve_secret", ret ); - return( ret ); - } - - return( 0 ); -} - MBEDTLS_CHECK_RETURN_CRITICAL -static int mbedtls_ssl_tls13_get_cipher_key_info( +static int ssl_tls13_get_cipher_key_info( const mbedtls_ssl_ciphersuite_t *ciphersuite_info, size_t *key_len, size_t *iv_len ) { @@ -1101,22 +1090,224 @@ static int mbedtls_ssl_tls13_get_cipher_key_info( return 0; } +#if defined(MBEDTLS_SSL_EARLY_DATA) +/* + * ssl_tls13_generate_early_key() generates the key necessary for protecting + * the early application data and handshake messages as described in section 7 + * of RFC 8446. + * + * NOTE: Only one key is generated, the key for the traffic from the client to + * the server. The TLS 1.3 specification does not define a secret and thus + * a key for server early traffic. + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_generate_early_key( mbedtls_ssl_context *ssl, + mbedtls_ssl_key_set *traffic_keys ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_md_type_t md_type; + psa_algorithm_t hash_alg; + size_t hash_len; + unsigned char transcript[MBEDTLS_TLS1_3_MD_MAX_SIZE]; + size_t transcript_len; + size_t key_len; + size_t iv_len; + + mbedtls_ssl_handshake_params *handshake = ssl->handshake; + const mbedtls_ssl_ciphersuite_t *ciphersuite_info = handshake->ciphersuite_info; + mbedtls_ssl_tls13_early_secrets *tls13_early_secrets = &handshake->tls13_early_secrets; + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> ssl_tls13_generate_early_key" ) ); + + ret = ssl_tls13_get_cipher_key_info( ciphersuite_info, &key_len, &iv_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_get_cipher_key_info", ret ); + goto cleanup; + } + + md_type = ciphersuite_info->mac; + + hash_alg = mbedtls_hash_info_psa_from_md( ciphersuite_info->mac ); + hash_len = PSA_HASH_LENGTH( hash_alg ); + + ret = mbedtls_ssl_get_handshake_transcript( ssl, md_type, + transcript, + sizeof( transcript ), + &transcript_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, + "mbedtls_ssl_get_handshake_transcript", + ret ); + goto cleanup; + } + + ret = mbedtls_ssl_tls13_derive_early_secrets( + hash_alg, handshake->tls13_master_secrets.early, + transcript, transcript_len, tls13_early_secrets ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( + 1, "mbedtls_ssl_tls13_derive_early_secrets", ret ); + goto cleanup; + } + + MBEDTLS_SSL_DEBUG_BUF( + 4, "Client early traffic secret", + tls13_early_secrets->client_early_traffic_secret, hash_len ); + + /* + * Export client handshake traffic secret + */ + if( ssl->f_export_keys != NULL ) + { + ssl->f_export_keys( + ssl->p_export_keys, + MBEDTLS_SSL_KEY_EXPORT_TLS1_3_CLIENT_EARLY_SECRET, + tls13_early_secrets->client_early_traffic_secret, + hash_len, + handshake->randbytes, + handshake->randbytes + MBEDTLS_CLIENT_HELLO_RANDOM_LEN, + MBEDTLS_SSL_TLS_PRF_NONE /* TODO: FIX! */ ); + } + + ret = ssl_tls13_make_traffic_key( + hash_alg, + tls13_early_secrets->client_early_traffic_secret, + hash_len, traffic_keys->client_write_key, key_len, + traffic_keys->client_write_iv, iv_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_make_traffic_key", ret ); + goto cleanup; + } + traffic_keys->key_len = key_len; + traffic_keys->iv_len = iv_len; + + MBEDTLS_SSL_DEBUG_BUF( 4, "client early write_key", + traffic_keys->client_write_key, + traffic_keys->key_len); + + MBEDTLS_SSL_DEBUG_BUF( 4, "client early write_iv", + traffic_keys->client_write_iv, + traffic_keys->iv_len); + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= ssl_tls13_generate_early_key" ) ); + +cleanup: + /* Erase secret and transcript */ + mbedtls_platform_zeroize( + tls13_early_secrets, sizeof( mbedtls_ssl_tls13_early_secrets ) ); + mbedtls_platform_zeroize( transcript, sizeof( transcript ) ); + return( ret ); +} + +int mbedtls_ssl_tls13_compute_early_transform( mbedtls_ssl_context *ssl ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ssl_key_set traffic_keys; + mbedtls_ssl_transform *transform_earlydata = NULL; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; + + /* Next evolution in key schedule: Establish early_data secret and + * key material. */ + ret = ssl_tls13_generate_early_key( ssl, &traffic_keys ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_generate_early_key", + ret ); + goto cleanup; + } + + transform_earlydata = mbedtls_calloc( 1, sizeof( mbedtls_ssl_transform ) ); + if( transform_earlydata == NULL ) + { + ret = MBEDTLS_ERR_SSL_ALLOC_FAILED; + goto cleanup; + } + + ret = mbedtls_ssl_tls13_populate_transform( + transform_earlydata, + ssl->conf->endpoint, + ssl->session_negotiate->ciphersuite, + &traffic_keys, + ssl ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_populate_transform", ret ); + goto cleanup; + } + handshake->transform_earlydata = transform_earlydata; + +cleanup: + mbedtls_platform_zeroize( &traffic_keys, sizeof( traffic_keys ) ); + if( ret != 0 ) + mbedtls_free( transform_earlydata ); + + return( ret ); +} +#endif /* MBEDTLS_SSL_EARLY_DATA */ + +int mbedtls_ssl_tls13_key_schedule_stage_early( mbedtls_ssl_context *ssl ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + psa_algorithm_t hash_alg; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; + unsigned char *psk = NULL; + size_t psk_len = 0; + + if( handshake->ciphersuite_info == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "cipher suite info not found" ) ); + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + hash_alg = mbedtls_hash_info_psa_from_md( handshake->ciphersuite_info->mac ); +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + if( mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) ) + { + ret = mbedtls_ssl_tls13_export_handshake_psk( ssl, &psk, &psk_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_export_handshake_psk", + ret ); + return( ret ); + } + } +#endif + + ret = mbedtls_ssl_tls13_evolve_secret( hash_alg, NULL, psk, psk_len, + handshake->tls13_master_secrets.early ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) && \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + mbedtls_free( (void*)psk ); +#endif + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_evolve_secret", ret ); + return( ret ); + } + + MBEDTLS_SSL_DEBUG_BUF( 4, "mbedtls_ssl_tls13_key_schedule_stage_early", + handshake->tls13_master_secrets.early, + PSA_HASH_LENGTH( hash_alg ) ); + return( 0 ); +} + /* mbedtls_ssl_tls13_generate_handshake_keys() generates keys necessary for * protecting the handshake messages, as described in Section 7 of TLS 1.3. */ int mbedtls_ssl_tls13_generate_handshake_keys( mbedtls_ssl_context *ssl, mbedtls_ssl_key_set *traffic_keys ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - mbedtls_md_type_t md_type; - psa_algorithm_t hash_alg; size_t hash_len; - unsigned char transcript[MBEDTLS_TLS1_3_MD_MAX_SIZE]; size_t transcript_len; - - size_t key_len, iv_len; + size_t key_len; + size_t iv_len; mbedtls_ssl_handshake_params *handshake = ssl->handshake; const mbedtls_ssl_ciphersuite_t *ciphersuite_info = handshake->ciphersuite_info; @@ -1124,17 +1315,16 @@ int mbedtls_ssl_tls13_generate_handshake_keys( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> mbedtls_ssl_tls13_generate_handshake_keys" ) ); - ret = mbedtls_ssl_tls13_get_cipher_key_info( ciphersuite_info, - &key_len, &iv_len ); + ret = ssl_tls13_get_cipher_key_info( ciphersuite_info, &key_len, &iv_len ); if( ret != 0 ) { - MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_get_cipher_key_info", ret ); + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_get_cipher_key_info", ret ); return ret; } md_type = ciphersuite_info->mac; - hash_alg = mbedtls_psa_translate_md( ciphersuite_info->mac ); + hash_alg = mbedtls_hash_info_psa_from_md( ciphersuite_info->mac ); hash_len = PSA_HASH_LENGTH( hash_alg ); ret = mbedtls_ssl_get_handshake_transcript( ssl, md_type, @@ -1224,79 +1414,93 @@ int mbedtls_ssl_tls13_generate_handshake_keys( mbedtls_ssl_context *ssl, int mbedtls_ssl_tls13_key_schedule_stage_handshake( mbedtls_ssl_context *ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED) && defined(MBEDTLS_ECDH_C) - psa_status_t status = PSA_ERROR_GENERIC_ERROR; -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED && MBEDTLS_ECDH_C */ mbedtls_ssl_handshake_params *handshake = ssl->handshake; - psa_algorithm_t const hash_alg = mbedtls_psa_translate_md( + psa_algorithm_t const hash_alg = mbedtls_hash_info_psa_from_md( handshake->ciphersuite_info->mac ); + unsigned char *shared_secret = NULL; + size_t shared_secret_len = 0; -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED) /* * Compute ECDHE secret used to compute the handshake secret from which * client_handshake_traffic_secret and server_handshake_traffic_secret * are derived in the handshake secret derivation stage. */ - if( mbedtls_ssl_tls13_ephemeral_enabled( ssl ) ) + if( mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral( ssl ) ) { if( mbedtls_ssl_tls13_named_group_is_ecdhe( handshake->offered_group_id ) ) { #if defined(MBEDTLS_ECDH_C) /* Compute ECDH shared secret. */ - status = psa_raw_key_agreement( - PSA_ALG_ECDH, handshake->ecdh_psa_privkey, - handshake->ecdh_psa_peerkey, handshake->ecdh_psa_peerkey_len, - handshake->premaster, sizeof( handshake->premaster ), - &handshake->pmslen ); - if( status != PSA_SUCCESS ) - { - ret = psa_ssl_status_to_mbedtls( status ); - MBEDTLS_SSL_DEBUG_RET( 1, "psa_raw_key_agreement", ret ); - return( ret ); - } - - status = psa_destroy_key( handshake->ecdh_psa_privkey ); - if( status != PSA_SUCCESS ) - { - ret = psa_ssl_status_to_mbedtls( status ); - MBEDTLS_SSL_DEBUG_RET( 1, "psa_destroy_key", ret ); - return( ret ); - } - - handshake->ecdh_psa_privkey = MBEDTLS_SVC_KEY_ID_INIT; + psa_status_t status = PSA_ERROR_GENERIC_ERROR; + psa_key_attributes_t key_attributes = PSA_KEY_ATTRIBUTES_INIT; + + status = psa_get_key_attributes( handshake->ecdh_psa_privkey, + &key_attributes ); + if( status != PSA_SUCCESS ) + ret = psa_ssl_status_to_mbedtls( status ); + + shared_secret_len = PSA_BITS_TO_BYTES( + psa_get_key_bits( &key_attributes ) ); + shared_secret = mbedtls_calloc( 1, shared_secret_len ); + if( shared_secret == NULL ) + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + + status = psa_raw_key_agreement( + PSA_ALG_ECDH, handshake->ecdh_psa_privkey, + handshake->ecdh_psa_peerkey, handshake->ecdh_psa_peerkey_len, + shared_secret, shared_secret_len, &shared_secret_len ); + if( status != PSA_SUCCESS ) + { + ret = psa_ssl_status_to_mbedtls( status ); + MBEDTLS_SSL_DEBUG_RET( 1, "psa_raw_key_agreement", ret ); + goto cleanup; + } + + status = psa_destroy_key( handshake->ecdh_psa_privkey ); + if( status != PSA_SUCCESS ) + { + ret = psa_ssl_status_to_mbedtls( status ); + MBEDTLS_SSL_DEBUG_RET( 1, "psa_destroy_key", ret ); + goto cleanup; + } + + handshake->ecdh_psa_privkey = MBEDTLS_SVC_KEY_ID_INIT; #endif /* MBEDTLS_ECDH_C */ } - else if( mbedtls_ssl_tls13_named_group_is_dhe( handshake->offered_group_id ) ) + else { - MBEDTLS_SSL_DEBUG_MSG( 1, ( "DHE not supported." ) ); - return( MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE ); + MBEDTLS_SSL_DEBUG_MSG( 1, ( "Group not supported." ) ); + return( MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE ); } } -#else - return( MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE ); -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED */ /* * Compute the Handshake Secret */ ret = mbedtls_ssl_tls13_evolve_secret( hash_alg, handshake->tls13_master_secrets.early, - handshake->premaster, handshake->pmslen, + shared_secret, shared_secret_len, handshake->tls13_master_secrets.handshake ); if( ret != 0 ) { MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_evolve_secret", ret ); - return( ret ); + goto cleanup; } MBEDTLS_SSL_DEBUG_BUF( 4, "Handshake secret", handshake->tls13_master_secrets.handshake, PSA_HASH_LENGTH( hash_alg ) ); -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED) - mbedtls_platform_zeroize( handshake->premaster, sizeof( handshake->premaster ) ); -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED */ - return( 0 ); +cleanup: + if( shared_secret != NULL ) + { + mbedtls_platform_zeroize( shared_secret, shared_secret_len ); + mbedtls_free( shared_secret ); + } + + return( ret ); } /* Generate application traffic keys since any records following a 1-RTT Finished message @@ -1330,17 +1534,17 @@ int mbedtls_ssl_tls13_generate_application_keys( /* Extract basic information about hash and ciphersuite */ - ret = mbedtls_ssl_tls13_get_cipher_key_info( handshake->ciphersuite_info, - &key_len, &iv_len ); + ret = ssl_tls13_get_cipher_key_info( handshake->ciphersuite_info, + &key_len, &iv_len ); if( ret != 0 ) { - MBEDTLS_SSL_DEBUG_RET( 1, "mbedtls_ssl_tls13_get_cipher_key_info", ret ); + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_get_cipher_key_info", ret ); goto cleanup; } md_type = handshake->ciphersuite_info->mac; - hash_alg = mbedtls_psa_translate_md( handshake->ciphersuite_info->mac ); + hash_alg = mbedtls_hash_info_psa_from_md( handshake->ciphersuite_info->mac ); hash_len = PSA_HASH_LENGTH( hash_alg ); /* Compute current handshake transcript. It's the caller's responsibility @@ -1480,12 +1684,43 @@ int mbedtls_ssl_tls13_compute_handshake_transform( mbedtls_ssl_context *ssl ) return( ret ); } -int mbedtls_ssl_tls13_generate_resumption_master_secret( - mbedtls_ssl_context *ssl ) +int mbedtls_ssl_tls13_compute_resumption_master_secret( mbedtls_ssl_context *ssl ) { + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_md_type_t md_type; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; + unsigned char transcript[MBEDTLS_TLS1_3_MD_MAX_SIZE]; + size_t transcript_len; + + MBEDTLS_SSL_DEBUG_MSG( 2, + ( "=> mbedtls_ssl_tls13_compute_resumption_master_secret" ) ); + + md_type = handshake->ciphersuite_info->mac; + + ret = mbedtls_ssl_get_handshake_transcript( ssl, md_type, + transcript, sizeof( transcript ), + &transcript_len ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_tls13_derive_resumption_master_secret( + mbedtls_psa_translate_md( md_type ), + handshake->tls13_master_secrets.app, + transcript, transcript_len, + &ssl->session_negotiate->app_secrets ); + if( ret != 0 ) + return( ret ); + /* Erase master secrets */ - mbedtls_platform_zeroize( &ssl->handshake->tls13_master_secrets, - sizeof( ssl->handshake->tls13_master_secrets ) ); + mbedtls_platform_zeroize( &handshake->tls13_master_secrets, + sizeof( handshake->tls13_master_secrets ) ); + + MBEDTLS_SSL_DEBUG_BUF( 4, "Resumption master secret", + ssl->session_negotiate->app_secrets.resumption_master_secret, + PSA_HASH_LENGTH( mbedtls_psa_translate_md( md_type ) ) ) ; + + MBEDTLS_SSL_DEBUG_MSG( 2, + ( "<= mbedtls_ssl_tls13_compute_resumption_master_secret" ) ); return( 0 ); } @@ -1543,4 +1778,48 @@ int mbedtls_ssl_tls13_compute_application_transform( mbedtls_ssl_context *ssl ) return( ret ); } +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +int mbedtls_ssl_tls13_export_handshake_psk( mbedtls_ssl_context *ssl, + unsigned char **psk, + size_t *psk_len ) +{ +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_key_attributes_t key_attributes = PSA_KEY_ATTRIBUTES_INIT; + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + + *psk_len = 0; + *psk = NULL; + + if( mbedtls_svc_key_id_is_null( ssl->handshake->psk_opaque ) ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + + status = psa_get_key_attributes( ssl->handshake->psk_opaque, &key_attributes ); + if( status != PSA_SUCCESS ) + return( psa_ssl_status_to_mbedtls( status ) ); + + *psk_len = PSA_BITS_TO_BYTES( psa_get_key_bits( &key_attributes ) ); + *psk = mbedtls_calloc( 1, *psk_len ); + if( *psk == NULL ) + return( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + + status = psa_export_key( ssl->handshake->psk_opaque, + (uint8_t *)*psk, *psk_len, psk_len ); + if( status != PSA_SUCCESS ) + { + mbedtls_free( (void *)*psk ); + *psk = NULL; + return( psa_ssl_status_to_mbedtls( status ) ); + } + return( 0 ); +#else + *psk = ssl->handshake->psk; + *psk_len = ssl->handshake->psk_len; + if( *psk == NULL ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + return( 0 ); +#endif /* !MBEDTLS_USE_PSA_CRYPTO */ +} +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + diff --git a/library/ssl_tls13_keys.h b/library/ssl_tls13_keys.h index 76c1e93d8b..fc64737cd3 100644 --- a/library/ssl_tls13_keys.h +++ b/library/ssl_tls13_keys.h @@ -81,7 +81,7 @@ extern const struct mbedtls_ssl_tls13_labels_struct mbedtls_ssl_tls13_labels; * Since contexts are always hashes of message transcripts, this can * be approximated from above by the maximum hash size. */ #define MBEDTLS_SSL_TLS1_3_KEY_SCHEDULE_MAX_CONTEXT_LEN \ - MBEDTLS_MD_MAX_SIZE + PSA_HASH_MAX_SIZE /* Maximum desired length for expanded key material generated * by HKDF-Expand-Label. @@ -636,8 +636,7 @@ int mbedtls_ssl_tls13_generate_application_keys( * \returns A negative error code on failure. */ MBEDTLS_CHECK_RETURN_CRITICAL -int mbedtls_ssl_tls13_generate_resumption_master_secret( - mbedtls_ssl_context *ssl ); +int mbedtls_ssl_tls13_compute_resumption_master_secret( mbedtls_ssl_context *ssl ); /** * \brief Calculate the verify_data value for the client or server TLS 1.3 @@ -668,6 +667,27 @@ int mbedtls_ssl_tls13_calculate_verify_data( mbedtls_ssl_context *ssl, size_t *actual_len, int which ); +#if defined(MBEDTLS_SSL_EARLY_DATA) +/** + * \brief Compute TLS 1.3 early transform + * + * \param ssl The SSL context to operate on. + * + * \returns \c 0 on success. + * \returns A negative error code on failure. + * + * \warning The function does not compute the early master secret. Call + * mbedtls_ssl_tls13_key_schedule_stage_early() before to + * call this function to generate the early master secret. + * \note For a client/server endpoint, the function computes only the + * encryption/decryption part of the transform as the decryption/ + * encryption part is not defined by the specification (no early + * traffic from the server to the client). + */ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_compute_early_transform( mbedtls_ssl_context *ssl ); +#endif /* MBEDTLS_SSL_EARLY_DATA */ + /** * \brief Compute TLS 1.3 handshake transform * @@ -692,6 +712,24 @@ int mbedtls_ssl_tls13_compute_handshake_transform( mbedtls_ssl_context *ssl ); MBEDTLS_CHECK_RETURN_CRITICAL int mbedtls_ssl_tls13_compute_application_transform( mbedtls_ssl_context *ssl ); +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +/** + * \brief Export TLS 1.3 PSK from handshake context + * + * \param[in] ssl The SSL context to operate on. + * \param[out] psk PSK output pointer. + * \param[out] psk_len Length of PSK. + * + * \returns \c 0 if there is a configured PSK and it was exported + * successfully. + * \returns A negative error code on failure. + */ +MBEDTLS_CHECK_RETURN_CRITICAL +int mbedtls_ssl_tls13_export_handshake_psk( mbedtls_ssl_context *ssl, + unsigned char **psk, + size_t *psk_len ); +#endif + #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ #endif /* MBEDTLS_SSL_TLS1_3_KEYS_H */ diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c index 7d99433a90..6caae89b48 100644 --- a/library/ssl_tls13_server.c +++ b/library/ssl_tls13_server.c @@ -24,6 +24,7 @@ #include "mbedtls/debug.h" #include "mbedtls/error.h" #include "mbedtls/platform.h" +#include "mbedtls/constant_time.h" #include "ssl_misc.h" #include "ssl_tls13_keys.h" @@ -33,18 +34,679 @@ #include "mbedtls/ecp.h" #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif /* MBEDTLS_PLATFORM_C */ #include "ssl_misc.h" #include "ssl_tls13_keys.h" #include "ssl_debug_helpers.h" + +static const mbedtls_ssl_ciphersuite_t *ssl_tls13_validate_peer_ciphersuite( + mbedtls_ssl_context *ssl, + unsigned int cipher_suite ) +{ + const mbedtls_ssl_ciphersuite_t *ciphersuite_info; + if( ! mbedtls_ssl_tls13_cipher_suite_is_offered( ssl, cipher_suite ) ) + return( NULL ); + + ciphersuite_info = mbedtls_ssl_ciphersuite_from_id( cipher_suite ); + if( ( mbedtls_ssl_validate_ciphersuite( ssl, ciphersuite_info, + ssl->tls_version, + ssl->tls_version ) != 0 ) ) + { + return( NULL ); + } + return( ciphersuite_info ); +} + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) +/* From RFC 8446: + * + * enum { psk_ke(0), psk_dhe_ke(1), (255) } PskKeyExchangeMode; + * struct { + * PskKeyExchangeMode ke_modes<1..255>; + * } PskKeyExchangeModes; + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_parse_key_exchange_modes_ext( mbedtls_ssl_context *ssl, + const unsigned char *buf, + const unsigned char *end ) +{ + const unsigned char *p = buf; + size_t ke_modes_len; + int ke_modes = 0; + + /* Read ke_modes length (1 Byte) */ + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 1 ); + ke_modes_len = *p++; + /* Currently, there are only two PSK modes, so even without looking + * at the content, something's wrong if the list has more than 2 items. */ + if( ke_modes_len > 2 ) + { + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + } + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, ke_modes_len ); + + while( ke_modes_len-- != 0 ) + { + switch( *p++ ) + { + case MBEDTLS_SSL_TLS1_3_PSK_MODE_PURE: + ke_modes |= MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK; + MBEDTLS_SSL_DEBUG_MSG( 3, ( "Found PSK KEX MODE" ) ); + break; + case MBEDTLS_SSL_TLS1_3_PSK_MODE_ECDHE: + ke_modes |= MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL; + MBEDTLS_SSL_DEBUG_MSG( 3, ( "Found PSK_EPHEMERAL KEX MODE" ) ); + break; + default: + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } + } + + ssl->handshake->tls13_kex_modes = ke_modes; + return( 0 ); +} + +#define SSL_TLS1_3_OFFERED_PSK_NOT_MATCH 1 +#define SSL_TLS1_3_OFFERED_PSK_MATCH 0 + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_offered_psks_check_identity_match_ticket( + mbedtls_ssl_context *ssl, + const unsigned char *identity, + size_t identity_len, + uint32_t obfuscated_ticket_age, + mbedtls_ssl_session *session ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *ticket_buffer; +#if defined(MBEDTLS_HAVE_TIME) + mbedtls_time_t now; + uint64_t age_in_s; + int64_t age_diff_in_ms; +#endif + + ((void) obfuscated_ticket_age); + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> check_identity_match_ticket" ) ); + + /* Ticket parser is not configured, Skip */ + if( ssl->conf->f_ticket_parse == NULL || identity_len == 0 ) + return( 0 ); + + /* We create a copy of the encrypted ticket since the ticket parsing + * function is allowed to use its input buffer as an output buffer + * (in-place decryption). We do, however, need the original buffer for + * computing the PSK binder value. + */ + ticket_buffer = mbedtls_calloc( 1, identity_len ); + if( ticket_buffer == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "buffer too small" ) ); + return ( MBEDTLS_ERR_SSL_ALLOC_FAILED ); + } + memcpy( ticket_buffer, identity, identity_len ); + + if( ( ret = ssl->conf->f_ticket_parse( ssl->conf->p_ticket, + session, + ticket_buffer, identity_len ) ) != 0 ) + { + if( ret == MBEDTLS_ERR_SSL_INVALID_MAC ) + MBEDTLS_SSL_DEBUG_MSG( 3, ( "ticket is not authentic" ) ); + else if( ret == MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED ) + MBEDTLS_SSL_DEBUG_MSG( 3, ( "ticket is expired" ) ); + else + MBEDTLS_SSL_DEBUG_RET( 1, "ticket_parse", ret ); + } + + /* We delete the temporary buffer */ + mbedtls_free( ticket_buffer ); + + if( ret != 0 ) + goto exit; + + ret = MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED; +#if defined(MBEDTLS_HAVE_TIME) + now = mbedtls_time( NULL ); + + if( now < session->start ) + { + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "Invalid ticket start time ( now=%" MBEDTLS_PRINTF_LONGLONG + ", start=%" MBEDTLS_PRINTF_LONGLONG " )", + (long long)now, (long long)session->start ) ); + goto exit; + } + + age_in_s = (uint64_t)( now - session->start ); + + /* RFC 8446 section 4.6.1 + * + * Servers MUST NOT use any value greater than 604800 seconds (7 days). + * + * RFC 8446 section 4.2.11.1 + * + * Clients MUST NOT attempt to use tickets which have ages greater than + * the "ticket_lifetime" value which was provided with the ticket. + * + * For time being, the age MUST be less than 604800 seconds (7 days). + */ + if( age_in_s > 604800 ) + { + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "Ticket age exceeds limitation ticket_age=%lu", + (long unsigned int)age_in_s ) ); + goto exit; + } + + /* RFC 8446 section 4.2.10 + * + * For PSKs provisioned via NewSessionTicket, a server MUST validate that + * the ticket age for the selected PSK identity (computed by subtracting + * ticket_age_add from PskIdentity.obfuscated_ticket_age modulo 2^32) is + * within a small tolerance of the time since the ticket was issued. + * + * NOTE: When `now == session->start`, `age_diff_in_ms` may be negative + * as the age units are different on the server (s) and in the + * client (ms) side. Add a -1000 ms tolerance window to take this + * into account. + */ + age_diff_in_ms = age_in_s * 1000; + age_diff_in_ms -= ( obfuscated_ticket_age - session->ticket_age_add ); + if( age_diff_in_ms <= -1000 || + age_diff_in_ms > MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE ) + { + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "Ticket age outside tolerance window ( diff=%d )", + (int)age_diff_in_ms ) ); + goto exit; + } + + ret = 0; + +#endif /* MBEDTLS_HAVE_TIME */ + +exit: + if( ret != 0 ) + mbedtls_ssl_session_free( session ); + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= check_identity_match_ticket" ) ); + return( ret ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_offered_psks_check_identity_match( + mbedtls_ssl_context *ssl, + const unsigned char *identity, + size_t identity_len, + uint32_t obfuscated_ticket_age, + int *psk_type, + mbedtls_ssl_session *session ) +{ + ((void) session); + ((void) obfuscated_ticket_age); + *psk_type = MBEDTLS_SSL_TLS1_3_PSK_EXTERNAL; + + MBEDTLS_SSL_DEBUG_BUF( 4, "identity", identity, identity_len ); + ssl->handshake->resume = 0; + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( ssl_tls13_offered_psks_check_identity_match_ticket( + ssl, identity, identity_len, obfuscated_ticket_age, + session ) == SSL_TLS1_3_OFFERED_PSK_MATCH ) + { + ssl->handshake->resume = 1; + *psk_type = MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION; + mbedtls_ssl_set_hs_psk( ssl, + session->resumption_key, + session->resumption_key_len ); + + MBEDTLS_SSL_DEBUG_BUF( 4, "Ticket-resumed PSK:", + session->resumption_key, + session->resumption_key_len ); + MBEDTLS_SSL_DEBUG_MSG( 4, ( "ticket: obfuscated_ticket_age: %u", + (unsigned)obfuscated_ticket_age ) ); + return( SSL_TLS1_3_OFFERED_PSK_MATCH ); + } +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + + /* Check identity with external configured function */ + if( ssl->conf->f_psk != NULL ) + { + if( ssl->conf->f_psk( + ssl->conf->p_psk, ssl, identity, identity_len ) == 0 ) + { + return( SSL_TLS1_3_OFFERED_PSK_MATCH ); + } + return( SSL_TLS1_3_OFFERED_PSK_NOT_MATCH ); + } + + MBEDTLS_SSL_DEBUG_BUF( 5, "identity", identity, identity_len ); + /* Check identity with pre-configured psk */ + if( ssl->conf->psk_identity != NULL && + identity_len == ssl->conf->psk_identity_len && + mbedtls_ct_memcmp( ssl->conf->psk_identity, + identity, identity_len ) == 0 ) + { + mbedtls_ssl_set_hs_psk( ssl, ssl->conf->psk, ssl->conf->psk_len ); + return( SSL_TLS1_3_OFFERED_PSK_MATCH ); + } + + return( SSL_TLS1_3_OFFERED_PSK_NOT_MATCH ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_offered_psks_check_binder_match( mbedtls_ssl_context *ssl, + const unsigned char *binder, + size_t binder_len, + int psk_type, + psa_algorithm_t psk_hash_alg ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + unsigned char transcript[PSA_HASH_MAX_SIZE]; + size_t transcript_len; + unsigned char *psk; + size_t psk_len; + unsigned char server_computed_binder[PSA_HASH_MAX_SIZE]; + + /* Get current state of handshake transcript. */ + ret = mbedtls_ssl_get_handshake_transcript( + ssl, mbedtls_hash_info_md_from_psa( psk_hash_alg ), + transcript, sizeof( transcript ), &transcript_len ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_tls13_export_handshake_psk( ssl, &psk, &psk_len ); + if( ret != 0 ) + return( ret ); + + ret = mbedtls_ssl_tls13_create_psk_binder( ssl, psk_hash_alg, + psk, psk_len, psk_type, + transcript, + server_computed_binder ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) + mbedtls_free( (void*)psk ); +#endif + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 1, ( "PSK binder calculation failed." ) ); + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + } + + MBEDTLS_SSL_DEBUG_BUF( 3, "psk binder ( computed ): ", + server_computed_binder, transcript_len ); + MBEDTLS_SSL_DEBUG_BUF( 3, "psk binder ( received ): ", binder, binder_len ); + + if( mbedtls_ct_memcmp( server_computed_binder, binder, binder_len ) == 0 ) + { + return( SSL_TLS1_3_OFFERED_PSK_MATCH ); + } + + mbedtls_platform_zeroize( server_computed_binder, + sizeof( server_computed_binder ) ); + return( SSL_TLS1_3_OFFERED_PSK_NOT_MATCH ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_select_ciphersuite_for_psk( + mbedtls_ssl_context *ssl, + const unsigned char *cipher_suites, + const unsigned char *cipher_suites_end, + uint16_t *selected_ciphersuite, + const mbedtls_ssl_ciphersuite_t **selected_ciphersuite_info ) +{ + psa_algorithm_t psk_hash_alg = PSA_ALG_SHA_256; + + *selected_ciphersuite = 0; + *selected_ciphersuite_info = NULL; + + /* RFC 8446, page 55. + * + * For externally established PSKs, the Hash algorithm MUST be set when the + * PSK is established or default to SHA-256 if no such algorithm is defined. + * + */ + + /* + * Search for a matching ciphersuite + */ + for ( const unsigned char *p = cipher_suites; + p < cipher_suites_end; p += 2 ) + { + uint16_t cipher_suite; + const mbedtls_ssl_ciphersuite_t *ciphersuite_info; + + cipher_suite = MBEDTLS_GET_UINT16_BE( p, 0 ); + ciphersuite_info = ssl_tls13_validate_peer_ciphersuite( ssl, + cipher_suite ); + if( ciphersuite_info == NULL ) + continue; + + /* MAC of selected ciphersuite MUST be same with PSK binder if exist. + * Otherwise, client should reject. + */ + if( psk_hash_alg == mbedtls_psa_translate_md( ciphersuite_info->mac ) ) + { + *selected_ciphersuite = cipher_suite; + *selected_ciphersuite_info = ciphersuite_info; + return( 0 ); + } + } + MBEDTLS_SSL_DEBUG_MSG( 2, ( "No matched ciphersuite" ) ); + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); +} + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_select_ciphersuite_for_resumption( + mbedtls_ssl_context *ssl, + const unsigned char *cipher_suites, + const unsigned char *cipher_suites_end, + mbedtls_ssl_session *session, + uint16_t *selected_ciphersuite, + const mbedtls_ssl_ciphersuite_t **selected_ciphersuite_info ) +{ + + *selected_ciphersuite = 0; + *selected_ciphersuite_info = NULL; + for( const unsigned char *p = cipher_suites; p < cipher_suites_end; p += 2 ) + { + uint16_t cipher_suite = MBEDTLS_GET_UINT16_BE( p, 0 ); + const mbedtls_ssl_ciphersuite_t *ciphersuite_info; + + if( cipher_suite != session->ciphersuite ) + continue; + + ciphersuite_info = ssl_tls13_validate_peer_ciphersuite( ssl, + cipher_suite ); + if( ciphersuite_info == NULL ) + continue; + + *selected_ciphersuite = cipher_suite; + *selected_ciphersuite_info = ciphersuite_info; + + return( 0 ); + } + + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_session_copy_ticket( mbedtls_ssl_session *dst, + const mbedtls_ssl_session *src ) +{ + dst->ticket_age_add = src->ticket_age_add; + dst->ticket_flags = src->ticket_flags; + dst->resumption_key_len = src->resumption_key_len; + if( src->resumption_key_len == 0 ) + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + memcpy( dst->resumption_key, src->resumption_key, src->resumption_key_len ); + + return( 0 ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + +/* Parser for pre_shared_key extension in client hello + * struct { + * opaque identity<1..2^16-1>; + * uint32 obfuscated_ticket_age; + * } PskIdentity; + * + * opaque PskBinderEntry<32..255>; + * + * struct { + * PskIdentity identities<7..2^16-1>; + * PskBinderEntry binders<33..2^16-1>; + * } OfferedPsks; + * + * struct { + * select (Handshake.msg_type) { + * case client_hello: OfferedPsks; + * .... + * }; + * } PreSharedKeyExtension; + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_parse_pre_shared_key_ext( mbedtls_ssl_context *ssl, + const unsigned char *pre_shared_key_ext, + const unsigned char *pre_shared_key_ext_end, + const unsigned char *ciphersuites, + const unsigned char *ciphersuites_end ) +{ + const unsigned char *identities = pre_shared_key_ext; + const unsigned char *p_identity_len; + size_t identities_len; + const unsigned char *identities_end; + const unsigned char *binders; + const unsigned char *p_binder_len; + size_t binders_len; + const unsigned char *binders_end; + int matched_identity = -1; + int identity_id = -1; + + MBEDTLS_SSL_DEBUG_BUF( 3, "pre_shared_key extension", + pre_shared_key_ext, + pre_shared_key_ext_end - pre_shared_key_ext ); + + /* identities_len 2 bytes + * identities_data >= 7 bytes + */ + MBEDTLS_SSL_CHK_BUF_READ_PTR( identities, pre_shared_key_ext_end, 7 + 2 ); + identities_len = MBEDTLS_GET_UINT16_BE( identities, 0 ); + p_identity_len = identities + 2; + MBEDTLS_SSL_CHK_BUF_READ_PTR( p_identity_len, pre_shared_key_ext_end, + identities_len ); + identities_end = p_identity_len + identities_len; + + /* binders_len 2 bytes + * binders >= 33 bytes + */ + binders = identities_end; + MBEDTLS_SSL_CHK_BUF_READ_PTR( binders, pre_shared_key_ext_end, 33 + 2 ); + binders_len = MBEDTLS_GET_UINT16_BE( binders, 0 ); + p_binder_len = binders + 2; + MBEDTLS_SSL_CHK_BUF_READ_PTR( p_binder_len, pre_shared_key_ext_end, binders_len ); + binders_end = p_binder_len + binders_len; + + ssl->handshake->update_checksum( ssl, pre_shared_key_ext, + identities_end - pre_shared_key_ext ); + + while( p_identity_len < identities_end && p_binder_len < binders_end ) + { + const unsigned char *identity; + size_t identity_len; + uint32_t obfuscated_ticket_age; + const unsigned char *binder; + size_t binder_len; + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + int psk_type; + uint16_t cipher_suite; + const mbedtls_ssl_ciphersuite_t *ciphersuite_info; +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + mbedtls_ssl_session session; + mbedtls_ssl_session_init( &session ); +#endif + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p_identity_len, identities_end, 2 + 1 + 4 ); + identity_len = MBEDTLS_GET_UINT16_BE( p_identity_len, 0 ); + identity = p_identity_len + 2; + MBEDTLS_SSL_CHK_BUF_READ_PTR( identity, identities_end, identity_len + 4 ); + obfuscated_ticket_age = MBEDTLS_GET_UINT32_BE( identity , identity_len ); + p_identity_len += identity_len + 6; + + MBEDTLS_SSL_CHK_BUF_READ_PTR( p_binder_len, binders_end, 1 + 32 ); + binder_len = *p_binder_len; + binder = p_binder_len + 1; + MBEDTLS_SSL_CHK_BUF_READ_PTR( binder, binders_end, binder_len ); + p_binder_len += binder_len + 1; + + identity_id++; + if( matched_identity != -1 ) + continue; + + ret = ssl_tls13_offered_psks_check_identity_match( + ssl, identity, identity_len, obfuscated_ticket_age, + &psk_type, &session ); + if( ret != SSL_TLS1_3_OFFERED_PSK_MATCH ) + continue; + + MBEDTLS_SSL_DEBUG_MSG( 4, ( "found matched identity" ) ); + switch( psk_type ) + { + case MBEDTLS_SSL_TLS1_3_PSK_EXTERNAL: + ret = ssl_tls13_select_ciphersuite_for_psk( + ssl, ciphersuites, ciphersuites_end, + &cipher_suite, &ciphersuite_info ); + break; + case MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION: +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + ret = ssl_tls13_select_ciphersuite_for_resumption( + ssl, ciphersuites, ciphersuites_end, &session, + &cipher_suite, &ciphersuite_info ); + if( ret != 0 ) + mbedtls_ssl_session_free( &session ); +#else + ret = MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE; +#endif + break; + default: + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + if( ret != 0 ) + { + /* See below, no cipher_suite available, abort handshake */ + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR, + MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + MBEDTLS_SSL_DEBUG_RET( + 2, "ssl_tls13_select_ciphersuite", ret ); + return( ret ); + } + + ret = ssl_tls13_offered_psks_check_binder_match( + ssl, binder, binder_len, psk_type, + mbedtls_psa_translate_md( ciphersuite_info->mac ) ); + if( ret != SSL_TLS1_3_OFFERED_PSK_MATCH ) + { + /* For security reasons, the handshake should be aborted when we + * fail to validate a binder value. See RFC 8446 section 4.2.11.2 + * and appendix E.6. */ +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + mbedtls_ssl_session_free( &session ); +#endif + MBEDTLS_SSL_DEBUG_MSG( 3, ( "Invalid binder." ) ); + MBEDTLS_SSL_DEBUG_RET( 1, + "ssl_tls13_offered_psks_check_binder_match" , ret ); + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR, + MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + return( ret ); + } + + matched_identity = identity_id; + + /* Update handshake parameters */ + ssl->handshake->ciphersuite_info = ciphersuite_info; + ssl->session_negotiate->ciphersuite = cipher_suite; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "overwrite ciphersuite: %04x - %s", + cipher_suite, ciphersuite_info->name ) ); +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + if( psk_type == MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION ) + { + ret = ssl_tls13_session_copy_ticket( ssl->session_negotiate, + &session ); + mbedtls_ssl_session_free( &session ); + if( ret != 0 ) + return( ret ); + } +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + } + + if( p_identity_len != identities_end || p_binder_len != binders_end ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "pre_shared_key extension decode error" ) ); + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR, + MBEDTLS_ERR_SSL_DECODE_ERROR ); + return( MBEDTLS_ERR_SSL_DECODE_ERROR ); + } + + /* Update the handshake transcript with the binder list. */ + ssl->handshake->update_checksum( ssl, + identities_end, + (size_t)( binders_end - identities_end ) ); + if( matched_identity == -1 ) + { + MBEDTLS_SSL_DEBUG_MSG( 3, ( "No matched PSK or ticket." ) ); + return( MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY ); + } + + ssl->handshake->selected_identity = (uint16_t)matched_identity; + MBEDTLS_SSL_DEBUG_MSG( 3, ( "Pre shared key found" ) ); + + return( 0 ); +} + +/* + * struct { + * select ( Handshake.msg_type ) { + * .... + * case server_hello: + * uint16 selected_identity; + * } + * } PreSharedKeyExtension; + */ +static int ssl_tls13_write_server_pre_shared_key_ext( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + size_t *olen ) +{ + unsigned char *p = (unsigned char*)buf; + + *olen = 0; + + int not_using_psk = 0; +#if defined(MBEDTLS_USE_PSA_CRYPTO) + not_using_psk = ( mbedtls_svc_key_id_is_null( ssl->handshake->psk_opaque ) ); +#else + not_using_psk = ( ssl->handshake->psk == NULL ); +#endif + if( not_using_psk ) + { + /* We shouldn't have called this extension writer unless we've + * chosen to use a PSK. */ + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, adding pre_shared_key extension" ) ); + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 6 ); + + MBEDTLS_PUT_UINT16_BE( MBEDTLS_TLS_EXT_PRE_SHARED_KEY, p, 0 ); + MBEDTLS_PUT_UINT16_BE( 2, p, 2 ); + + MBEDTLS_PUT_UINT16_BE( ssl->handshake->selected_identity, p, 4 ); + + *olen = 6; + + MBEDTLS_SSL_DEBUG_MSG( 4, ( "sent selected_identity: %u", + ssl->handshake->selected_identity ) ); + + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_PRE_SHARED_KEY ); + + return( 0 ); +} + +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + /* From RFC 8446: * struct { * ProtocolVersion versions<2..254>; @@ -266,90 +928,176 @@ static int ssl_tls13_parse_key_shares_ext( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_ECDH_C */ -#if defined(MBEDTLS_DEBUG_C) -static void ssl_tls13_debug_print_client_hello_exts( mbedtls_ssl_context *ssl ) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_client_hello_has_exts( mbedtls_ssl_context *ssl, + int exts_mask ) +{ + int masked = ssl->handshake->received_extensions & exts_mask; + return( masked == exts_mask ); +} + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange( + mbedtls_ssl_context *ssl ) +{ + return( ssl_tls13_client_hello_has_exts( + ssl, + MBEDTLS_SSL_EXT_MASK( SUPPORTED_GROUPS ) | + MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) | + MBEDTLS_SSL_EXT_MASK( SIG_ALG ) ) ); +} +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_client_hello_has_exts_for_psk_key_exchange( + mbedtls_ssl_context *ssl ) +{ + return( ssl_tls13_client_hello_has_exts( + ssl, + MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | + MBEDTLS_SSL_EXT_MASK( PSK_KEY_EXCHANGE_MODES ) ) ); +} +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange( + mbedtls_ssl_context *ssl ) +{ + return( ssl_tls13_client_hello_has_exts( + ssl, + MBEDTLS_SSL_EXT_MASK( SUPPORTED_GROUPS ) | + MBEDTLS_SSL_EXT_MASK( KEY_SHARE ) | + MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) | + MBEDTLS_SSL_EXT_MASK( PSK_KEY_EXCHANGE_MODES ) ) ); +} +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_check_ephemeral_key_exchange( mbedtls_ssl_context *ssl ) +{ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + return( mbedtls_ssl_conf_tls13_ephemeral_enabled( ssl ) && + ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange( ssl ) ); +#else + ((void) ssl); + return( 0 ); +#endif +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_check_psk_key_exchange( mbedtls_ssl_context *ssl ) +{ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) + return( mbedtls_ssl_conf_tls13_psk_enabled( ssl ) && + mbedtls_ssl_tls13_psk_enabled( ssl ) && + ssl_tls13_client_hello_has_exts_for_psk_key_exchange( ssl ) ); +#else + ((void) ssl); + return( 0 ); +#endif +} + +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_check_psk_ephemeral_key_exchange( mbedtls_ssl_context *ssl ) { +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) + return( mbedtls_ssl_conf_tls13_psk_ephemeral_enabled( ssl ) && + mbedtls_ssl_tls13_psk_ephemeral_enabled( ssl ) && + ssl_tls13_client_hello_has_exts_for_psk_ephemeral_key_exchange( ssl ) ); +#else ((void) ssl); + return( 0 ); +#endif +} + +static int ssl_tls13_determine_key_exchange_mode( mbedtls_ssl_context *ssl ) +{ + /* + * Determine the key exchange algorithm to use. + * There are three types of key exchanges supported in TLS 1.3: + * - (EC)DH with ECDSA, + * - (EC)DH with PSK, + * - plain PSK. + * + * The PSK-based key exchanges may additionally be used with 0-RTT. + * + * Our built-in order of preference is + * 1 ) (EC)DHE-PSK Mode ( psk_ephemeral ) + * 2 ) Certificate Mode ( ephemeral ) + * 3 ) Plain PSK Mode ( psk ) + */ + + ssl->handshake->key_exchange_mode = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_NONE; + + if( ssl_tls13_check_psk_ephemeral_key_exchange( ssl ) ) + { + ssl->handshake->key_exchange_mode = + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "key exchange mode: psk_ephemeral" ) ); + } + else + if( ssl_tls13_check_ephemeral_key_exchange( ssl ) ) + { + ssl->handshake->key_exchange_mode = + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "key exchange mode: ephemeral" ) ); + } + else + if( ssl_tls13_check_psk_key_exchange( ssl ) ) + { + ssl->handshake->key_exchange_mode = + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "key exchange mode: psk" ) ); + } + else + { + MBEDTLS_SSL_DEBUG_MSG( + 1, + ( "ClientHello message misses mandatory extensions." ) ); + MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_MISSING_EXTENSION , + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } - MBEDTLS_SSL_DEBUG_MSG( 3, ( "Supported Extensions:" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- KEY_SHARE_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_KEY_SHARE ) > 0 ) ? "TRUE" : "FALSE" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- PSK_KEY_EXCHANGE_MODES_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_PSK_KEY_EXCHANGE_MODES ) > 0 ) ? - "TRUE" : "FALSE" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- PRE_SHARED_KEY_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_PRE_SHARED_KEY ) > 0 ) ? "TRUE" : "FALSE" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- SIGNATURE_ALGORITHM_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_SIG_ALG ) > 0 ) ? "TRUE" : "FALSE" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- SUPPORTED_GROUPS_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_SUPPORTED_GROUPS ) >0 ) ? - "TRUE" : "FALSE" ) ); - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- SUPPORTED_VERSION_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_SUPPORTED_VERSIONS ) > 0 ) ? - "TRUE" : "FALSE" ) ); -#if defined ( MBEDTLS_SSL_SERVER_NAME_INDICATION ) - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- SERVERNAME_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_SERVERNAME ) > 0 ) ? - "TRUE" : "FALSE" ) ); -#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ -#if defined ( MBEDTLS_SSL_ALPN ) - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "- ALPN_EXTENSION ( %s )", - ( ( ssl->handshake->extensions_present - & MBEDTLS_SSL_EXT_ALPN ) > 0 ) ? - "TRUE" : "FALSE" ) ); -#endif /* MBEDTLS_SSL_ALPN */ -} -#endif /* MBEDTLS_DEBUG_C */ + return( 0 ); -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_tls13_client_hello_has_exts( mbedtls_ssl_context *ssl, - int exts_mask ) -{ - int masked = ssl->handshake->extensions_present & exts_mask; - return( masked == exts_mask ); } -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange( - mbedtls_ssl_context *ssl ) -{ - return( ssl_tls13_client_hello_has_exts( ssl, - MBEDTLS_SSL_EXT_SUPPORTED_GROUPS | - MBEDTLS_SSL_EXT_KEY_SHARE | - MBEDTLS_SSL_EXT_SIG_ALG ) ); -} +#if defined(MBEDTLS_X509_CRT_PARSE_C) && \ + defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) -MBEDTLS_CHECK_RETURN_CRITICAL -static int ssl_tls13_check_ephemeral_key_exchange( mbedtls_ssl_context *ssl ) +#if defined(MBEDTLS_USE_PSA_CRYPTO) +static psa_algorithm_t ssl_tls13_iana_sig_alg_to_psa_alg( uint16_t sig_alg ) { - if( !mbedtls_ssl_conf_tls13_ephemeral_enabled( ssl ) ) - return( 0 ); - - if( !ssl_tls13_client_hello_has_exts_for_ephemeral_key_exchange( ssl ) ) - return( 0 ); - - ssl->handshake->tls13_kex_modes = - MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL; - return( 1 ); + switch( sig_alg ) + { + case MBEDTLS_TLS1_3_SIG_ECDSA_SECP256R1_SHA256: + return( PSA_ALG_ECDSA( PSA_ALG_SHA_256 ) ); + case MBEDTLS_TLS1_3_SIG_ECDSA_SECP384R1_SHA384: + return( PSA_ALG_ECDSA( PSA_ALG_SHA_384 ) ); + case MBEDTLS_TLS1_3_SIG_ECDSA_SECP521R1_SHA512: + return( PSA_ALG_ECDSA( PSA_ALG_SHA_512 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256: + return( PSA_ALG_RSA_PSS( PSA_ALG_SHA_256 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA384: + return( PSA_ALG_RSA_PSS( PSA_ALG_SHA_384 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA512: + return( PSA_ALG_RSA_PSS( PSA_ALG_SHA_512 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA256: + return( PSA_ALG_RSA_PKCS1V15_SIGN( PSA_ALG_SHA_256 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA384: + return( PSA_ALG_RSA_PKCS1V15_SIGN( PSA_ALG_SHA_384 ) ); + case MBEDTLS_TLS1_3_SIG_RSA_PKCS1_SHA512: + return( PSA_ALG_RSA_PKCS1V15_SIGN( PSA_ALG_SHA_512 ) ); + default: + return( PSA_ALG_NONE ); + } } +#endif /* MBEDTLS_USE_PSA_CRYPTO */ -#if defined(MBEDTLS_X509_CRT_PARSE_C) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) /* * Pick best ( private key, certificate chain ) pair based on the signature * algorithms supported by the client. @@ -375,9 +1123,19 @@ static int ssl_tls13_pick_key_cert( mbedtls_ssl_context *ssl ) for( ; *sig_alg != MBEDTLS_TLS1_3_SIG_NONE; sig_alg++ ) { + if( !mbedtls_ssl_sig_alg_is_offered( ssl, *sig_alg ) ) + continue; + + if( !mbedtls_ssl_tls13_sig_alg_for_cert_verify_is_supported( *sig_alg ) ) + continue; + for( key_cert = key_cert_list; key_cert != NULL; key_cert = key_cert->next ) { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_algorithm_t psa_alg = PSA_ALG_NONE; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + MBEDTLS_SSL_DEBUG_CRT( 3, "certificate (chain) candidate", key_cert->cert ); @@ -401,8 +1159,18 @@ static int ssl_tls13_pick_key_cert( mbedtls_ssl_context *ssl ) "check signature algorithm %s [%04x]", mbedtls_ssl_sig_alg_to_str( *sig_alg ), *sig_alg ) ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_alg = ssl_tls13_iana_sig_alg_to_psa_alg( *sig_alg ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + if( mbedtls_ssl_tls13_check_sig_alg_cert_key_match( - *sig_alg, &key_cert->cert->pk ) ) + *sig_alg, &key_cert->cert->pk ) +#if defined(MBEDTLS_USE_PSA_CRYPTO) + && psa_alg != PSA_ALG_NONE && + mbedtls_pk_can_do_ext( &key_cert->cert->pk, psa_alg, + PSA_KEY_USAGE_SIGN_HASH ) == 1 +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + ) { ssl->handshake->key_cert = key_cert; MBEDTLS_SSL_DEBUG_MSG( 3, @@ -424,7 +1192,7 @@ static int ssl_tls13_pick_key_cert( mbedtls_ssl_context *ssl ) return( -1 ); } #endif /* MBEDTLS_X509_CRT_PARSE_C && - MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * @@ -478,16 +1246,18 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; const unsigned char *p = buf; size_t legacy_session_id_len; - const unsigned char *cipher_suites; size_t cipher_suites_len; const unsigned char *cipher_suites_end; size_t extensions_len; const unsigned char *extensions_end; + mbedtls_ssl_handshake_params *handshake = ssl->handshake; int hrr_required = 0; - const mbedtls_ssl_ciphersuite_t* ciphersuite_info; - - ssl->handshake->extensions_present = MBEDTLS_SSL_EXT_NONE; +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + const unsigned char *cipher_suites; + const unsigned char *pre_shared_key_ext = NULL; + const unsigned char *pre_shared_key_ext_end = NULL; +#endif /* * ClientHello layout: @@ -531,6 +1301,12 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, */ ssl->tls_version = MBEDTLS_SSL_VERSION_TLS1_3; +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + /* Store minor version for later use with ticket serialization. */ + ssl->session_negotiate->tls_version = MBEDTLS_SSL_VERSION_TLS1_3; + ssl->session_negotiate->endpoint = ssl->conf->endpoint; +#endif + /* ... * Random random; * ... @@ -540,7 +1316,7 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "client hello, random bytes", p, MBEDTLS_CLIENT_HELLO_RANDOM_LEN ); - memcpy( &ssl->handshake->randbytes[0], p, MBEDTLS_CLIENT_HELLO_RANDOM_LEN ); + memcpy( &handshake->randbytes[0], p, MBEDTLS_CLIENT_HELLO_RANDOM_LEN ); p += MBEDTLS_CLIENT_HELLO_RANDOM_LEN; /* ... @@ -561,7 +1337,7 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, p, legacy_session_id_len ); /* * Check we have enough data for the legacy session identifier - * and the ciphersuite list length. + * and the ciphersuite list length. */ MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, legacy_session_id_len + 2 ); @@ -573,6 +1349,10 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, /* Check we have enough data for the ciphersuite list, the legacy * compression methods and the length of the extensions. + * + * cipher_suites cipher_suites_len bytes + * legacy_compression_methods 2 bytes + * extensions_len 2 bytes */ MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, cipher_suites_len + 2 + 2 ); @@ -582,51 +1362,43 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, * with CipherSuite defined as: * uint8 CipherSuite[2]; */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) cipher_suites = p; +#endif cipher_suites_end = p + cipher_suites_len; MBEDTLS_SSL_DEBUG_BUF( 3, "client hello, ciphersuitelist", p, cipher_suites_len ); + /* * Search for a matching ciphersuite */ - int ciphersuite_match = 0; for ( ; p < cipher_suites_end; p += 2 ) { uint16_t cipher_suite; + const mbedtls_ssl_ciphersuite_t* ciphersuite_info; + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, cipher_suites_end, 2 ); + cipher_suite = MBEDTLS_GET_UINT16_BE( p, 0 ); - ciphersuite_info = mbedtls_ssl_ciphersuite_from_id( cipher_suite ); - /* - * Check whether this ciphersuite is valid and offered. - */ - if( ( mbedtls_ssl_validate_ciphersuite( - ssl, ciphersuite_info, ssl->tls_version, - ssl->tls_version ) != 0 ) || - ! mbedtls_ssl_tls13_cipher_suite_is_offered( ssl, cipher_suite ) ) - { + ciphersuite_info = ssl_tls13_validate_peer_ciphersuite( + ssl,cipher_suite ); + if( ciphersuite_info == NULL ) continue; - } ssl->session_negotiate->ciphersuite = cipher_suite; - ssl->handshake->ciphersuite_info = ciphersuite_info; - ciphersuite_match = 1; - - break; - + handshake->ciphersuite_info = ciphersuite_info; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "selected ciphersuite: %04x - %s", + cipher_suite, + ciphersuite_info->name ) ); } - if( ! ciphersuite_match ) + if( handshake->ciphersuite_info == NULL ) { MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE, MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); return ( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); } - MBEDTLS_SSL_DEBUG_MSG( 2, ( "selected ciphersuite: %s", - ciphersuite_info->name ) ); - - p = cipher_suites + cipher_suites_len; - /* ... * opaque legacy_compression_methods<1..2^8-1>; * ... @@ -656,12 +1428,31 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "client hello extensions", p, extensions_len ); + handshake->received_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + while( p < extensions_end ) { unsigned int extension_type; size_t extension_data_len; const unsigned char *extension_data_end; + /* RFC 8446, section 4.2.11 + * + * The "pre_shared_key" extension MUST be the last extension in the + * ClientHello (this facilitates implementation as described below). + * Servers MUST check that it is the last extension and otherwise fail + * the handshake with an "illegal_parameter" alert. + */ + if( handshake->received_extensions & MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) ) + { + MBEDTLS_SSL_DEBUG_MSG( + 3, ( "pre_shared_key is not last extension." ) ); + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } + MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, 4 ); extension_type = MBEDTLS_GET_UINT16_BE( p, 0 ); extension_data_len = MBEDTLS_GET_UINT16_BE( p, 2 ); @@ -670,6 +1461,12 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, MBEDTLS_SSL_CHK_BUF_READ_PTR( p, extensions_end, extension_data_len ); extension_data_end = p + extension_data_len; + ret = mbedtls_ssl_tls13_check_received_extension( + ssl, MBEDTLS_SSL_HS_CLIENT_HELLO, extension_type, + MBEDTLS_SSL_TLS1_3_ALLOWED_EXTS_OF_CH ); + if( ret != 0 ) + return( ret ); + switch( extension_type ) { #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) @@ -683,7 +1480,6 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, 1, "mbedtls_ssl_parse_servername_ext", ret ); return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SERVERNAME; break; #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */ @@ -706,7 +1502,6 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SUPPORTED_GROUPS; break; #endif /* MBEDTLS_ECDH_C */ @@ -736,7 +1531,6 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_KEY_SHARE; break; #endif /* MBEDTLS_ECDH_C */ @@ -751,7 +1545,42 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, ( "ssl_tls13_parse_supported_versions_ext" ), ret ); return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SUPPORTED_VERSIONS; + break; + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + case MBEDTLS_TLS_EXT_PSK_KEY_EXCHANGE_MODES: + MBEDTLS_SSL_DEBUG_MSG( 3, ( "found psk key exchange modes extension" ) ); + + ret = ssl_tls13_parse_key_exchange_modes_ext( + ssl, p, extension_data_end ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( + 1, "ssl_tls13_parse_key_exchange_modes_ext", ret ); + return( ret ); + } + + break; +#endif + + case MBEDTLS_TLS_EXT_PRE_SHARED_KEY: + MBEDTLS_SSL_DEBUG_MSG( 3, ( "found pre_shared_key extension" ) ); + if( ( handshake->received_extensions & + MBEDTLS_SSL_EXT_MASK( PSK_KEY_EXCHANGE_MODES ) ) == 0 ) + { + MBEDTLS_SSL_PEND_FATAL_ALERT( + MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER, + MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); + } +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + /* Delay processing of the PSK identity once we have + * found out which algorithms to use. We keep a pointer + * to the buffer and the size for later processing. + */ + pre_shared_key_ext = p; + pre_shared_key_ext_end = extension_data_end; +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ break; #if defined(MBEDTLS_SSL_ALPN) @@ -765,11 +1594,10 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, 1, ( "mbedtls_ssl_parse_alpn_ext" ), ret ); return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_ALPN; break; #endif /* MBEDTLS_SSL_ALPN */ -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) case MBEDTLS_TLS_EXT_SIG_ALG: MBEDTLS_SSL_DEBUG_MSG( 3, ( "found signature_algorithms extension" ) ); @@ -782,30 +1610,65 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, ret ) ); return( ret ); } - ssl->handshake->extensions_present |= MBEDTLS_SSL_EXT_SIG_ALG; break; -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ default: - MBEDTLS_SSL_DEBUG_MSG( 3, - ( "unknown extension found: %ud ( ignoring )", - extension_type ) ); + MBEDTLS_SSL_PRINT_EXT( + 3, MBEDTLS_SSL_HS_CLIENT_HELLO, + extension_type, "( ignored )" ); + break; } p += extension_data_len; } + MBEDTLS_SSL_PRINT_EXTS( 3, MBEDTLS_SSL_HS_CLIENT_HELLO, + handshake->received_extensions ); + + mbedtls_ssl_add_hs_hdr_to_checksum( ssl, + MBEDTLS_SSL_HS_CLIENT_HELLO, + p - buf ); + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) /* Update checksum with either * - The entire content of the CH message, if no PSK extension is present * - The content up to but excluding the PSK extension, if present. */ - mbedtls_ssl_add_hs_msg_to_checksum( ssl, MBEDTLS_SSL_HS_CLIENT_HELLO, - buf, p - buf ); + /* If we've settled on a PSK-based exchange, parse PSK identity ext */ + if( mbedtls_ssl_tls13_some_psk_enabled( ssl ) && + mbedtls_ssl_conf_tls13_some_psk_enabled( ssl ) && + ( handshake->received_extensions & MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ) ) ) + { + handshake->update_checksum( ssl, buf, + pre_shared_key_ext - buf ); + ret = ssl_tls13_parse_pre_shared_key_ext( ssl, + pre_shared_key_ext, + pre_shared_key_ext_end, + cipher_suites, + cipher_suites_end ); + if( ret == MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY ) + { + handshake->received_extensions &= ~MBEDTLS_SSL_EXT_MASK( PRE_SHARED_KEY ); + } + else if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( + 1, "ssl_tls13_parse_pre_shared_key_ext" , ret ); + return( ret ); + } + } + else +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED */ + { + handshake->update_checksum( ssl, buf, p - buf ); + } + + ret = ssl_tls13_determine_key_exchange_mode( ssl ); + if( ret < 0 ) + return( ret ); - /* List all the extensions we have received */ -#if defined(MBEDTLS_DEBUG_C) - ssl_tls13_debug_print_client_hello_exts( ssl ); -#endif /* MBEDTLS_DEBUG_C */ + mbedtls_ssl_optimize_checksum( ssl, handshake->ciphersuite_info ); return( hrr_required ? SSL_CLIENT_HELLO_HRR_REQUIRED : SSL_CLIENT_HELLO_OK ); } @@ -817,19 +1680,6 @@ static int ssl_tls13_postprocess_client_hello( mbedtls_ssl_context* ssl ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; - /* - * Here we only support the ephemeral or (EC)DHE key echange mode - */ - if( !ssl_tls13_check_ephemeral_key_exchange( ssl ) ) - { - MBEDTLS_SSL_DEBUG_MSG( - 1, - ( "ClientHello message misses mandatory extensions." ) ); - MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_MISSING_EXTENSION , - MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); - return( MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER ); - } - /* * Server certificate selection */ @@ -965,6 +1815,9 @@ static int ssl_tls13_write_server_hello_supported_versions_ext( *out_len = 6; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( + ssl, MBEDTLS_TLS_EXT_SUPPORTED_VERSIONS ); + return( 0 ); } @@ -1042,6 +1895,10 @@ static int ssl_tls13_write_key_share_ext( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, adding key share extension" ) ); + MBEDTLS_SSL_DEBUG_MSG( 2, ( "server hello, write selected_group: %s (%04x)", + mbedtls_ssl_named_group_to_str( group ), + group ) ); + /* Check if we have space for header and length fields: * - extension_type (2 bytes) * - extension_data_length (2 bytes) @@ -1067,6 +1924,8 @@ static int ssl_tls13_write_key_share_ext( mbedtls_ssl_context *ssl, *out_len = p - buf; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_KEY_SHARE ); + return( 0 ); } @@ -1096,7 +1955,7 @@ static int ssl_tls13_write_hrr_key_share_ext( mbedtls_ssl_context *ssl, * of the HRR is then to transmit a cookie to force the client to demonstrate * reachability at their apparent network address (primarily useful for DTLS). */ - if( ! mbedtls_ssl_tls13_some_ephemeral_enabled( ssl ) ) + if( ! mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral( ssl ) ) return( 0 ); /* We should only send the key_share extension if the client's initial @@ -1131,6 +1990,8 @@ static int ssl_tls13_write_hrr_key_share_ext( mbedtls_ssl_context *ssl, *out_len = 6; + mbedtls_ssl_tls13_set_hs_sent_ext_mask( ssl, MBEDTLS_TLS_EXT_KEY_SHARE ); + return( 0 ); } @@ -1159,6 +2020,7 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl, size_t output_len; *out_len = 0; + ssl->handshake->sent_extensions = MBEDTLS_SSL_EXT_MASK_NONE; /* ... * ProtocolVersion legacy_version = 0x0303; // TLS 1.2 @@ -1227,7 +2089,7 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl, * ... */ MBEDTLS_SSL_CHK_BUF_PTR( p, end, 1 ); - *p++ = 0x0; + *p++ = MBEDTLS_SSL_COMPRESS_NULL; /* ... * Extension extensions<6..2^16-1>; @@ -1250,7 +2112,7 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl, } p += output_len; - if( mbedtls_ssl_conf_tls13_some_ephemeral_enabled( ssl ) ) + if( mbedtls_ssl_tls13_key_exchange_mode_with_ephemeral( ssl ) ) { if( is_hrr ) ret = ssl_tls13_write_hrr_key_share_ext( ssl, p, end, &output_len ); @@ -1261,6 +2123,20 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl, p += output_len; } +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED) + if( !is_hrr && mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) ) + { + ret = ssl_tls13_write_server_pre_shared_key_ext( ssl, p, end, &output_len ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "ssl_tls13_write_server_pre_shared_key_ext", + ret ); + return( ret ); + } + p += output_len; + } +#endif + MBEDTLS_PUT_UINT16_BE( p - p_extensions_len - 2, p_extensions_len, 0 ); MBEDTLS_SSL_DEBUG_BUF( 4, "server hello extensions", @@ -1270,6 +2146,11 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 3, "server hello", buf, *out_len ); + MBEDTLS_SSL_PRINT_EXTS( + 3, is_hrr ? MBEDTLS_SSL_TLS1_3_HS_HELLO_RETRY_REQUEST : + MBEDTLS_SSL_HS_SERVER_HELLO, + ssl->handshake->sent_extensions ); + return( ret ); } @@ -1454,6 +2335,9 @@ static int ssl_tls13_write_encrypted_extensions_body( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_BUF( 4, "encrypted extensions", buf, *out_len ); + MBEDTLS_SSL_PRINT_EXTS( + 3, MBEDTLS_SSL_HS_ENCRYPTED_EXTENSIONS, ssl->handshake->sent_extensions ); + return( 0 ); } @@ -1483,8 +2367,8 @@ static int ssl_tls13_write_encrypted_extensions( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_PROC_CHK( mbedtls_ssl_finish_handshake_msg( ssl, buf_len, msg_len ) ); -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) - if( mbedtls_ssl_tls13_some_psk_enabled( ssl ) ) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + if( mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) ) mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_SERVER_FINISHED ); else mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_CERTIFICATE_REQUEST ); @@ -1498,7 +2382,7 @@ static int ssl_tls13_write_encrypted_extensions( mbedtls_ssl_context *ssl ) return( ret ); } -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) #define SSL_CERTIFICATE_REQUEST_SEND_REQUEST 0 #define SSL_CERTIFICATE_REQUEST_SKIP 1 /* Coordination: @@ -1522,7 +2406,10 @@ static int ssl_tls13_certificate_request_coordinate( mbedtls_ssl_context *ssl ) authmode = ssl->conf->authmode; if( authmode == MBEDTLS_SSL_VERIFY_NONE ) + { + ssl->session_negotiate->verify_result = MBEDTLS_X509_BADCERT_SKIP_VERIFY; return( SSL_CERTIFICATE_REQUEST_SKIP ); + } ssl->handshake->certificate_request_sent = 1; @@ -1580,6 +2467,9 @@ static int ssl_tls13_write_certificate_request_body( mbedtls_ssl_context *ssl, *out_len = p - buf; + MBEDTLS_SSL_PRINT_EXTS( + 3, MBEDTLS_SSL_HS_CERTIFICATE_REQUEST, ssl->handshake->sent_extensions ); + return( 0 ); } @@ -1666,7 +2556,7 @@ static int ssl_tls13_write_certificate_verify( mbedtls_ssl_context *ssl ) mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_SERVER_FINISHED ); return( 0 ); } -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * Handler for MBEDTLS_SSL_SERVER_FINISHED @@ -1716,11 +2606,11 @@ static int ssl_tls13_process_client_finished( mbedtls_ssl_context *ssl ) if( ret != 0 ) return( ret ); - ret = mbedtls_ssl_tls13_generate_resumption_master_secret( ssl ); + ret = mbedtls_ssl_tls13_compute_resumption_master_secret( ssl ); if( ret != 0 ) { MBEDTLS_SSL_DEBUG_RET( 1, - "mbedtls_ssl_tls13_generate_resumption_master_secret ", ret ); + "mbedtls_ssl_tls13_compute_resumption_master_secret", ret ); } mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_WRAPUP ); @@ -1736,10 +2626,302 @@ static int ssl_tls13_handshake_wrapup( mbedtls_ssl_context *ssl ) MBEDTLS_SSL_DEBUG_MSG( 2, ( "handshake: done" ) ); mbedtls_ssl_tls13_handshake_wrapup( ssl ); + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET ); +#else mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER ); +#endif + return( 0 ); +} + +/* + * Handler for MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET + */ +#define SSL_NEW_SESSION_TICKET_SKIP 0 +#define SSL_NEW_SESSION_TICKET_WRITE 1 +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_write_new_session_ticket_coordinate( mbedtls_ssl_context *ssl ) +{ + /* Check whether the use of session tickets is enabled */ + if( ssl->conf->f_ticket_write == NULL ) + { + MBEDTLS_SSL_DEBUG_MSG( 2, ( "NewSessionTicket: disabled," + " callback is not set" ) ); + return( SSL_NEW_SESSION_TICKET_SKIP ); + } + if( ssl->conf->new_session_tickets_count == 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 2, ( "NewSessionTicket: disabled," + " configured count is zero" ) ); + return( SSL_NEW_SESSION_TICKET_SKIP ); + } + + if( ssl->handshake->new_session_tickets_count == 0 ) + { + MBEDTLS_SSL_DEBUG_MSG( 2, ( "NewSessionTicket: all tickets have " + "been sent." ) ); + return( SSL_NEW_SESSION_TICKET_SKIP ); + } + + return( SSL_NEW_SESSION_TICKET_WRITE ); +} + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_prepare_new_session_ticket( mbedtls_ssl_context *ssl, + unsigned char *ticket_nonce, + size_t ticket_nonce_size ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ssl_session *session = ssl->session; + mbedtls_ssl_ciphersuite_t *ciphersuite_info; + psa_algorithm_t psa_hash_alg; + int hash_length; + + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> prepare NewSessionTicket msg" ) ); + +#if defined(MBEDTLS_HAVE_TIME) + session->start = mbedtls_time( NULL ); +#endif + + /* Generate ticket_age_add */ + if( ( ret = ssl->conf->f_rng( ssl->conf->p_rng, + (unsigned char *) &session->ticket_age_add, + sizeof( session->ticket_age_add ) ) != 0 ) ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "generate_ticket_age_add", ret ); + return( ret ); + } + MBEDTLS_SSL_DEBUG_MSG( 3, ( "ticket_age_add: %u", + (unsigned int)session->ticket_age_add ) ); + + /* Generate ticket_nonce */ + ret = ssl->conf->f_rng( ssl->conf->p_rng, ticket_nonce, ticket_nonce_size ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "generate_ticket_nonce", ret ); + return( ret ); + } + MBEDTLS_SSL_DEBUG_BUF( 3, "ticket_nonce:", + ticket_nonce, ticket_nonce_size ); + + ciphersuite_info = + (mbedtls_ssl_ciphersuite_t *) ssl->handshake->ciphersuite_info; + psa_hash_alg = mbedtls_psa_translate_md( ciphersuite_info->mac ); + hash_length = PSA_HASH_LENGTH( psa_hash_alg ); + if( hash_length == -1 || + (size_t)hash_length > sizeof( session->resumption_key ) ) + { + return( MBEDTLS_ERR_SSL_INTERNAL_ERROR ); + } + + /* In this code the psk key length equals the length of the hash */ + session->resumption_key_len = hash_length; + session->ciphersuite = ciphersuite_info->id; + + /* Compute resumption key + * + * HKDF-Expand-Label( resumption_master_secret, + * "resumption", ticket_nonce, Hash.length ) + */ + ret = mbedtls_ssl_tls13_hkdf_expand_label( + psa_hash_alg, + session->app_secrets.resumption_master_secret, + hash_length, + MBEDTLS_SSL_TLS1_3_LBL_WITH_LEN( resumption ), + ticket_nonce, + ticket_nonce_size, + session->resumption_key, + hash_length ); + + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 2, + "Creating the ticket-resumed PSK failed", + ret ); + return ( ret ); + } + MBEDTLS_SSL_DEBUG_BUF( 3, "Ticket-resumed PSK", + session->resumption_key, + session->resumption_key_len ); + + MBEDTLS_SSL_DEBUG_BUF( 3, "resumption_master_secret", + session->app_secrets.resumption_master_secret, + hash_length ); + + return( 0 ); +} + +/* This function creates a NewSessionTicket message in the following format: + * + * struct { + * uint32 ticket_lifetime; + * uint32 ticket_age_add; + * opaque ticket_nonce<0..255>; + * opaque ticket<1..2^16-1>; + * Extension extensions<0..2^16-2>; + * } NewSessionTicket; + * + * The ticket inside the NewSessionTicket message is an encrypted container + * carrying the necessary information so that the server is later able to + * re-start the communication. + * + * The following fields are placed inside the ticket by the + * f_ticket_write() function: + * + * - creation time (start) + * - flags (flags) + * - age add (ticket_age_add) + * - key (key) + * - key length (key_len) + * - ciphersuite (ciphersuite) + */ +MBEDTLS_CHECK_RETURN_CRITICAL +static int ssl_tls13_write_new_session_ticket_body( mbedtls_ssl_context *ssl, + unsigned char *buf, + unsigned char *end, + size_t *out_len, + unsigned char *ticket_nonce, + size_t ticket_nonce_size ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + unsigned char *p = buf; + mbedtls_ssl_session *session = ssl->session; + size_t ticket_len; + uint32_t ticket_lifetime; + + *out_len = 0; + MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> write NewSessionTicket msg" ) ); + + /* + * ticket_lifetime 4 bytes + * ticket_age_add 4 bytes + * ticket_nonce 1 + ticket_nonce_size bytes + * ticket >=2 bytes + */ + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 4 + 4 + 1 + ticket_nonce_size + 2 ); + + /* Generate ticket and ticket_lifetime */ + ret = ssl->conf->f_ticket_write( ssl->conf->p_ticket, + session, + p + 9 + ticket_nonce_size + 2, + end, + &ticket_len, + &ticket_lifetime); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, "write_ticket", ret ); + return( ret ); + } + /* RFC 8446 4.6.1 + * ticket_lifetime: Indicates the lifetime in seconds as a 32-bit + * unsigned integer in network byte order from the time of ticket + * issuance. Servers MUST NOT use any value greater than + * 604800 seconds (7 days). The value of zero indicates that the + * ticket should be discarded immediately. Clients MUST NOT cache + * tickets for longer than 7 days, regardless of the ticket_lifetime, + * and MAY delete tickets earlier based on local policy. A server + * MAY treat a ticket as valid for a shorter period of time than what + * is stated in the ticket_lifetime. + */ + if( ticket_lifetime > 604800 ) + ticket_lifetime = 604800; + MBEDTLS_PUT_UINT32_BE( ticket_lifetime, p, 0 ); + MBEDTLS_SSL_DEBUG_MSG( 3, ( "ticket_lifetime: %u", + ( unsigned int )ticket_lifetime ) ); + + /* Write ticket_age_add */ + MBEDTLS_PUT_UINT32_BE( session->ticket_age_add, p, 4 ); + MBEDTLS_SSL_DEBUG_MSG( 3, ( "ticket_age_add: %u", + ( unsigned int )session->ticket_age_add ) ); + + /* Write ticket_nonce */ + p[8] = ( unsigned char )ticket_nonce_size; + if( ticket_nonce_size > 0 ) + { + memcpy( p + 9, ticket_nonce, ticket_nonce_size ); + } + p += 9 + ticket_nonce_size; + + /* Write ticket */ + MBEDTLS_PUT_UINT16_BE( ticket_len, p, 0 ); + p += 2; + MBEDTLS_SSL_DEBUG_BUF( 4, "ticket", p, ticket_len); + p += ticket_len; + + /* Ticket Extensions + * + * Note: We currently don't have any extensions. + * Set length to zero. + */ + ssl->handshake->sent_extensions = MBEDTLS_SSL_EXT_MASK_NONE; + + MBEDTLS_SSL_CHK_BUF_PTR( p, end, 2 ); + MBEDTLS_PUT_UINT16_BE( 0, p, 0 ); + p += 2; + + *out_len = p - buf; + MBEDTLS_SSL_DEBUG_BUF( 4, "ticket", buf, *out_len ); + MBEDTLS_SSL_DEBUG_MSG( 2, ( "<= write new session ticket" ) ); + + MBEDTLS_SSL_PRINT_EXTS( + 3, MBEDTLS_SSL_HS_NEW_SESSION_TICKET, ssl->handshake->sent_extensions ); + return( 0 ); } +/* + * Handler for MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET + */ +static int ssl_tls13_write_new_session_ticket( mbedtls_ssl_context *ssl ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + + MBEDTLS_SSL_PROC_CHK_NEG( ssl_tls13_write_new_session_ticket_coordinate( ssl ) ); + + if( ret == SSL_NEW_SESSION_TICKET_WRITE ) + { + unsigned char ticket_nonce[MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH]; + unsigned char *buf; + size_t buf_len, msg_len; + + MBEDTLS_SSL_PROC_CHK( ssl_tls13_prepare_new_session_ticket( + ssl, ticket_nonce, sizeof( ticket_nonce ) ) ); + + MBEDTLS_SSL_PROC_CHK( mbedtls_ssl_start_handshake_msg( ssl, + MBEDTLS_SSL_HS_NEW_SESSION_TICKET, &buf, &buf_len ) ); + + MBEDTLS_SSL_PROC_CHK( ssl_tls13_write_new_session_ticket_body( + ssl, buf, buf + buf_len, &msg_len, + ticket_nonce, sizeof( ticket_nonce ) ) ); + + MBEDTLS_SSL_PROC_CHK( mbedtls_ssl_finish_handshake_msg( + ssl, buf_len, msg_len ) ); + + /* Limit session tickets count to one when resumption connection. + * + * See document of mbedtls_ssl_conf_new_session_tickets. + */ + if( ssl->handshake->resume == 1 ) + ssl->handshake->new_session_tickets_count = 0; + else + ssl->handshake->new_session_tickets_count--; + + mbedtls_ssl_handshake_set_state( + ssl, MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH ); + } + else + { + mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER ); + } + +cleanup: + + return( ret ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + /* * TLS 1.3 State Machine -- server side */ @@ -1790,7 +2972,7 @@ int mbedtls_ssl_tls13_handshake_server_step( mbedtls_ssl_context *ssl ) } break; -#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) case MBEDTLS_SSL_CERTIFICATE_REQUEST: ret = ssl_tls13_write_certificate_request( ssl ); break; @@ -1802,7 +2984,7 @@ int mbedtls_ssl_tls13_handshake_server_step( mbedtls_ssl_context *ssl ) case MBEDTLS_SSL_CERTIFICATE_VERIFY: ret = ssl_tls13_write_certificate_verify( ssl ); break; -#endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ /* * Injection of dummy-CCS's for middlebox compatibility @@ -1833,6 +3015,7 @@ int mbedtls_ssl_tls13_handshake_server_step( mbedtls_ssl_context *ssl ) ret = ssl_tls13_handshake_wrapup( ssl ); break; +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) case MBEDTLS_SSL_CLIENT_CERTIFICATE: ret = mbedtls_ssl_tls13_process_certificate( ssl ); if( ret == 0 ) @@ -1859,6 +3042,32 @@ int mbedtls_ssl_tls13_handshake_server_step( mbedtls_ssl_context *ssl ) ssl, MBEDTLS_SSL_CLIENT_FINISHED ); } break; +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + case MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET: + ret = ssl_tls13_write_new_session_ticket( ssl ); + if( ret != 0 ) + { + MBEDTLS_SSL_DEBUG_RET( 1, + "ssl_tls13_write_new_session_ticket ", + ret ); + } + break; + case MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH: + /* This state is necessary to do the flush of the New Session + * Ticket message written in MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET + * as part of ssl_prepare_handshake_step. + */ + ret = 0; + + if( ssl->handshake->new_session_tickets_count == 0 ) + mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER ); + else + mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET ); + break; + +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ default: MBEDTLS_SSL_DEBUG_MSG( 1, ( "invalid state %d", ssl->state ) ); diff --git a/library/version_features.c b/library/version_features.c index 117901e138..e328cca331 100644 --- a/library/version_features.c +++ b/library/version_features.c @@ -435,6 +435,9 @@ static const char * const features[] = { #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) "MBEDTLS_SSL_DTLS_CONNECTION_ID", #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) + "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT", +#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */ #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) "MBEDTLS_SSL_ASYNC_PRIVATE", #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ @@ -468,6 +471,30 @@ static const char * const features[] = { #if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE) "MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE", #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) + "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED", +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED", +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) + "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED", +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE) + "MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE", +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE */ +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH) + "MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH", +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH */ +#if defined(MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS) + "MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS", +#endif /* MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS */ +#if defined(MBEDTLS_SSL_EARLY_DATA) + "MBEDTLS_SSL_EARLY_DATA", +#endif /* MBEDTLS_SSL_EARLY_DATA */ +#if defined(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE) + "MBEDTLS_SSL_MAX_EARLY_DATA_SIZE", +#endif /* MBEDTLS_SSL_MAX_EARLY_DATA_SIZE */ #if defined(MBEDTLS_SSL_PROTO_DTLS) "MBEDTLS_SSL_PROTO_DTLS", #endif /* MBEDTLS_SSL_PROTO_DTLS */ @@ -606,6 +633,12 @@ static const char * const features[] = { #if defined(MBEDTLS_HMAC_DRBG_C) "MBEDTLS_HMAC_DRBG_C", #endif /* MBEDTLS_HMAC_DRBG_C */ +#if defined(MBEDTLS_LMS_C) + "MBEDTLS_LMS_C", +#endif /* MBEDTLS_LMS_C */ +#if defined(MBEDTLS_LMS_PRIVATE) + "MBEDTLS_LMS_PRIVATE", +#endif /* MBEDTLS_LMS_PRIVATE */ #if defined(MBEDTLS_NIST_KW_C) "MBEDTLS_NIST_KW_C", #endif /* MBEDTLS_NIST_KW_C */ @@ -645,6 +678,9 @@ static const char * const features[] = { #if defined(MBEDTLS_PKCS5_C) "MBEDTLS_PKCS5_C", #endif /* MBEDTLS_PKCS5_C */ +#if defined(MBEDTLS_PKCS7_C) + "MBEDTLS_PKCS7_C", +#endif /* MBEDTLS_PKCS7_C */ #if defined(MBEDTLS_PKCS12_C) "MBEDTLS_PKCS12_C", #endif /* MBEDTLS_PKCS12_C */ diff --git a/library/x509.c b/library/x509.c index 249034b66c..be87973009 100644 --- a/library/x509.c +++ b/library/x509.c @@ -43,16 +43,7 @@ #include "mbedtls/pem.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_free free -#define mbedtls_calloc calloc -#define mbedtls_printf printf -#define mbedtls_snprintf snprintf -#endif #if defined(MBEDTLS_HAVE_TIME) #include "mbedtls/platform_time.h" @@ -62,6 +53,8 @@ #include #endif +#include "mbedtls/legacy_or_psa.h" + #define CHECK(code) if( ( ret = ( code ) ) != 0 ){ return( ret ); } #define CHECK_RANGE(min, max, val) \ do \ @@ -138,31 +131,31 @@ static inline const char* md_type_to_string( mbedtls_md_type_t md_alg ) { switch( md_alg ) { -#if defined(MBEDTLS_MD5_C) +#if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA) case MBEDTLS_MD_MD5: return( "MD5" ); #endif -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA) case MBEDTLS_MD_SHA1: return( "SHA1" ); #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA) case MBEDTLS_MD_SHA224: return( "SHA224" ); #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA) case MBEDTLS_MD_SHA256: return( "SHA256" ); #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA) case MBEDTLS_MD_SHA384: return( "SHA384" ); #endif -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA) case MBEDTLS_MD_SHA512: return( "SHA512" ); #endif -#if defined(MBEDTLS_RIPEMD160_C) +#if defined(MBEDTLS_HAS_ALG_RIPEMD160_VIA_MD_OR_PSA) case MBEDTLS_MD_RIPEMD160: return( "RIPEMD160" ); #endif @@ -240,7 +233,7 @@ static int x509_get_hash_alg( const mbedtls_x509_buf *alg, mbedtls_md_type_t *md * * RFC 4055 (which defines use of RSASSA-PSS in PKIX) states that the value * of trailerField MUST be 1, and PKCS#1 v2.2 doesn't even define any other - * option. Enfore this at parsing time. + * option. Enforce this at parsing time. */ int mbedtls_x509_get_rsassa_pss_params( const mbedtls_x509_buf *params, mbedtls_md_type_t *md_alg, mbedtls_md_type_t *mgf_md, @@ -466,6 +459,11 @@ static int x509_get_attr_type_value( unsigned char **p, * For the general case we still use a flat list, but we mark elements of the * same set so that they are "merged" together in the functions that consume * this list, eg mbedtls_x509_dn_gets(). + * + * On success, this function may allocate a linked list starting at cur->next + * that must later be free'd by the caller using mbedtls_free(). In error + * cases, this function frees all allocated memory internally and the caller + * has no freeing responsibilities. */ int mbedtls_x509_get_name( unsigned char **p, const unsigned char *end, mbedtls_x509_name *cur ) @@ -473,6 +471,7 @@ int mbedtls_x509_get_name( unsigned char **p, const unsigned char *end, int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; size_t set_len; const unsigned char *end_set; + mbedtls_x509_name *head = cur; /* don't use recursion, we'd risk stack overflow if not optimized */ while( 1 ) @@ -482,14 +481,17 @@ int mbedtls_x509_get_name( unsigned char **p, const unsigned char *end, */ if( ( ret = mbedtls_asn1_get_tag( p, end, &set_len, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SET ) ) != 0 ) - return( MBEDTLS_ERROR_ADD( MBEDTLS_ERR_X509_INVALID_NAME, ret ) ); + { + ret = MBEDTLS_ERROR_ADD( MBEDTLS_ERR_X509_INVALID_NAME, ret ); + goto error; + } end_set = *p + set_len; while( 1 ) { if( ( ret = x509_get_attr_type_value( p, end_set, cur ) ) != 0 ) - return( ret ); + goto error; if( *p == end_set ) break; @@ -500,7 +502,10 @@ int mbedtls_x509_get_name( unsigned char **p, const unsigned char *end, cur->next = mbedtls_calloc( 1, sizeof( mbedtls_x509_name ) ); if( cur->next == NULL ) - return( MBEDTLS_ERR_X509_ALLOC_FAILED ); + { + ret = MBEDTLS_ERR_X509_ALLOC_FAILED; + goto error; + } cur = cur->next; } @@ -514,10 +519,20 @@ int mbedtls_x509_get_name( unsigned char **p, const unsigned char *end, cur->next = mbedtls_calloc( 1, sizeof( mbedtls_x509_name ) ); if( cur->next == NULL ) - return( MBEDTLS_ERR_X509_ALLOC_FAILED ); + { + ret = MBEDTLS_ERR_X509_ALLOC_FAILED; + goto error; + } cur = cur->next; } + +error: + /* Skip the first element as we did not allocate it */ + mbedtls_asn1_free_named_data_list_shallow( head->next ); + head->next = NULL; + + return( ret ); } static int x509_parse_int( unsigned char **p, size_t n, int *res ) diff --git a/library/x509_crl.c b/library/x509_crl.c index 0cd996dabb..dc2d2e3e26 100644 --- a/library/x509_crl.c +++ b/library/x509_crl.c @@ -1,5 +1,5 @@ /* - * X.509 Certidicate Revocation List (CRL) parsing + * X.509 Certificate Revocation List (CRL) parsing * * Copyright The Mbed TLS Contributors * SPDX-License-Identifier: Apache-2.0 @@ -42,15 +42,7 @@ #include "mbedtls/pem.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_free free -#define mbedtls_calloc calloc -#define mbedtls_snprintf snprintf -#endif #if defined(MBEDTLS_HAVE_TIME) #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32) @@ -713,28 +705,16 @@ void mbedtls_x509_crl_free( mbedtls_x509_crl *crl ) { mbedtls_x509_crl *crl_cur = crl; mbedtls_x509_crl *crl_prv; - mbedtls_x509_name *name_cur; - mbedtls_x509_name *name_prv; mbedtls_x509_crl_entry *entry_cur; mbedtls_x509_crl_entry *entry_prv; - if( crl == NULL ) - return; - - do + while( crl_cur != NULL ) { #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) mbedtls_free( crl_cur->sig_opts ); #endif - name_cur = crl_cur->issuer.next; - while( name_cur != NULL ) - { - name_prv = name_cur; - name_cur = name_cur->next; - mbedtls_platform_zeroize( name_prv, sizeof( mbedtls_x509_name ) ); - mbedtls_free( name_prv ); - } + mbedtls_asn1_free_named_data_list_shallow( crl_cur->issuer.next ); entry_cur = crl_cur->entry.next; while( entry_cur != NULL ) @@ -752,13 +732,6 @@ void mbedtls_x509_crl_free( mbedtls_x509_crl *crl ) mbedtls_free( crl_cur->raw.p ); } - crl_cur = crl_cur->next; - } - while( crl_cur != NULL ); - - crl_cur = crl; - do - { crl_prv = crl_cur; crl_cur = crl_cur->next; @@ -766,7 +739,6 @@ void mbedtls_x509_crl_free( mbedtls_x509_crl *crl ) if( crl_prv != crl ) mbedtls_free( crl_prv ); } - while( crl_cur != NULL ); } #endif /* MBEDTLS_X509_CRL_PARSE_C */ diff --git a/library/x509_crt.c b/library/x509_crt.c index b38dff0859..0eee97cb66 100644 --- a/library/x509_crt.c +++ b/library/x509_crt.c @@ -48,16 +48,9 @@ #include "psa/crypto.h" #include "mbedtls/psa_util.h" #endif /* MBEDTLS_USE_PSA_CRYPTO */ +#include "hash_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_free free -#define mbedtls_calloc calloc -#define mbedtls_snprintf snprintf -#endif #if defined(MBEDTLS_THREADING_C) #include "mbedtls/threading.h" @@ -81,6 +74,7 @@ #else #include #endif /* __MBED__ */ +#include #endif /* !_WIN32 || EFIX64 || EFI32 */ #endif @@ -691,16 +685,7 @@ static int x509_get_subject_alt_name( unsigned char **p, */ if( ret != 0 && ret != MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE ) { - mbedtls_x509_sequence *seq_cur = subject_alt_name->next; - mbedtls_x509_sequence *seq_prv; - while( seq_cur != NULL ) - { - seq_prv = seq_cur; - seq_cur = seq_cur->next; - mbedtls_platform_zeroize( seq_prv, - sizeof( mbedtls_x509_sequence ) ); - mbedtls_free( seq_prv ); - } + mbedtls_asn1_sequence_free( subject_alt_name->next ); subject_alt_name->next = NULL; return( ret ); } @@ -1657,8 +1642,22 @@ int mbedtls_x509_crt_parse_path( mbedtls_x509_crt *chain, const char *path ) } else if( stat( entry_name, &sb ) == -1 ) { - ret = MBEDTLS_ERR_X509_FILE_IO_ERROR; - goto cleanup; + if( errno == ENOENT ) + { + /* Broken symbolic link - ignore this entry. + stat(2) will return this error for either (a) a dangling + symlink or (b) a missing file. + Given that we have just obtained the filename from readdir, + assume that it does exist and therefore treat this as a + dangling symlink. */ + continue; + } + else + { + /* Some other file error; report the error. */ + ret = MBEDTLS_ERR_X509_FILE_IO_ERROR; + goto cleanup; + } } if( !S_ISREG( sb.st_mode ) ) @@ -1838,6 +1837,7 @@ static int x509_info_subject_alt_name( char **buf, size_t *size, const char *prefix ) { int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + size_t i; size_t n = *size; char *p = *buf; const mbedtls_x509_sequence *cur = subject_alt_name; @@ -1890,18 +1890,11 @@ static int x509_info_subject_alt_name( char **buf, size_t *size, ret = mbedtls_snprintf( p, n, "\n%s hardware serial number : ", prefix ); MBEDTLS_X509_SAFE_SNPRINTF; - if( other_name->value.hardware_module_name.val.len >= n ) + for( i = 0; i < other_name->value.hardware_module_name.val.len; i++ ) { - *p = '\0'; - return( MBEDTLS_ERR_X509_BUFFER_TOO_SMALL ); + ret = mbedtls_snprintf( p, n, "%02X", other_name->value.hardware_module_name.val.p[i] ); + MBEDTLS_X509_SAFE_SNPRINTF; } - - memcpy( p, other_name->value.hardware_module_name.val.p, - other_name->value.hardware_module_name.val.len ); - p += other_name->value.hardware_module_name.val.len; - - n -= other_name->value.hardware_module_name.val.len; - }/* MBEDTLS_OID_ON_HW_MODULE_NAME */ } break; @@ -2338,11 +2331,10 @@ static int x509_crt_verifycrl( mbedtls_x509_crt *crt, mbedtls_x509_crt *ca, const mbedtls_x509_crt_profile *profile ) { int flags = 0; + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; #if defined(MBEDTLS_USE_PSA_CRYPTO) - unsigned char hash[PSA_HASH_MAX_SIZE]; psa_algorithm_t psa_algorithm; #else - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; const mbedtls_md_info_t *md_info; #endif /* MBEDTLS_USE_PSA_CRYPTO */ size_t hash_length; @@ -2379,7 +2371,7 @@ static int x509_crt_verifycrl( mbedtls_x509_crt *crt, mbedtls_x509_crt *ca, flags |= MBEDTLS_X509_BADCRL_BAD_PK; #if defined(MBEDTLS_USE_PSA_CRYPTO) - psa_algorithm = mbedtls_psa_translate_md( crl_list->sig_md ); + psa_algorithm = mbedtls_hash_info_psa_from_md( crl_list->sig_md ); if( psa_hash_compute( psa_algorithm, crl_list->tbs.p, crl_list->tbs.len, @@ -2449,8 +2441,8 @@ static int x509_crt_check_signature( const mbedtls_x509_crt *child, mbedtls_x509_crt_restart_ctx *rs_ctx ) { size_t hash_len; + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; #if !defined(MBEDTLS_USE_PSA_CRYPTO) - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; const mbedtls_md_info_t *md_info; md_info = mbedtls_md_info_from_type( child->sig_md ); hash_len = mbedtls_md_get_size( md_info ); @@ -2459,8 +2451,7 @@ static int x509_crt_check_signature( const mbedtls_x509_crt *child, if( mbedtls_md( md_info, child->tbs.p, child->tbs.len, hash ) != 0 ) return( -1 ); #else - unsigned char hash[PSA_HASH_MAX_SIZE]; - psa_algorithm_t hash_alg = mbedtls_psa_translate_md( child->sig_md ); + psa_algorithm_t hash_alg = mbedtls_hash_info_psa_from_md( child->sig_md ); psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; status = psa_hash_compute( hash_alg, @@ -3294,15 +3285,8 @@ void mbedtls_x509_crt_free( mbedtls_x509_crt *crt ) { mbedtls_x509_crt *cert_cur = crt; mbedtls_x509_crt *cert_prv; - mbedtls_x509_name *name_cur; - mbedtls_x509_name *name_prv; - mbedtls_x509_sequence *seq_cur; - mbedtls_x509_sequence *seq_prv; - if( crt == NULL ) - return; - - do + while( cert_cur != NULL ) { mbedtls_pk_free( &cert_cur->pk ); @@ -3310,53 +3294,11 @@ void mbedtls_x509_crt_free( mbedtls_x509_crt *crt ) mbedtls_free( cert_cur->sig_opts ); #endif - name_cur = cert_cur->issuer.next; - while( name_cur != NULL ) - { - name_prv = name_cur; - name_cur = name_cur->next; - mbedtls_platform_zeroize( name_prv, sizeof( mbedtls_x509_name ) ); - mbedtls_free( name_prv ); - } - - name_cur = cert_cur->subject.next; - while( name_cur != NULL ) - { - name_prv = name_cur; - name_cur = name_cur->next; - mbedtls_platform_zeroize( name_prv, sizeof( mbedtls_x509_name ) ); - mbedtls_free( name_prv ); - } - - seq_cur = cert_cur->ext_key_usage.next; - while( seq_cur != NULL ) - { - seq_prv = seq_cur; - seq_cur = seq_cur->next; - mbedtls_platform_zeroize( seq_prv, - sizeof( mbedtls_x509_sequence ) ); - mbedtls_free( seq_prv ); - } - - seq_cur = cert_cur->subject_alt_names.next; - while( seq_cur != NULL ) - { - seq_prv = seq_cur; - seq_cur = seq_cur->next; - mbedtls_platform_zeroize( seq_prv, - sizeof( mbedtls_x509_sequence ) ); - mbedtls_free( seq_prv ); - } - - seq_cur = cert_cur->certificate_policies.next; - while( seq_cur != NULL ) - { - seq_prv = seq_cur; - seq_cur = seq_cur->next; - mbedtls_platform_zeroize( seq_prv, - sizeof( mbedtls_x509_sequence ) ); - mbedtls_free( seq_prv ); - } + mbedtls_asn1_free_named_data_list_shallow( cert_cur->issuer.next ); + mbedtls_asn1_free_named_data_list_shallow( cert_cur->subject.next ); + mbedtls_asn1_sequence_free( cert_cur->ext_key_usage.next ); + mbedtls_asn1_sequence_free( cert_cur->subject_alt_names.next ); + mbedtls_asn1_sequence_free( cert_cur->certificate_policies.next ); if( cert_cur->raw.p != NULL && cert_cur->own_buffer ) { @@ -3364,13 +3306,6 @@ void mbedtls_x509_crt_free( mbedtls_x509_crt *crt ) mbedtls_free( cert_cur->raw.p ); } - cert_cur = cert_cur->next; - } - while( cert_cur != NULL ); - - cert_cur = crt; - do - { cert_prv = cert_cur; cert_cur = cert_cur->next; @@ -3378,7 +3313,6 @@ void mbedtls_x509_crt_free( mbedtls_x509_crt *crt ) if( cert_prv != crt ) mbedtls_free( cert_prv ); } - while( cert_cur != NULL ); } #if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE) diff --git a/library/x509_csr.c b/library/x509_csr.c index 25069b2a4c..f9462added 100644 --- a/library/x509_csr.c +++ b/library/x509_csr.c @@ -42,15 +42,7 @@ #include "mbedtls/pem.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_free free -#define mbedtls_calloc calloc -#define mbedtls_snprintf snprintf -#endif #if defined(MBEDTLS_FS_IO) || defined(EFIX64) || defined(EFI32) #include @@ -383,9 +375,6 @@ void mbedtls_x509_csr_init( mbedtls_x509_csr *csr ) */ void mbedtls_x509_csr_free( mbedtls_x509_csr *csr ) { - mbedtls_x509_name *name_cur; - mbedtls_x509_name *name_prv; - if( csr == NULL ) return; @@ -395,14 +384,7 @@ void mbedtls_x509_csr_free( mbedtls_x509_csr *csr ) mbedtls_free( csr->sig_opts ); #endif - name_cur = csr->subject.next; - while( name_cur != NULL ) - { - name_prv = name_cur; - name_cur = name_cur->next; - mbedtls_platform_zeroize( name_prv, sizeof( mbedtls_x509_name ) ); - mbedtls_free( name_prv ); - } + mbedtls_asn1_free_named_data_list_shallow( csr->subject.next ); if( csr->raw.p != NULL ) { diff --git a/library/x509write_crt.c b/library/x509write_crt.c index 2992dba061..254c4b2fca 100644 --- a/library/x509write_crt.c +++ b/library/x509write_crt.c @@ -45,6 +45,9 @@ #include "mbedtls/psa_util.h" #endif /* MBEDTLS_USE_PSA_CRYPTO */ +#include "hash_info.h" +#include "mbedtls/legacy_or_psa.h" + void mbedtls_x509write_crt_init( mbedtls_x509write_cert *ctx ) { memset( ctx, 0, sizeof( mbedtls_x509write_cert ) ); @@ -171,7 +174,7 @@ int mbedtls_x509write_crt_set_basic_constraints( mbedtls_x509write_cert *ctx, is_ca, buf + sizeof(buf) - len, len ) ); } -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) static int mbedtls_x509write_crt_set_key_identifier( mbedtls_x509write_cert *ctx, int is_ca, unsigned char tag ) @@ -253,7 +256,7 @@ int mbedtls_x509write_crt_set_authority_key_identifier( mbedtls_x509write_cert * 1, (MBEDTLS_ASN1_CONTEXT_SPECIFIC | 0) ); } -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ int mbedtls_x509write_crt_set_key_usage( mbedtls_x509write_cert *ctx, unsigned int key_usage ) @@ -293,6 +296,43 @@ int mbedtls_x509write_crt_set_key_usage( mbedtls_x509write_cert *ctx, return( 0 ); } +int mbedtls_x509write_crt_set_ext_key_usage( mbedtls_x509write_cert *ctx, + const mbedtls_asn1_sequence *exts ) +{ + unsigned char buf[256]; + unsigned char *c = buf + sizeof(buf); + int ret; + size_t len = 0; + const mbedtls_asn1_sequence *last_ext = NULL; + const mbedtls_asn1_sequence *ext; + + memset( buf, 0, sizeof(buf) ); + + /* We need at least one extension: SEQUENCE SIZE (1..MAX) OF KeyPurposeId */ + if( exts == NULL ) + return( MBEDTLS_ERR_X509_BAD_INPUT_DATA ); + + /* Iterate over exts backwards, so we write them out in the requested order */ + while( last_ext != exts ) + { + for( ext = exts; ext->next != last_ext; ext = ext->next ) {} + if( ext->buf.tag != MBEDTLS_ASN1_OID ) + return( MBEDTLS_ERR_X509_BAD_INPUT_DATA ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_raw_buffer( &c, buf, ext->buf.p, ext->buf.len ) ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_len( &c, buf, ext->buf.len ) ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_tag( &c, buf, MBEDTLS_ASN1_OID ) ); + last_ext = ext; + } + + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_len( &c, buf, len ) ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_tag( &c, buf, MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ) ); + + return mbedtls_x509write_crt_set_extension( ctx, + MBEDTLS_OID_EXTENDED_KEY_USAGE, + MBEDTLS_OID_SIZE( MBEDTLS_OID_EXTENDED_KEY_USAGE ), + 1, c, len ); +} + int mbedtls_x509write_crt_set_ns_cert_type( mbedtls_x509write_cert *ctx, unsigned char ns_cert_type ) { @@ -357,12 +397,10 @@ int mbedtls_x509write_crt_der( mbedtls_x509write_cert *ctx, unsigned char *c, *c2; unsigned char sig[MBEDTLS_PK_SIGNATURE_MAX_SIZE]; size_t hash_length = 0; + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_algorithm_t psa_algorithm; - unsigned char hash[PSA_HASH_MAX_SIZE]; -#else - unsigned char hash[64]; #endif /* MBEDTLS_USE_PSA_CRYPTO */ size_t sub_len = 0, pub_len = 0, sig_and_oid_len = 0, sig_len; @@ -500,7 +538,7 @@ int mbedtls_x509write_crt_der( mbedtls_x509write_cert *ctx, /* Compute hash of CRT. */ #if defined(MBEDTLS_USE_PSA_CRYPTO) - psa_algorithm = mbedtls_psa_translate_md( ctx->md_alg ); + psa_algorithm = mbedtls_hash_info_psa_from_md( ctx->md_alg ); status = psa_hash_compute( psa_algorithm, c, diff --git a/library/x509write_csr.c b/library/x509write_csr.c index 1cee318f9a..976f6e6df5 100644 --- a/library/x509write_csr.c +++ b/library/x509write_csr.c @@ -36,6 +36,7 @@ #include "psa/crypto.h" #include "mbedtls/psa_util.h" #endif /* MBEDTLS_USE_PSA_CRYPTO */ +#include "hash_info.h" #include #include @@ -44,13 +45,7 @@ #include "mbedtls/pem.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#endif void mbedtls_x509write_csr_init( mbedtls_x509write_csr *ctx ) { @@ -144,13 +139,13 @@ static int x509write_csr_der_internal( mbedtls_x509write_csr *ctx, const char *sig_oid; size_t sig_oid_len = 0; unsigned char *c, *c2; - unsigned char hash[64]; + unsigned char hash[MBEDTLS_HASH_MAX_SIZE]; size_t pub_len = 0, sig_and_oid_len = 0, sig_len; size_t len = 0; mbedtls_pk_type_t pk_alg; #if defined(MBEDTLS_USE_PSA_CRYPTO) size_t hash_len; - psa_algorithm_t hash_alg = mbedtls_psa_translate_md( ctx->md_alg ); + psa_algorithm_t hash_alg = mbedtls_hash_info_psa_from_md( ctx->md_alg ); #endif /* MBEDTLS_USE_PSA_CRYPTO */ /* Write the CSR backwards starting from the end of buf */ diff --git a/programs/aes/crypt_and_hash.c b/programs/aes/crypt_and_hash.c index 136e25ba41..476c20e226 100644 --- a/programs/aes/crypt_and_hash.c +++ b/programs/aes/crypt_and_hash.c @@ -25,17 +25,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_CIPHER_C) && defined(MBEDTLS_MD_C) && \ defined(MBEDTLS_FS_IO) diff --git a/programs/fuzz/.gitignore b/programs/fuzz/.gitignore index 5dc0960551..34e3ed0882 100644 --- a/programs/fuzz/.gitignore +++ b/programs/fuzz/.gitignore @@ -1,6 +1,7 @@ fuzz_client fuzz_dtlsclient fuzz_dtlsserver +fuzz_pkcs7 fuzz_privkey fuzz_pubkey fuzz_server diff --git a/programs/fuzz/CMakeLists.txt b/programs/fuzz/CMakeLists.txt index c7fcd356bc..7747744cd1 100644 --- a/programs/fuzz/CMakeLists.txt +++ b/programs/fuzz/CMakeLists.txt @@ -12,6 +12,7 @@ set(executables_no_common_c fuzz_x509crl fuzz_x509crt fuzz_x509csr + fuzz_pkcs7 ) set(executables_with_common_c diff --git a/programs/fuzz/fuzz_dtlsserver.c b/programs/fuzz/fuzz_dtlsserver.c index 1aa757c376..17caab211c 100644 --- a/programs/fuzz/fuzz_dtlsserver.c +++ b/programs/fuzz/fuzz_dtlsserver.c @@ -11,12 +11,14 @@ #include "mbedtls/ctr_drbg.h" #include "mbedtls/timing.h" #include "mbedtls/ssl_cookie.h" - +#include "mbedtls/legacy_or_psa.h" #if defined(MBEDTLS_SSL_SRV_C) && \ defined(MBEDTLS_ENTROPY_C) && \ defined(MBEDTLS_CTR_DRBG_C) && \ - defined(MBEDTLS_TIMING_C) + defined(MBEDTLS_TIMING_C) && \ + ( defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) || \ + defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) ) const char *pers = "fuzz_dtlsserver"; const unsigned char client_ip[4] = {0x7F, 0, 0, 1}; static int initialized = 0; @@ -32,7 +34,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { defined(MBEDTLS_SSL_SRV_C) && \ defined(MBEDTLS_ENTROPY_C) && \ defined(MBEDTLS_CTR_DRBG_C) && \ - defined(MBEDTLS_TIMING_C) + defined(MBEDTLS_TIMING_C) && \ + ( defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) || \ + defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) ) int ret; size_t len; mbedtls_ssl_context ssl; diff --git a/programs/fuzz/fuzz_pkcs7.c b/programs/fuzz/fuzz_pkcs7.c new file mode 100644 index 0000000000..960007d7ab --- /dev/null +++ b/programs/fuzz/fuzz_pkcs7.c @@ -0,0 +1,19 @@ +#include +#include "mbedtls/pkcs7.h" + +int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { +#ifdef MBEDTLS_PKCS7_C + mbedtls_pkcs7 pkcs7; + + mbedtls_pkcs7_init( &pkcs7 ); + + mbedtls_pkcs7_parse_der( &pkcs7, Data, Size ); + + mbedtls_pkcs7_free( &pkcs7 ); +#else + (void) Data; + (void) Size; +#endif + + return 0; +} diff --git a/programs/fuzz/fuzz_pkcs7.options b/programs/fuzz/fuzz_pkcs7.options new file mode 100644 index 0000000000..0824b19fab --- /dev/null +++ b/programs/fuzz/fuzz_pkcs7.options @@ -0,0 +1,2 @@ +[libfuzzer] +max_len = 65535 diff --git a/programs/fuzz/fuzz_privkey.c b/programs/fuzz/fuzz_privkey.c index e8e1d442ea..81ea1bce89 100644 --- a/programs/fuzz/fuzz_privkey.c +++ b/programs/fuzz/fuzz_privkey.c @@ -11,12 +11,12 @@ //4 Kb should be enough for every bug ;-) #define MAX_LEN 0x1000 -#if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_CTR_DRBG_C) +#if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_CTR_DRBG_C) && defined(MBEDTLS_ENTROPY_C) const char *pers = "fuzz_privkey"; -#endif // MBEDTLS_PK_PARSE_C && MBEDTLS_CTR_DRBG_C +#endif // MBEDTLS_PK_PARSE_C && MBEDTLS_CTR_DRBG_C && MBEDTLS_ENTROPY_C int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { -#if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_CTR_DRBG_C) +#if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_CTR_DRBG_C) && defined(MBEDTLS_ENTROPY_C) int ret; mbedtls_pk_context pk; mbedtls_ctr_drbg_context ctr_drbg; @@ -88,7 +88,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { #else (void) Data; (void) Size; -#endif // MBEDTLS_PK_PARSE_C && MBEDTLS_CTR_DRBG_C +#endif // MBEDTLS_PK_PARSE_C && MBEDTLS_CTR_DRBG_C && MBEDTLS_ENTROPY_C return 0; } diff --git a/programs/fuzz/fuzz_server.c b/programs/fuzz/fuzz_server.c index 3d11d474cd..95f43b8ffa 100644 --- a/programs/fuzz/fuzz_server.c +++ b/programs/fuzz/fuzz_server.c @@ -42,7 +42,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { mbedtls_ssl_config conf; mbedtls_ctr_drbg_context ctr_drbg; mbedtls_entropy_context entropy; -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_context ticket_ctx; #endif unsigned char buf[4096]; @@ -89,7 +89,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { } mbedtls_ssl_init( &ssl ); mbedtls_ssl_config_init( &conf ); -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_init( &ticket_ctx ); #endif @@ -114,7 +114,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { mbedtls_ssl_conf_alpn_protocols( &conf, alpn_list ); } #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) if( options & 0x4 ) { if( mbedtls_ssl_ticket_setup( &ticket_ctx, @@ -173,7 +173,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { } exit: -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_free( &ticket_ctx ); #endif mbedtls_entropy_free( &entropy ); diff --git a/programs/hash/generic_sum.c b/programs/hash/generic_sum.c index f38a9769d2..6f49e79bea 100644 --- a/programs/hash/generic_sum.c +++ b/programs/hash/generic_sum.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_MD_C) && defined(MBEDTLS_FS_IO) #include "mbedtls/md.h" diff --git a/programs/hash/hello.c b/programs/hash/hello.c index cb8de8b71e..3ef0652636 100644 --- a/programs/hash/hello.c +++ b/programs/hash/hello.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if defined(MBEDTLS_MD5_C) #include "mbedtls/md5.h" diff --git a/programs/pkey/dh_client.c b/programs/pkey/dh_client.c index 45de57b46f..3619cb2165 100644 --- a/programs/pkey/dh_client.c +++ b/programs/pkey/dh_client.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_time_t time_t -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_AES_C) && defined(MBEDTLS_DHM_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_NET_C) && \ diff --git a/programs/pkey/dh_genprime.c b/programs/pkey/dh_genprime.c index 9ada4eae12..3e81d135f5 100644 --- a/programs/pkey/dh_genprime.c +++ b/programs/pkey/dh_genprime.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_time_t time_t -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_FS_IO) || !defined(MBEDTLS_CTR_DRBG_C) || \ @@ -52,7 +42,7 @@ int main( void ) #define USAGE \ "\n usage: dh_genprime param=<>...\n" \ - "\n acceprable parameters:\n" \ + "\n acceptable parameters:\n" \ " bits=%%d default: 2048\n" #define DFL_BITS 2048 @@ -167,8 +157,8 @@ int main( int argc, char **argv ) goto exit; } - if( ( ret = mbedtls_mpi_write_file( "P = ", &P, 16, fout ) != 0 ) || - ( ret = mbedtls_mpi_write_file( "G = ", &G, 16, fout ) != 0 ) ) + if( ( ( ret = mbedtls_mpi_write_file( "P = ", &P, 16, fout ) ) != 0 ) || + ( ( ret = mbedtls_mpi_write_file( "G = ", &G, 16, fout ) ) != 0 ) ) { mbedtls_printf( " failed\n ! mbedtls_mpi_write_file returned %d\n\n", ret ); fclose( fout ); diff --git a/programs/pkey/dh_server.c b/programs/pkey/dh_server.c index 29563088ff..e6f53ed623 100644 --- a/programs/pkey/dh_server.c +++ b/programs/pkey/dh_server.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_time_t time_t -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_AES_C) && defined(MBEDTLS_DHM_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_NET_C) && \ diff --git a/programs/pkey/ecdh_curve25519.c b/programs/pkey/ecdh_curve25519.c index 281a26b0d7..5dd6bddb40 100644 --- a/programs/pkey/ecdh_curve25519.c +++ b/programs/pkey/ecdh_curve25519.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_ECDH_C) || \ !defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) || \ diff --git a/programs/pkey/ecdsa.c b/programs/pkey/ecdsa.c index c1c50702bb..1035bb2733 100644 --- a/programs/pkey/ecdsa.c +++ b/programs/pkey/ecdsa.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_ECDSA_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_CTR_DRBG_C) diff --git a/programs/pkey/gen_key.c b/programs/pkey/gen_key.c index 8779519b61..9e5329fb81 100644 --- a/programs/pkey/gen_key.c +++ b/programs/pkey/gen_key.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_PK_WRITE_C) && defined(MBEDTLS_FS_IO) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_CTR_DRBG_C) diff --git a/programs/pkey/key_app.c b/programs/pkey/key_app.c index bd16b24b94..02a19e95a4 100644 --- a/programs/pkey/key_app.c +++ b/programs/pkey/key_app.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && \ defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_FS_IO) && \ diff --git a/programs/pkey/key_app_writer.c b/programs/pkey/key_app_writer.c index df1e502488..589bee9aed 100644 --- a/programs/pkey/key_app_writer.c +++ b/programs/pkey/key_app_writer.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_PK_PARSE_C) && defined(MBEDTLS_PK_WRITE_C) && \ defined(MBEDTLS_FS_IO) && \ diff --git a/programs/pkey/mpi_demo.c b/programs/pkey/mpi_demo.c index eed8dfcfc6..4c34b99e7b 100644 --- a/programs/pkey/mpi_demo.c +++ b/programs/pkey/mpi_demo.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_FS_IO) #include "mbedtls/bignum.h" diff --git a/programs/pkey/pk_decrypt.c b/programs/pkey/pk_decrypt.c index b09b6b8895..0d8388f2b8 100644 --- a/programs/pkey/pk_decrypt.c +++ b/programs/pkey/pk_decrypt.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_PK_PARSE_C) && \ defined(MBEDTLS_FS_IO) && defined(MBEDTLS_ENTROPY_C) && \ diff --git a/programs/pkey/pk_encrypt.c b/programs/pkey/pk_encrypt.c index 3df11f7fde..5d45738dd3 100644 --- a/programs/pkey/pk_encrypt.c +++ b/programs/pkey/pk_encrypt.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_PK_PARSE_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_FS_IO) && \ diff --git a/programs/pkey/pk_sign.c b/programs/pkey/pk_sign.c index 7b5d8e1716..301edb875a 100644 --- a/programs/pkey/pk_sign.c +++ b/programs/pkey/pk_sign.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_snprintf snprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SHA256_C) || !defined(MBEDTLS_MD_C) || \ diff --git a/programs/pkey/pk_verify.c b/programs/pkey/pk_verify.c index e82653b514..6b9645221f 100644 --- a/programs/pkey/pk_verify.c +++ b/programs/pkey/pk_verify.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_snprintf snprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_MD_C) || \ !defined(MBEDTLS_SHA256_C) || !defined(MBEDTLS_PK_PARSE_C) || \ diff --git a/programs/pkey/rsa_decrypt.c b/programs/pkey/rsa_decrypt.c index c01a5cf633..783f3ca549 100644 --- a/programs/pkey/rsa_decrypt.c +++ b/programs/pkey/rsa_decrypt.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_RSA_C) && \ defined(MBEDTLS_FS_IO) && defined(MBEDTLS_ENTROPY_C) && \ diff --git a/programs/pkey/rsa_encrypt.c b/programs/pkey/rsa_encrypt.c index 25a42d323d..777b22e791 100644 --- a/programs/pkey/rsa_encrypt.c +++ b/programs/pkey/rsa_encrypt.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_RSA_C) && \ defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_FS_IO) && \ diff --git a/programs/pkey/rsa_genkey.c b/programs/pkey/rsa_genkey.c index 67711bd660..7acda81394 100644 --- a/programs/pkey/rsa_genkey.c +++ b/programs/pkey/rsa_genkey.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BIGNUM_C) && defined(MBEDTLS_ENTROPY_C) && \ defined(MBEDTLS_RSA_C) && defined(MBEDTLS_GENPRIME) && \ diff --git a/programs/pkey/rsa_sign.c b/programs/pkey/rsa_sign.c index 1df9b13b19..f4deab029f 100644 --- a/programs/pkey/rsa_sign.c +++ b/programs/pkey/rsa_sign.c @@ -19,18 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_snprintf snprintf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_SHA256_C) || !defined(MBEDTLS_MD_C) || \ diff --git a/programs/pkey/rsa_sign_pss.c b/programs/pkey/rsa_sign_pss.c index 8078ab6246..0cbde02248 100644 --- a/programs/pkey/rsa_sign_pss.c +++ b/programs/pkey/rsa_sign_pss.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_snprintf snprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_MD_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_SHA256_C) || \ diff --git a/programs/pkey/rsa_verify.c b/programs/pkey/rsa_verify.c index a8b1abb848..a3fa6d7d15 100644 --- a/programs/pkey/rsa_verify.c +++ b/programs/pkey/rsa_verify.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_snprintf snprintf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_SHA256_C) || !defined(MBEDTLS_MD_C) || \ diff --git a/programs/pkey/rsa_verify_pss.c b/programs/pkey/rsa_verify_pss.c index 3a207785c4..7dcccda9fa 100644 --- a/programs/pkey/rsa_verify_pss.c +++ b/programs/pkey/rsa_verify_pss.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_snprintf snprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_MD_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_SHA256_C) || \ diff --git a/programs/psa/aead_demo.c b/programs/psa/aead_demo.c index c4ed0dd823..1efd132656 100644 --- a/programs/psa/aead_demo.c +++ b/programs/psa/aead_demo.c @@ -104,7 +104,7 @@ void print_buf( const char *title, uint8_t *buf, size_t len ) /* Run a PSA function and bail out if it fails. * The symbolic name of the error code can be recovered using: - * programs/psa/psa_consant_name status */ + * programs/psa/psa_constant_name status */ #define PSA_CHECK( expr ) \ do \ { \ diff --git a/programs/psa/hmac_demo.c b/programs/psa/hmac_demo.c index 6238892b46..f949a89835 100644 --- a/programs/psa/hmac_demo.c +++ b/programs/psa/hmac_demo.c @@ -81,7 +81,7 @@ void print_buf( const char *title, uint8_t *buf, size_t len ) /* Run a PSA function and bail out if it fails. * The symbolic name of the error code can be recovered using: - * programs/psa/psa_consant_name status */ + * programs/psa/psa_constant_name status */ #define PSA_CHECK( expr ) \ do \ { \ diff --git a/programs/psa/psa_constant_names_generated.c b/programs/psa/psa_constant_names_generated.c index 98fe973a09..2ee35fe3f3 100644 --- a/programs/psa/psa_constant_names_generated.c +++ b/programs/psa/psa_constant_names_generated.c @@ -248,6 +248,7 @@ static int psa_snprint_algorithm(char *buffer, size_t buffer_size, case PSA_ALG_SHA_512_224: append(&buffer, buffer_size, &required_size, "PSA_ALG_SHA_512_224", 19); break; case PSA_ALG_SHA_512_256: append(&buffer, buffer_size, &required_size, "PSA_ALG_SHA_512_256", 19); break; case PSA_ALG_STREAM_CIPHER: append(&buffer, buffer_size, &required_size, "PSA_ALG_STREAM_CIPHER", 21); break; + case PSA_ALG_TLS12_ECJPAKE_TO_PMS: append(&buffer, buffer_size, &required_size, "PSA_ALG_TLS12_ECJPAKE_TO_PMS", 28); break; case PSA_ALG_TLS12_PRF_BASE: append(&buffer, buffer_size, &required_size, "PSA_ALG_TLS12_PRF_BASE", 22); break; case PSA_ALG_TLS12_PSK_TO_MS_BASE: append(&buffer, buffer_size, &required_size, "PSA_ALG_TLS12_PSK_TO_MS_BASE", 28); break; case PSA_ALG_XTS: append(&buffer, buffer_size, &required_size, "PSA_ALG_XTS", 11); break; diff --git a/programs/random/gen_entropy.c b/programs/random/gen_entropy.c index 4deb92435d..f0ffea2ce5 100644 --- a/programs/random/gen_entropy.c +++ b/programs/random/gen_entropy.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_FS_IO) #include "mbedtls/entropy.h" diff --git a/programs/random/gen_random_ctr_drbg.c b/programs/random/gen_random_ctr_drbg.c index 0a9e2dd3bf..2a3dd54e83 100644 --- a/programs/random/gen_random_ctr_drbg.c +++ b/programs/random/gen_random_ctr_drbg.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_CTR_DRBG_C) && defined(MBEDTLS_ENTROPY_C) && \ defined(MBEDTLS_FS_IO) diff --git a/programs/ssl/dtls_client.c b/programs/ssl/dtls_client.c index e06d535eec..d13ea28897 100644 --- a/programs/ssl/dtls_client.c +++ b/programs/ssl/dtls_client.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_fprintf fprintf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if !defined(MBEDTLS_SSL_CLI_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) || \ !defined(MBEDTLS_NET_C) || !defined(MBEDTLS_TIMING_C) || \ @@ -353,5 +343,5 @@ int main( int argc, char *argv[] ) mbedtls_exit( ret ); } #endif /* MBEDTLS_SSL_CLI_C && MBEDTLS_SSL_PROTO_DTLS && MBEDTLS_NET_C && - MBEDTLD_TIMING_C && MBEDTLS_ENTROPY_C && MBEDTLS_CTR_DRBG_C && + MBEDTLS_TIMING_C && MBEDTLS_ENTROPY_C && MBEDTLS_CTR_DRBG_C && MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_RSA_C && MBEDTLS_PEM_PARSE_C */ diff --git a/programs/ssl/dtls_server.c b/programs/ssl/dtls_server.c index 9317449371..10d82ba87e 100644 --- a/programs/ssl/dtls_server.c +++ b/programs/ssl/dtls_server.c @@ -19,18 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_fprintf fprintf -#define mbedtls_time_t time_t -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* Uncomment out the following line to default to IPv4 and disable IPv6 */ //#define FORCE_IPV4 diff --git a/programs/ssl/mini_client.c b/programs/ssl/mini_client.c index 8f2fed82af..efcf650165 100644 --- a/programs/ssl/mini_client.c +++ b/programs/ssl/mini_client.c @@ -20,16 +20,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* * We're creating and connecting the socket "manually" rather than using the diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c index a80ff713c0..5025698a85 100644 --- a/programs/ssl/ssl_client1.c +++ b/programs/ssl/ssl_client1.c @@ -19,19 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \ diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c index d6724dfb11..6aa295d662 100644 --- a/programs/ssl/ssl_client2.c +++ b/programs/ssl/ssl_client2.c @@ -64,6 +64,7 @@ int main( void ) #define DFL_KEY_OPAQUE 0 #define DFL_KEY_PWD "" #define DFL_PSK "" +#define DFL_EARLY_DATA MBEDTLS_SSL_EARLY_DATA_DISABLED #define DFL_PSK_OPAQUE 0 #define DFL_PSK_IDENTITY "Client_identity" #define DFL_ECJPAKE_PW NULL @@ -83,6 +84,7 @@ int main( void ) #define DFL_RECSPLIT -1 #define DFL_DHMLEN -1 #define DFL_RECONNECT 0 +#define DFL_RECO_SERVER_NAME NULL #define DFL_RECO_DELAY 0 #define DFL_RECO_MODE 1 #define DFL_CID_ENABLED 0 @@ -120,7 +122,7 @@ int main( void ) #define GET_REQUEST "GET %s HTTP/1.0\r\nExtra-header: " #define GET_REQUEST_END "\r\n\r\n" -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define USAGE_CONTEXT_CRT_CB \ " context_crt_cb=%%d This determines whether the CRT verification callback is bound\n" \ " to the SSL configuration of the SSL context.\n" \ @@ -129,8 +131,8 @@ int main( void ) " - 1: Use CRT callback bound to SSL context\n" #else #define USAGE_CONTEXT_CRT_CB "" -#endif /* MBEDTLS_X509_CRT_PARSE_C */ -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if defined(MBEDTLS_FS_IO) #define USAGE_IO \ " ca_file=%%s The single file containing the top-level CA(s) you fully trust\n" \ @@ -148,10 +150,10 @@ int main( void ) #define USAGE_IO \ " No file operations available (MBEDTLS_FS_IO not defined)\n" #endif /* MBEDTLS_FS_IO */ -#else /* MBEDTLS_X509_CRT_PARSE_C */ +#else /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #define USAGE_IO "" -#endif /* MBEDTLS_X509_CRT_PARSE_C */ -#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_X509_CRT_PARSE_C) +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define USAGE_KEY_OPAQUE \ " key_opaque=%%d Handle your private key as if it were opaque\n" \ " default: 0 (disabled)\n" @@ -173,7 +175,7 @@ int main( void ) #define USAGE_CID "" #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #define USAGE_PSK_RAW \ " psk=%%s default: \"\" (disabled)\n" \ " The PSK values are in hex, without 0x.\n" \ @@ -195,7 +197,7 @@ int main( void ) #define USAGE_PSK USAGE_PSK_RAW USAGE_PSK_SLOT #else #define USAGE_PSK "" -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) #define USAGE_CA_CALLBACK \ @@ -269,8 +271,7 @@ int main( void ) #define USAGE_CURVES "" #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define USAGE_SIG_ALGS \ " sig_algs=a,b,c,d default: \"default\" (library default)\n" \ " example: \"ecdsa_secp256r1_sha256,ecdsa_secp384r1_sha384\"\n" @@ -344,12 +345,21 @@ int main( void ) #define USAGE_SERIALIZATION "" #endif +#if defined(MBEDTLS_SSL_EARLY_DATA) +#define USAGE_EARLY_DATA \ + " early_data=%%d default: 0 (disabled)\n" \ + " options: 0 (disabled), 1 (enabled)\n" +#else +#define USAGE_EARLY_DATA "" +#endif /* MBEDTLS_SSL_EARLY_DATA && MBEDTLS_SSL_PROTO_TLS1_3 */ + #define USAGE_KEY_OPAQUE_ALGS \ " key_opaque_algs=%%s Allowed opaque key algorithms.\n" \ - " comma-separated pair of values among the following:\n" \ - " rsa-sign-pkcs1, rsa-sign-pss, rsa-decrypt,\n" \ - " ecdsa-sign, ecdh, none (only acceptable for\n" \ - " the second value).\n" \ + " comma-separated pair of values among the following:\n" \ + " rsa-sign-pkcs1, rsa-sign-pss, rsa-sign-pss-sha256,\n" \ + " rsa-sign-pss-sha384, rsa-sign-pss-sha512, rsa-decrypt,\n" \ + " ecdsa-sign, ecdh, none (only acceptable for\n" \ + " the second value).\n" \ #if defined(MBEDTLS_SSL_PROTO_TLS1_3) #define USAGE_TLS1_3_KEY_EXCHANGE_MODES \ @@ -375,6 +385,8 @@ int main( void ) " a second non-empty message before attempting\n" \ " to read a response from the server\n" \ " debug_level=%%d default: 0 (disabled)\n" \ + " build_version=%%d default: none (disabled)\n" \ + " option: 1 (print build version only and stop)\n" \ " nbio=%%d default: 0 (blocking I/O)\n" \ " options: 1 (non-blocking), 2 (added delays)\n" \ " event=%%d default: 0 (loop)\n" \ @@ -403,7 +415,8 @@ int main( void ) USAGE_RENEGO \ " exchanges=%%d default: 1\n" \ " reconnect=%%d number of reconnections using session resumption\n" \ - " default: 0 (disabled)\n" \ + " default: 0 (disabled)\n" \ + " reco_server_name=%%s default: NULL\n" \ " reco_delay=%%d default: 0 seconds\n" \ " reco_mode=%%d 0: copy session, 1: serialize session\n" \ " default: 1\n" \ @@ -418,6 +431,7 @@ int main( void ) USAGE_REPRODUCIBLE \ USAGE_CURVES \ USAGE_SIG_ALGS \ + USAGE_EARLY_DATA \ USAGE_DHMLEN \ USAGE_KEY_OPAQUE_ALGS \ "\n" @@ -497,6 +511,7 @@ struct options int recsplit; /* enable record splitting? */ int dhmlen; /* minimum DHM params len in bits */ int reconnect; /* attempt to resume session */ + const char *reco_server_name; /* hostname of the server (re-connect) */ int reco_delay; /* delay in seconds before resuming session */ int reco_mode; /* how to keep the session around */ int reconnect_hard; /* unexpectedly reconnect from the same port */ @@ -528,6 +543,9 @@ struct options * after renegotiation */ int reproducible; /* make communication reproducible */ int skip_close_notify; /* skip sending the close_notify alert */ +#if defined(MBEDTLS_SSL_EARLY_DATA) + int early_data; /* support for early data */ +#endif int query_config_mode; /* whether to read config */ int use_srtp; /* Support SRTP */ int force_srtp_profile; /* SRTP protection profile to use or all */ @@ -538,7 +556,7 @@ struct options #include "ssl_test_common_source.c" -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) static unsigned char peer_crt_info[1024]; /* @@ -576,7 +594,7 @@ static int my_verify( void *data, mbedtls_x509_crt *crt, return( 0 ); } -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) int report_cid_usage( mbedtls_ssl_context *ssl, @@ -657,6 +675,58 @@ int report_cid_usage( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +static int ssl_save_session_serialize( mbedtls_ssl_context *ssl, + unsigned char **session_data, + size_t *session_data_len ) +{ + int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; + mbedtls_ssl_session exported_session; + + /* free any previously saved data */ + if( *session_data != NULL ) + { + mbedtls_platform_zeroize( *session_data, *session_data_len ); + mbedtls_free( *session_data ); + *session_data = NULL; + *session_data_len = 0; + } + + mbedtls_ssl_session_init( &exported_session ); + ret = mbedtls_ssl_get_session( ssl, &exported_session ); + if( ret != 0 ) + { + mbedtls_printf( + "failed\n ! mbedtls_ssl_get_session() returned -%#02x\n", + (unsigned) -ret ); + goto exit; + } + + /* get size of the buffer needed */ + mbedtls_ssl_session_save( &exported_session, NULL, 0, session_data_len ); + *session_data = mbedtls_calloc( 1, *session_data_len ); + if( *session_data == NULL ) + { + mbedtls_printf( " failed\n ! alloc %u bytes for session data\n", + (unsigned) *session_data_len ); + ret = MBEDTLS_ERR_SSL_ALLOC_FAILED; + goto exit; + } + + /* actually save session data */ + if( ( ret = mbedtls_ssl_session_save( &exported_session, + *session_data, *session_data_len, + session_data_len ) ) != 0 ) + { + mbedtls_printf( " failed\n ! mbedtls_ssl_session_saved returned -0x%04x\n\n", + (unsigned int) -ret ); + goto exit; + } + +exit: + mbedtls_ssl_session_free( &exported_session ); + return( ret ); +} + int main( int argc, char *argv[] ) { int ret = 0, len, tail_len, i, written, frags, retry_left; @@ -664,14 +734,13 @@ int main( int argc, char *argv[] ) mbedtls_net_context server_fd; io_ctx_t io_ctx; -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) uint16_t sig_alg_list[SIG_ALG_LIST_SIZE]; -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif unsigned char buf[MAX_REQUEST_SIZE + 1]; -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) unsigned char psk[MBEDTLS_PSK_MAX_LEN]; size_t psk_len = 0; #endif @@ -703,7 +772,7 @@ int main( int argc, char *argv[] ) const char *pers = "ssl_client2"; #if defined(MBEDTLS_USE_PSA_CRYPTO) -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) mbedtls_svc_key_id_t slot = MBEDTLS_SVC_KEY_ID_INIT; psa_algorithm_t alg = 0; psa_key_attributes_t key_attributes; @@ -713,9 +782,6 @@ int main( int argc, char *argv[] ) psa_status_t status; #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) - mbedtls_x509_crt_profile crt_profile_for_test = mbedtls_x509_crt_profile_default; -#endif rng_context_t rng; mbedtls_ssl_context ssl; mbedtls_ssl_config conf; @@ -725,15 +791,16 @@ int main( int argc, char *argv[] ) #if defined(MBEDTLS_TIMING_C) mbedtls_timing_delay_context timer; #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) uint32_t flags; mbedtls_x509_crt cacert; mbedtls_x509_crt clicert; mbedtls_pk_context pkey; + mbedtls_x509_crt_profile crt_profile_for_test = mbedtls_x509_crt_profile_default; #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t key_slot = MBEDTLS_SVC_KEY_ID_INIT; /* invalid key slot */ #endif -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ char *p, *q; const int *list; #if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION) @@ -774,7 +841,7 @@ int main( int argc, char *argv[] ) mbedtls_ssl_config_init( &conf ); memset( &saved_session, 0, sizeof( mbedtls_ssl_session ) ); rng_init( &rng ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) mbedtls_x509_crt_init( &cacert ); mbedtls_x509_crt_init( &clicert ); mbedtls_pk_init( &pkey ); @@ -870,6 +937,7 @@ int main( int argc, char *argv[] ) opt.recsplit = DFL_RECSPLIT; opt.dhmlen = DFL_DHMLEN; opt.reconnect = DFL_RECONNECT; + opt.reco_server_name = DFL_RECO_SERVER_NAME; opt.reco_delay = DFL_RECO_DELAY; opt.reco_mode = DFL_RECO_MODE; opt.reconnect_hard = DFL_RECONNECT_HARD; @@ -877,6 +945,9 @@ int main( int argc, char *argv[] ) opt.alpn_string = DFL_ALPN_STRING; opt.curves = DFL_CURVES; opt.sig_algs = DFL_SIG_ALGS; +#if defined(MBEDTLS_SSL_EARLY_DATA) + opt.early_data = DFL_EARLY_DATA; +#endif opt.transport = DFL_TRANSPORT; opt.hs_to_min = DFL_HS_TO_MIN; opt.hs_to_max = DFL_HS_TO_MAX; @@ -928,6 +999,16 @@ int main( int argc, char *argv[] ) if( opt.debug_level < 0 || opt.debug_level > 65535 ) goto usage; } + else if( strcmp( p, "build_version" ) == 0 ) + { + if( strcmp( q, "1" ) == 0 ) + { + mbedtls_printf( "build version: %s (build %d)\n", + MBEDTLS_VERSION_STRING_FULL, + MBEDTLS_VERSION_NUMBER ); + goto exit; + } + } else if( strcmp( p, "context_crt_cb" ) == 0 ) { opt.context_crt_cb = atoi( q ); @@ -973,7 +1054,7 @@ int main( int argc, char *argv[] ) opt.key_file = q; else if( strcmp( p, "key_pwd" ) == 0 ) opt.key_pwd = q; -#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) else if( strcmp( p, "key_opaque" ) == 0 ) opt.key_opaque = atoi( q ); #endif @@ -1066,6 +1147,8 @@ int main( int argc, char *argv[] ) if( opt.reconnect < 0 || opt.reconnect > 2 ) goto usage; } + else if( strcmp( p, "reco_server_name" ) == 0 ) + opt.reco_server_name = q; else if( strcmp( p, "reco_delay" ) == 0 ) { opt.reco_delay = atoi( q ); @@ -1087,7 +1170,7 @@ int main( int argc, char *argv[] ) else if( strcmp( p, "tickets" ) == 0 ) { opt.tickets = atoi( q ); - if( opt.tickets < 0 || opt.tickets > 2 ) + if( opt.tickets < 0 ) goto usage; } else if( strcmp( p, "alpn" ) == 0 ) @@ -1109,11 +1192,10 @@ int main( int argc, char *argv[] ) } else if( strcmp( p, "curves" ) == 0 ) opt.curves = q; -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) else if( strcmp( p, "sig_algs" ) == 0 ) opt.sig_algs = q; -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif else if( strcmp( p, "etm" ) == 0 ) { switch( atoi( q ) ) @@ -1123,7 +1205,24 @@ int main( int argc, char *argv[] ) default: goto usage; } } + #if defined(MBEDTLS_SSL_PROTO_TLS1_3) +#if defined(MBEDTLS_SSL_EARLY_DATA) + else if( strcmp( p, "early_data" ) == 0 ) + { + switch( atoi( q ) ) + { + case 0: + opt.early_data = MBEDTLS_SSL_EARLY_DATA_DISABLED; + break; + case 1: + opt.early_data = MBEDTLS_SSL_EARLY_DATA_ENABLED; + break; + default: goto usage; + } + } +#endif /* MBEDTLS_SSL_EARLY_DATA */ + else if( strcmp( p, "tls13_kex_modes" ) == 0 ) { if( strcmp( q, "psk" ) == 0 ) @@ -1350,7 +1449,7 @@ int main( int argc, char *argv[] ) mbedtls_debug_set_threshold( opt.debug_level ); #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) /* * Unhexify the pre-shared key if any is given */ @@ -1363,7 +1462,7 @@ int main( int argc, char *argv[] ) goto exit; } } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_USE_PSA_CRYPTO) if( opt.psk_opaque != 0 ) @@ -1422,18 +1521,18 @@ int main( int argc, char *argv[] ) } #if defined(MBEDTLS_USE_PSA_CRYPTO) -#if defined (MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined (MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) if( opt.psk_opaque != 0 ) { /* Determine KDF algorithm the opaque PSK will be used in. */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_384); else -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256); } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #endif /* MBEDTLS_USE_PSA_CRYPTO */ } @@ -1516,8 +1615,7 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( opt.sig_algs != NULL ) { p = (char *) opt.sig_algs; @@ -1616,7 +1714,7 @@ int main( int argc, char *argv[] ) sig_alg_list[i] = MBEDTLS_TLS1_3_SIG_NONE; } -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_ALPN) if( opt.alpn_string != NULL ) @@ -1638,6 +1736,9 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_SSL_ALPN */ + mbedtls_printf( "build version: %s (build %d)\n", + MBEDTLS_VERSION_STRING_FULL, MBEDTLS_VERSION_NUMBER ); + /* * 0. Initialize the RNG and the session data */ @@ -1649,7 +1750,7 @@ int main( int argc, char *argv[] ) goto exit; mbedtls_printf( " ok\n" ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * 1.1. Load the trusted CA */ @@ -1679,15 +1780,17 @@ int main( int argc, char *argv[] ) if( ret != 0 ) break; } - if( ret == 0 ) #endif /* MBEDTLS_PEM_PARSE_C */ - for( i = 0; mbedtls_test_cas_der[i] != NULL; i++ ) + if( ret == 0 ) { - ret = mbedtls_x509_crt_parse_der( &cacert, - (const unsigned char *) mbedtls_test_cas_der[i], - mbedtls_test_cas_der_len[i] ); - if( ret != 0 ) - break; + for( i = 0; mbedtls_test_cas_der[i] != NULL; i++ ) + { + ret = mbedtls_x509_crt_parse_der( &cacert, + (const unsigned char *) mbedtls_test_cas_der[i], + mbedtls_test_cas_der_len[i] ); + if( ret != 0 ) + break; + } } } if( ret < 0 ) @@ -1769,8 +1872,9 @@ int main( int argc, char *argv[] ) #endif /* MBEDTLS_USE_PSA_CRYPTO */ mbedtls_printf( " ok (key type: %s)\n", - strlen( opt.key_file ) ? mbedtls_pk_get_name( &pkey ) : "none" ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ + strlen( opt.key_file ) || strlen( opt.key_opaque_alg1 ) ? + mbedtls_pk_get_name( &pkey ) : "none" ); +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* * 2. Setup stuff @@ -1788,7 +1892,7 @@ int main( int argc, char *argv[] ) goto exit; } -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* The default algorithms profile disables SHA-1, but our tests still rely on it heavily. */ if( opt.allow_sha1 > 0 ) @@ -1797,12 +1901,11 @@ int main( int argc, char *argv[] ) mbedtls_ssl_conf_cert_profile( &conf, &crt_profile_for_test ); mbedtls_ssl_conf_sig_algs( &conf, ssl_sig_algs_for_test ); } - if( opt.context_crt_cb == 0 ) mbedtls_ssl_conf_verify( &conf, my_verify, NULL ); memset( peer_crt_info, 0, sizeof( peer_crt_info ) ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) if( opt.cid_enabled == 1 || opt.cid_enabled_renego == 1 ) @@ -1939,7 +2042,7 @@ int main( int argc, char *argv[] ) mbedtls_ssl_conf_renegotiation( &conf, opt.renegotiation ); #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( strcmp( opt.ca_path, "none" ) != 0 && strcmp( opt.ca_file, "none" ) != 0 ) { @@ -1960,7 +2063,7 @@ int main( int argc, char *argv[] ) goto exit; } } -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_ECP_C) if( opt.curves != NULL && @@ -1970,12 +2073,12 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( opt.sig_algs != NULL ) mbedtls_ssl_conf_sig_algs( &conf, sig_alg_list ); -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ +#endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) if( opt.psk_opaque != 0 ) { @@ -2013,7 +2116,7 @@ int main( int argc, char *argv[] ) goto exit; } } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ if( opt.min_version != DFL_MIN_VERSION ) mbedtls_ssl_conf_min_tls_version( &conf, opt.min_version ); @@ -2021,6 +2124,10 @@ int main( int argc, char *argv[] ) if( opt.max_version != DFL_MAX_VERSION ) mbedtls_ssl_conf_max_tls_version( &conf, opt.max_version ); +#if defined(MBEDTLS_SSL_EARLY_DATA) + mbedtls_ssl_tls13_conf_early_data( &conf, opt.early_data ); +#endif /* MBEDTLS_SSL_EARLY_DATA */ + if( ( ret = mbedtls_ssl_setup( &ssl, &conf ) ) != 0 ) { mbedtls_printf( " failed\n ! mbedtls_ssl_setup returned -0x%x\n\n", @@ -2047,7 +2154,7 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_SSL_DTLS_SRTP */ -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( ( ret = mbedtls_ssl_set_hostname( &ssl, opt.server_name ) ) != 0 ) { mbedtls_printf( " failed\n ! mbedtls_ssl_set_hostname returned %d\n\n", @@ -2070,10 +2177,10 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( opt.context_crt_cb == 1 ) mbedtls_ssl_set_verify( &ssl, my_verify, NULL ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ io_ctx.ssl = &ssl; io_ctx.net = &server_fd; @@ -2185,7 +2292,10 @@ int main( int argc, char *argv[] ) " or you didn't set ca_file or ca_path " "to an appropriate value.\n" " Alternatively, you may want to use " - "auth_mode=optional for testing purposes.\n" ); + "auth_mode=optional for testing purposes if " + "not using TLS 1.3.\n" + " For TLS 1.3 server, try `ca_path=/etc/ssl/certs/`" + "or other folder that has root certificates\n" ); mbedtls_printf( "\n" ); goto exit; } @@ -2359,57 +2469,21 @@ int main( int argc, char *argv[] ) } } #endif /* MBEDTLS_SSL_DTLS_SRTP */ - if( opt.reconnect != 0 ) + if( opt.reconnect != 0 && ssl.tls_version != MBEDTLS_SSL_VERSION_TLS1_3 ) { mbedtls_printf(" . Saving session for reuse..." ); fflush( stdout ); if( opt.reco_mode == 1 ) { - mbedtls_ssl_session exported_session; - - /* free any previously saved data */ - if( session_data != NULL ) - { - mbedtls_platform_zeroize( session_data, session_data_len ); - mbedtls_free( session_data ); - session_data = NULL; - } - - mbedtls_ssl_session_init( &exported_session ); - ret = mbedtls_ssl_get_session( &ssl, &exported_session ); - if( ret != 0 ) - { - mbedtls_printf( - "failed\n ! mbedtls_ssl_get_session() returned -%#02x\n", - (unsigned) -ret ); - goto exit; - } - - /* get size of the buffer needed */ - mbedtls_ssl_session_save( &exported_session, NULL, 0, &session_data_len ); - session_data = mbedtls_calloc( 1, session_data_len ); - if( session_data == NULL ) + if( ( ret = ssl_save_session_serialize( &ssl, + &session_data, &session_data_len ) ) != 0 ) { - mbedtls_printf( " failed\n ! alloc %u bytes for session data\n", - (unsigned) session_data_len ); - mbedtls_ssl_session_free( &exported_session ); - ret = MBEDTLS_ERR_SSL_ALLOC_FAILED; - goto exit; - } - - /* actually save session data */ - if( ( ret = mbedtls_ssl_session_save( &exported_session, - session_data, session_data_len, - &session_data_len ) ) != 0 ) - { - mbedtls_printf( " failed\n ! mbedtls_ssl_session_saved returned -0x%04x\n\n", + mbedtls_printf( " failed\n ! ssl_save_session_serialize returned -0x%04x\n\n", (unsigned int) -ret ); - mbedtls_ssl_session_free( &exported_session ); goto exit; } - mbedtls_ssl_session_free( &exported_session ); } else { @@ -2430,7 +2504,7 @@ int main( int argc, char *argv[] ) } } -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * 5. Verify the server certificate */ @@ -2453,7 +2527,7 @@ int main( int argc, char *argv[] ) mbedtls_printf( " . Peer certificate information ...\n" ); mbedtls_printf( "%s\n", peer_crt_info ); #endif /* !MBEDTLS_X509_REMOVE_INFO */ -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) ret = report_cid_usage( &ssl, "initial handshake" ); @@ -2645,14 +2719,15 @@ int main( int argc, char *argv[] ) /* * 7. Read the HTTP response */ - mbedtls_printf( " < Read from server:" ); - fflush( stdout ); /* * TLS and DTLS need different reading styles (stream vs datagram) */ if( opt.transport == MBEDTLS_SSL_TRANSPORT_STREAM ) { +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) + int ticket_id = 0; +#endif do { len = sizeof( buf ) - 1; @@ -2694,6 +2769,52 @@ int main( int argc, char *argv[] ) ret = 0; goto reconnect; +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + +#if defined(MBEDTLS_SSL_SESSION_TICKETS) + case MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET: + /* We were waiting for application data but got + * a NewSessionTicket instead. */ + mbedtls_printf( " got new session ticket ( %d ).\n", + ticket_id++ ); + if( opt.reconnect != 0 ) + { + mbedtls_printf(" . Saving session for reuse..." ); + fflush( stdout ); + + if( opt.reco_mode == 1 ) + { + if( ( ret = ssl_save_session_serialize( &ssl, + &session_data, &session_data_len ) ) != 0 ) + { + mbedtls_printf( " failed\n ! ssl_save_session_serialize returned -0x%04x\n\n", + (unsigned int) -ret ); + goto exit; + } + } + else + { + if( ( ret = mbedtls_ssl_get_session( &ssl, &saved_session ) ) != 0 ) + { + mbedtls_printf( " failed\n ! mbedtls_ssl_get_session returned -0x%x\n\n", + (unsigned int) -ret ); + goto exit; + } + } + + mbedtls_printf( " ok\n" ); + + if( opt.reco_mode == 1 ) + { + mbedtls_printf( " [ Saved %u bytes of session data]\n", + (unsigned) session_data_len ); + } + } + continue; +#endif /* MBEDTLS_SSL_SESSION_TICKETS */ + +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + default: mbedtls_printf( " mbedtls_ssl_read returned -0x%x\n", (unsigned int) -ret ); @@ -2703,8 +2824,8 @@ int main( int argc, char *argv[] ) len = ret; buf[len] = '\0'; - mbedtls_printf( " %d bytes read\n\n%s", len, (char *) buf ); - + mbedtls_printf( " < Read from server: %d bytes read\n\n%s", len, (char *) buf ); + fflush( stdout ); /* End of message should be detected according to the syntax of the * application protocol (eg HTTP), just use a dummy test here. */ if( ret > 0 && buf[len-1] == '\n' ) @@ -2767,7 +2888,7 @@ int main( int argc, char *argv[] ) len = ret; buf[len] = '\0'; - mbedtls_printf( " %d bytes read\n\n%s", len, (char *) buf ); + mbedtls_printf( " < Read from server: %d bytes read\n\n%s", len, (char *) buf ); ret = 0; } @@ -2781,9 +2902,9 @@ int main( int argc, char *argv[] ) mbedtls_printf( " . Restarting connection from same port..." ); fflush( stdout ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) memset( peer_crt_info, 0, sizeof( peer_crt_info ) ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ if( ( ret = mbedtls_ssl_session_reset( &ssl ) ) != 0 ) { @@ -3017,9 +3138,9 @@ int main( int argc, char *argv[] ) mbedtls_printf( " . Reconnecting with saved session..." ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) memset( peer_crt_info, 0, sizeof( peer_crt_info ) ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ if( ( ret = mbedtls_ssl_session_reset( &ssl ) ) != 0 ) { @@ -3047,6 +3168,17 @@ int main( int argc, char *argv[] ) goto exit; } +#if defined(MBEDTLS_X509_CRT_PARSE_C) + if( opt.reco_server_name != NULL && + ( ret = mbedtls_ssl_set_hostname( &ssl, + opt.reco_server_name ) ) != 0 ) + { + mbedtls_printf( " failed\n ! mbedtls_ssl_set_hostname returned %d\n\n", + ret ); + goto exit; + } +#endif + if( ( ret = mbedtls_net_connect( &server_fd, opt.server_addr, opt.server_port, opt.transport == MBEDTLS_SSL_TRANSPORT_STREAM ? @@ -3113,16 +3245,16 @@ int main( int argc, char *argv[] ) mbedtls_free( context_buf ); #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) mbedtls_x509_crt_free( &clicert ); mbedtls_x509_crt_free( &cacert ); mbedtls_pk_free( &pkey ); #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_destroy_key( key_slot ); #endif -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) && \ +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) && \ defined(MBEDTLS_USE_PSA_CRYPTO) if( opt.psk_opaque != 0 ) { @@ -3141,7 +3273,7 @@ int main( int argc, char *argv[] ) ret = MBEDTLS_ERR_SSL_HW_ACCEL_FAILED; } } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED && +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED && MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) diff --git a/programs/ssl/ssl_context_info.c b/programs/ssl/ssl_context_info.c index 19054eb2fd..d0431f241f 100644 --- a/programs/ssl/ssl_context_info.c +++ b/programs/ssl/ssl_context_info.c @@ -631,7 +631,9 @@ void print_deserialized_ssl_session( const uint8_t *ssl, uint32_t len, else { const mbedtls_cipher_info_t *cipher_info; +#if defined(MBEDTLS_MD_C) const mbedtls_md_info_t *md_info; +#endif printf( "\tciphersuite : %s\n", ciphersuite_info->name ); printf( "\tcipher flags : 0x%02X\n", ciphersuite_info->flags ); @@ -645,7 +647,7 @@ void print_deserialized_ssl_session( const uint8_t *ssl, uint32_t len, { printf( "\tcipher : %s\n", cipher_info->name ); } - +#if defined(MBEDTLS_MD_C) md_info = mbedtls_md_info_from_type( ciphersuite_info->mac ); if( md_info == NULL ) { @@ -655,6 +657,7 @@ void print_deserialized_ssl_session( const uint8_t *ssl, uint32_t len, { printf( "\tMessage-Digest : %s\n", mbedtls_md_get_name( md_info ) ); } +#endif /* MBEDTLS_MD_C */ } CHECK_SSL_END( 1 ); diff --git a/programs/ssl/ssl_fork_server.c b/programs/ssl/ssl_fork_server.c index 07b3e6fb59..49de984d8f 100644 --- a/programs/ssl/ssl_fork_server.c +++ b/programs/ssl/ssl_fork_server.c @@ -19,18 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_time_t time_t -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_SRV_C) || \ diff --git a/programs/ssl/ssl_mail_client.c b/programs/ssl/ssl_mail_client.c index 664a38490f..9fb65079e5 100644 --- a/programs/ssl/ssl_mail_client.c +++ b/programs/ssl/ssl_mail_client.c @@ -26,19 +26,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \ diff --git a/programs/ssl/ssl_pthread_server.c b/programs/ssl/ssl_pthread_server.c index ac14789d39..b3ec7d6998 100644 --- a/programs/ssl/ssl_pthread_server.c +++ b/programs/ssl/ssl_pthread_server.c @@ -20,18 +20,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_snprintf snprintf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_SRV_C) || \ diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c index 3b663726ce..c9d9df2efa 100644 --- a/programs/ssl/ssl_server.c +++ b/programs/ssl/ssl_server.c @@ -19,19 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_PEM_PARSE_C) || \ !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_SSL_TLS_C) || \ diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c index 8e432bde89..00624b5653 100644 --- a/programs/ssl/ssl_server2.c +++ b/programs/ssl/ssl_server2.c @@ -49,7 +49,7 @@ int main( void ) #include "mbedtls/ssl_cache.h" #endif -#if defined(MBEDTLS_SSL_TICKET_C) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) #include "mbedtls/ssl_ticket.h" #endif @@ -120,6 +120,7 @@ int main( void ) #define DFL_MFL_CODE MBEDTLS_SSL_MAX_FRAG_LEN_NONE #define DFL_TRUNC_HMAC -1 #define DFL_TICKETS MBEDTLS_SSL_SESSION_TICKETS_ENABLED +#define DFL_DUMMY_TICKET 0 #define DFL_TICKET_ROTATE 0 #define DFL_TICKET_TIMEOUT 86400 #define DFL_TICKET_AEAD MBEDTLS_CIPHER_AES_256_GCM @@ -128,6 +129,7 @@ int main( void ) #define DFL_SNI NULL #define DFL_ALPN_STRING NULL #define DFL_CURVES NULL +#define DFL_MAX_EARLY_DATA_SIZE 0 #define DFL_SIG_ALGS NULL #define DFL_DHM_FILE NULL #define DFL_TRANSPORT MBEDTLS_SSL_TRANSPORT_STREAM @@ -174,7 +176,7 @@ int main( void ) */ #define DFL_IO_BUF_LEN 200 -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #if defined(MBEDTLS_FS_IO) #define USAGE_IO \ " ca_file=%%s The single file containing the top-level CA(s) you fully trust\n" \ @@ -205,8 +207,8 @@ int main( void ) #endif /* MBEDTLS_FS_IO */ #else #define USAGE_IO "" -#endif /* MBEDTLS_X509_CRT_PARSE_C */ -#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_X509_CRT_PARSE_C) +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define USAGE_KEY_OPAQUE \ " key_opaque=%%d Handle your private keys as if they were opaque\n" \ " default: 0 (disabled)\n" @@ -240,7 +242,7 @@ int main( void ) #define USAGE_CID "" #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #define USAGE_PSK_RAW \ " psk=%%s default: \"\" (disabled)\n" \ " The PSK values are in hex, without 0x.\n" \ @@ -275,7 +277,7 @@ int main( void ) #define USAGE_PSK USAGE_PSK_RAW USAGE_PSK_SLOT #else #define USAGE_PSK "" -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK) #define USAGE_CA_CALLBACK \ " ca_callback=%%d default: 0 (disabled)\n" \ @@ -283,7 +285,7 @@ int main( void ) #else #define USAGE_CA_CALLBACK "" #endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */ -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) #define USAGE_TICKETS \ " tickets=%%d default: 1 (enabled)\n" \ " ticket_rotate=%%d default: 0 (disabled)\n" \ @@ -291,7 +293,7 @@ int main( void ) " ticket_aead=%%s default: \"AES-256-GCM\"\n" #else #define USAGE_TICKETS "" -#endif /* MBEDTLS_SSL_SESSION_TICKETS */ +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_TICKET_C */ #define USAGE_EAP_TLS \ " eap_tls=%%d default: 0 (disabled)\n" @@ -423,6 +425,15 @@ int main( void ) #define USAGE_ECJPAKE "" #endif +#if defined(MBEDTLS_SSL_EARLY_DATA) +#define USAGE_EARLY_DATA \ + " max_early_data_size=%%d default: -1 (disabled)\n" \ + " options: -1 (disabled), " \ + " >= 0 (enabled, max amount of early data )\n" +#else +#define USAGE_EARLY_DATA "" +#endif /* MBEDTLS_SSL_EARLY_DATA */ + #if defined(MBEDTLS_ECP_C) #define USAGE_CURVES \ " curves=a,b,c,d default: \"default\" (library default)\n" \ @@ -434,8 +445,7 @@ int main( void ) #define USAGE_CURVES "" #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) #define USAGE_SIG_ALGS \ " sig_algs=a,b,c,d default: \"default\" (library default)\n" \ " example: \"ecdsa_secp256r1_sha256,ecdsa_secp384r1_sha384\"\n" @@ -458,20 +468,23 @@ int main( void ) #endif #define USAGE_KEY_OPAQUE_ALGS \ - " key_opaque_algs=%%s Allowed opaque key 1 algorithms.\n" \ - " comma-separated pair of values among the following:\n" \ - " rsa-sign-pkcs1, rsa-sign-pss, rsa-decrypt,\n" \ - " ecdsa-sign, ecdh, none (only acceptable for\n" \ - " the second value).\n" \ - " key_opaque_algs2=%%s Allowed opaque key 2 algorithms.\n" \ - " comma-separated pair of values among the following:\n" \ - " rsa-sign-pkcs1, rsa-sign-pss, rsa-decrypt,\n" \ - " ecdsa-sign, ecdh, none (only acceptable for\n" \ + " key_opaque_algs=%%s Allowed opaque key 1 algorithms.\n" \ + " comma-separated pair of values among the following:\n" \ + " rsa-sign-pkcs1, rsa-sign-pss, rsa-sign-pss-sha256,\n" \ + " rsa-sign-pss-sha384, rsa-sign-pss-sha512, rsa-decrypt,\n" \ + " ecdsa-sign, ecdh, none (only acceptable for\n" \ + " the second value).\n" \ + " key_opaque_algs2=%%s Allowed opaque key 2 algorithms.\n" \ + " comma-separated pair of values among the following:\n" \ + " rsa-sign-pkcs1, rsa-sign-pss, rsa-sign-pss-sha256,\n" \ + " rsa-sign-pss-sha384, rsa-sign-pss-sha512, rsa-decrypt,\n" \ + " ecdsa-sign, ecdh, none (only acceptable for\n" \ " the second value).\n" #if defined(MBEDTLS_SSL_PROTO_TLS1_3) #define USAGE_TLS1_3_KEY_EXCHANGE_MODES \ " tls13_kex_modes=%%s default: all\n" \ - " options: psk, psk_ephemeral, ephemeral, ephemeral_all, psk_all, all\n" + " options: psk, psk_ephemeral, psk_all, ephemeral,\n" \ + " ephemeral_all, all, psk_or_ephemeral\n" #else #define USAGE_TLS1_3_KEY_EXCHANGE_MODES "" #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ @@ -485,6 +498,8 @@ int main( void ) " server_addr=%%s default: (all interfaces)\n" \ " server_port=%%d default: 4433\n" \ " debug_level=%%d default: 0 (disabled)\n" \ + " build_version=%%d default: none (disabled)\n" \ + " option: 1 (print build version only and stop)\n" \ " buffer_size=%%d default: 200 \n" \ " (minimum: 1)\n" \ " response_size=%%d default: about 152 (basic response)\n" \ @@ -635,6 +650,7 @@ struct options unsigned char mfl_code; /* code for maximum fragment length */ int trunc_hmac; /* accept truncated hmac? */ int tickets; /* enable / disable session tickets */ + int dummy_ticket; /* enable / disable dummy ticket generator */ int ticket_rotate; /* session ticket rotate (code coverage) */ int ticket_timeout; /* session ticket lifetime */ int ticket_aead; /* session ticket protection */ @@ -671,14 +687,15 @@ struct options const char *cid_val_renego; /* the CID to use for incoming messages * after renegotiation */ int reproducible; /* make communication reproducible */ + uint32_t max_early_data_size; /* max amount of early data */ int query_config_mode; /* whether to read config */ int use_srtp; /* Support SRTP */ int force_srtp_profile; /* SRTP protection profile to use or all */ int support_mki; /* The dtls mki mki support */ const char *key1_opaque_alg1; /* Allowed opaque key 1 alg 1 */ - const char *key1_opaque_alg2; /* Allowed Opaque key 1 alg 2 */ + const char *key1_opaque_alg2; /* Allowed opaque key 1 alg 2 */ const char *key2_opaque_alg1; /* Allowed opaque key 2 alg 1 */ - const char *key2_opaque_alg2; /* Allowed Opaque key 2 alg 2 */ + const char *key2_opaque_alg2; /* Allowed opaque key 2 alg 2 */ } opt; #include "ssl_test_common_source.c" @@ -903,7 +920,7 @@ int cert_callback( mbedtls_ssl_context *ssl ) #endif /* SNI_OPTION */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) typedef struct _psk_entry psk_entry; @@ -1016,7 +1033,7 @@ int psk_callback( void *p_info, mbedtls_ssl_context *ssl, return( -1 ); } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ static mbedtls_net_context listen_fd, client_fd; @@ -1098,14 +1115,6 @@ typedef enum ASYNC_OP_SIGN, ASYNC_OP_DECRYPT, } ssl_async_operation_type_t; -/* Note that the enum above and the array below need to be kept in sync! - * `ssl_async_operation_names[op]` is the name of op for each value `op` - * of type `ssl_async_operation_type_t`. */ -static const char *const ssl_async_operation_names[] = -{ - "sign", - "decrypt", -}; typedef struct { @@ -1117,6 +1126,17 @@ typedef struct unsigned remaining_delay; } ssl_async_operation_context_t; +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) + +/* Note that ssl_async_operation_type_t and the array below need to be kept in sync! + * `ssl_async_operation_names[op]` is the name of op for each value `op` + * of type `ssl_async_operation_type_t`. */ +static const char *const ssl_async_operation_names[] = +{ + "sign", + "decrypt", +}; + static int ssl_async_start( mbedtls_ssl_context *ssl, mbedtls_x509_crt *cert, ssl_async_operation_type_t op_type, @@ -1269,10 +1289,11 @@ static void ssl_async_cancel( mbedtls_ssl_context *ssl ) mbedtls_printf( "Async cancel callback.\n" ); mbedtls_free( ctx ); } +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ #if defined(MBEDTLS_USE_PSA_CRYPTO) -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) static psa_status_t psa_setup_psk_key_slot( mbedtls_svc_key_id_t *slot, psa_algorithm_t alg, unsigned char *psk, @@ -1295,7 +1316,7 @@ static psa_status_t psa_setup_psk_key_slot( mbedtls_svc_key_id_t *slot, return( PSA_SUCCESS ); } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #endif /* MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) @@ -1348,13 +1369,82 @@ int report_cid_usage( mbedtls_ssl_context *ssl, } #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_HAVE_TIME) +/* Functions for session ticket tests */ +int dummy_ticket_write( void *p_ticket, const mbedtls_ssl_session *session, + unsigned char *start, const unsigned char *end, + size_t *tlen, uint32_t *ticket_lifetime ) +{ + int ret; + unsigned char *p = start; + size_t clear_len; + ((void) p_ticket); + + if( end - p < 4 ) + { + return( MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL ); + } + *((uint32_t *)p) = 7 * 24 * 3600; + *ticket_lifetime = 7 * 24 * 3600; + p += 4; + + /* Dump session state */ + if( ( ret = mbedtls_ssl_session_save( session, p, end - p, + &clear_len ) ) != 0 ) + { + return( ret ); + } + + *tlen = 4 + clear_len; + + return( 0 ); +} + +int dummy_ticket_parse( void *p_ticket, mbedtls_ssl_session *session, + unsigned char *buf, size_t len ) +{ + int ret; + ((void) p_ticket); + + if( ( ret = mbedtls_ssl_session_load( session, buf + 4, len - 4 ) ) != 0 ) + return( ret ); + + switch( opt.dummy_ticket % 7 ) + { + case 1: + return( MBEDTLS_ERR_SSL_INVALID_MAC ); + case 2: + return( MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED ); + case 3: + session->start = mbedtls_time( NULL ) + 10; + break; + case 4: + session->start = mbedtls_time( NULL ) - 10 - 7 * 24 * 3600; + break; + case 5: + session->start = mbedtls_time( NULL ) - 10; + break; + case 6: + session->start = mbedtls_time( NULL ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + session->ticket_age_add -= 1000; +#endif + break; + default: + break; + } + + return( ret ); +} +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_HAVE_TIME */ + int main( int argc, char *argv[] ) { int ret = 0, len, written, frags, exchanges_left; int query_config_ret = 0; io_ctx_t io_ctx; unsigned char* buf = 0; -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_algorithm_t alg = 0; mbedtls_svc_key_id_t psk_slot = MBEDTLS_SVC_KEY_ID_INIT; @@ -1370,9 +1460,6 @@ int main( int argc, char *argv[] ) mbedtls_ssl_cookie_ctx cookie_ctx; #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) - mbedtls_x509_crt_profile crt_profile_for_test = mbedtls_x509_crt_profile_default; -#endif mbedtls_ssl_context ssl; mbedtls_ssl_config conf; #if defined(MBEDTLS_TIMING_C) @@ -1381,31 +1468,32 @@ int main( int argc, char *argv[] ) #if defined(MBEDTLS_SSL_RENEGOTIATION) unsigned char renego_period[8] = { 0 }; #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) uint32_t flags; mbedtls_x509_crt cacert; mbedtls_x509_crt srvcert; mbedtls_pk_context pkey; mbedtls_x509_crt srvcert2; mbedtls_pk_context pkey2; + mbedtls_x509_crt_profile crt_profile_for_test = mbedtls_x509_crt_profile_default; #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t key_slot = MBEDTLS_SVC_KEY_ID_INIT; /* invalid key slot */ mbedtls_svc_key_id_t key_slot2 = MBEDTLS_SVC_KEY_ID_INIT; /* invalid key slot */ #endif int key_cert_init = 0, key_cert_init2 = 0; +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) ssl_async_key_context_t ssl_async_keys; #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ -#endif /* MBEDTLS_X509_CRT_PARSE_C */ #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_FS_IO) mbedtls_dhm_context dhm; #endif #if defined(MBEDTLS_SSL_CACHE_C) mbedtls_ssl_cache_context cache; #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_context ticket_ctx; -#endif +#endif /* MBEDTLS_SSL_SESSION_TICKETS && MBEDTLS_SSL_TICKET_C */ #if defined(SNI_OPTION) sni_entry *sni_info = NULL; #endif @@ -1430,10 +1518,9 @@ int main( int argc, char *argv[] ) size_t context_buf_len = 0; #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) uint16_t sig_alg_list[SIG_ALG_LIST_SIZE]; -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif int i; char *p, *q; @@ -1459,6 +1546,9 @@ int main( int argc, char *argv[] ) }; #endif /* MBEDTLS_SSL_DTLS_SRTP */ +#if defined(MBEDTLS_SSL_EARLY_DATA) + int tls13_early_data_enabled = MBEDTLS_SSL_EARLY_DATA_DISABLED; +#endif #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) mbedtls_memory_buffer_alloc_init( alloc_buf, sizeof(alloc_buf) ); #if defined(MBEDTLS_MEMORY_DEBUG) @@ -1478,23 +1568,23 @@ int main( int argc, char *argv[] ) mbedtls_ssl_init( &ssl ); mbedtls_ssl_config_init( &conf ); rng_init( &rng ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) mbedtls_x509_crt_init( &cacert ); mbedtls_x509_crt_init( &srvcert ); mbedtls_pk_init( &pkey ); mbedtls_x509_crt_init( &srvcert2 ); mbedtls_pk_init( &pkey2 ); +#endif #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) memset( &ssl_async_keys, 0, sizeof( ssl_async_keys ) ); #endif -#endif #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_FS_IO) mbedtls_dhm_init( &dhm ); #endif #if defined(MBEDTLS_SSL_CACHE_C) mbedtls_ssl_cache_init( &cache ); #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_init( &ticket_ctx ); #endif #if defined(MBEDTLS_SSL_ALPN) @@ -1604,6 +1694,7 @@ int main( int argc, char *argv[] ) opt.mfl_code = DFL_MFL_CODE; opt.trunc_hmac = DFL_TRUNC_HMAC; opt.tickets = DFL_TICKETS; + opt.dummy_ticket = DFL_DUMMY_TICKET; opt.ticket_rotate = DFL_TICKET_ROTATE; opt.ticket_timeout = DFL_TICKET_TIMEOUT; opt.ticket_aead = DFL_TICKET_AEAD; @@ -1614,6 +1705,7 @@ int main( int argc, char *argv[] ) opt.sni = DFL_SNI; opt.alpn_string = DFL_ALPN_STRING; opt.curves = DFL_CURVES; + opt.max_early_data_size = DFL_MAX_EARLY_DATA_SIZE; opt.sig_algs = DFL_SIG_ALGS; opt.dhm_file = DFL_DHM_FILE; opt.transport = DFL_TRANSPORT; @@ -1668,6 +1760,16 @@ int main( int argc, char *argv[] ) if( opt.debug_level < 0 || opt.debug_level > 65535 ) goto usage; } + else if( strcmp( p, "build_version" ) == 0 ) + { + if( strcmp( q, "1" ) == 0 ) + { + mbedtls_printf( "build version: %s (build %d)\n", + MBEDTLS_VERSION_STRING_FULL, + MBEDTLS_VERSION_NUMBER ); + goto exit; + } + } else if( strcmp( p, "nbio" ) == 0 ) { opt.nbio = atoi( q ); @@ -1706,7 +1808,7 @@ int main( int argc, char *argv[] ) opt.key_file = q; else if( strcmp( p, "key_pwd" ) == 0 ) opt.key_pwd = q; -#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) else if( strcmp( p, "key_opaque" ) == 0 ) opt.key_opaque = atoi( q ); #endif @@ -1790,11 +1892,23 @@ int main( int argc, char *argv[] ) } else if( strcmp( p, "curves" ) == 0 ) opt.curves = q; -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) else if( strcmp( p, "sig_algs" ) == 0 ) opt.sig_algs = q; -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif +#if defined(MBEDTLS_SSL_EARLY_DATA) + else if( strcmp( p, "max_early_data_size" ) == 0 ) + { + long long value = atoll( q ); + tls13_early_data_enabled = + value >= 0 ? MBEDTLS_SSL_EARLY_DATA_ENABLED : + MBEDTLS_SSL_EARLY_DATA_DISABLED; + if( tls13_early_data_enabled ) + { + opt.max_early_data_size = atoi( q ); + } + } +#endif /* MBEDTLS_SSL_EARLY_DATA */ else if( strcmp( p, "renegotiation" ) == 0 ) { opt.renegotiation = (atoi( q )) ? @@ -1859,6 +1973,16 @@ int main( int argc, char *argv[] ) opt.tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ALL; else if( strcmp( q, "all" ) == 0 ) opt.tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_ALL; + /* The purpose of `psk_or_ephemeral` is to improve test coverage. That + * is not recommended in practice. + * `psk_or_ephemeral` exists in theory, we need this mode to test if + * this setting work correctly. With this key exchange setting, server + * should always perform `ephemeral` handshake. `psk` or `psk_ephemeral` + * is not expected. + */ + else if( strcmp( q, "psk_or_ephemeral" ) == 0 ) + opt.tls13_kex_modes = MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK | + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL ; else goto usage; } #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ @@ -1986,7 +2110,13 @@ int main( int argc, char *argv[] ) else if( strcmp( p, "tickets" ) == 0 ) { opt.tickets = atoi( q ); - if( opt.tickets < 0 || opt.tickets > 1 ) + if( opt.tickets < 0 ) + goto usage; + } + else if( strcmp( p, "dummy_ticket" ) == 0 ) + { + opt.dummy_ticket = atoi( q ); + if( opt.dummy_ticket < 0 ) goto usage; } else if( strcmp( p, "ticket_rotate" ) == 0 ) @@ -2246,18 +2376,18 @@ int main( int argc, char *argv[] ) } #if defined(MBEDTLS_USE_PSA_CRYPTO) -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) if( opt.psk_opaque != 0 || opt.psk_list_opaque != 0 ) { /* Determine KDF algorithm the opaque PSK will be used in. */ -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) if( ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_384); else -#endif /* MBEDTLS_SHA384_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ alg = PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256); } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #endif /* MBEDTLS_USE_PSA_CRYPTO */ } @@ -2284,7 +2414,7 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) /* * Unhexify the pre-shared key and parse the list if any given */ @@ -2303,7 +2433,7 @@ int main( int argc, char *argv[] ) goto exit; } } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ #if defined(MBEDTLS_ECP_C) if( opt.curves != NULL ) @@ -2361,8 +2491,7 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_ECP_C */ -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && \ - defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( opt.sig_algs != NULL ) { p = (char *) opt.sig_algs; @@ -2461,7 +2590,7 @@ int main( int argc, char *argv[] ) sig_alg_list[i] = MBEDTLS_TLS1_3_SIG_NONE; } -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ +#endif #if defined(MBEDTLS_SSL_ALPN) if( opt.alpn_string != NULL ) @@ -2483,6 +2612,9 @@ int main( int argc, char *argv[] ) } #endif /* MBEDTLS_SSL_ALPN */ + mbedtls_printf( "build version: %s (build %d)\n", + MBEDTLS_VERSION_STRING_FULL, MBEDTLS_VERSION_NUMBER ); + /* * 0. Initialize the RNG and the session data */ @@ -2494,7 +2626,7 @@ int main( int argc, char *argv[] ) goto exit; mbedtls_printf( " ok\n" ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * 1.1. Load the trusted CA */ @@ -2524,15 +2656,17 @@ int main( int argc, char *argv[] ) if( ret != 0 ) break; } - if( ret == 0 ) #endif /* MBEDTLS_PEM_PARSE_C */ - for( i = 0; mbedtls_test_cas_der[i] != NULL; i++ ) + if( ret == 0 ) { - ret = mbedtls_x509_crt_parse_der( &cacert, - (const unsigned char *) mbedtls_test_cas_der[i], - mbedtls_test_cas_der_len[i] ); - if( ret != 0 ) - break; + for( i = 0; mbedtls_test_cas_der[i] != NULL; i++ ) + { + ret = mbedtls_x509_crt_parse_der( &cacert, + (const unsigned char *) mbedtls_test_cas_der[i], + mbedtls_test_cas_der_len[i] ); + if( ret != 0 ) + break; + } } } if( ret < 0 ) @@ -2702,7 +2836,7 @@ int main( int argc, char *argv[] ) mbedtls_printf( " ok (key types: %s, %s)\n", key_cert_init ? mbedtls_pk_get_name( &pkey ) : "none", key_cert_init2 ? mbedtls_pk_get_name( &pkey2 ) : "none" ); -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_DHM_C) && defined(MBEDTLS_FS_IO) if( opt.dhm_file != NULL ) @@ -2752,7 +2886,7 @@ int main( int argc, char *argv[] ) goto exit; } -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* The default algorithms profile disables SHA-1, but our tests still rely on it heavily. Hence we allow it here. A real-world server should use the default profile unless there is a good reason not to. */ @@ -2762,7 +2896,7 @@ int main( int argc, char *argv[] ) mbedtls_ssl_conf_cert_profile( &conf, &crt_profile_for_test ); mbedtls_ssl_conf_sig_algs( &conf, ssl_sig_algs_for_test ); } -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ if( opt.auth_mode != DFL_AUTH_MODE ) mbedtls_ssl_conf_authmode( &conf, opt.auth_mode ); @@ -2770,7 +2904,15 @@ int main( int argc, char *argv[] ) if( opt.cert_req_ca_list != DFL_CERT_REQ_CA_LIST ) mbedtls_ssl_conf_cert_req_ca_list( &conf, opt.cert_req_ca_list ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_EARLY_DATA) + mbedtls_ssl_tls13_conf_early_data( &conf, tls13_early_data_enabled ); + if( tls13_early_data_enabled == MBEDTLS_SSL_EARLY_DATA_ENABLED ) + { + mbedtls_ssl_tls13_conf_max_early_data_size( + &conf, opt.max_early_data_size ); + } +#endif /* MBEDTLS_SSL_EARLY_DATA */ + #if defined(MBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED) /* exercise setting DN hints for server certificate request * (Intended for use where the client cert expected has been signed by @@ -2778,7 +2920,6 @@ int main( int argc, char *argv[] ) if( opt.cert_req_dn_hint == 2 && key_cert_init2 ) mbedtls_ssl_conf_dn_hints( &conf, &srvcert2 ); #endif -#endif #if defined(MBEDTLS_SSL_PROTO_DTLS) if( opt.hs_to_min != DFL_HS_TO_MIN || opt.hs_to_max != DFL_HS_TO_MAX ) @@ -2901,23 +3042,40 @@ int main( int argc, char *argv[] ) mbedtls_ssl_cache_set ); #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) - if( opt.tickets == MBEDTLS_SSL_SESSION_TICKETS_ENABLED ) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) + if( opt.tickets != MBEDTLS_SSL_SESSION_TICKETS_DISABLED ) { - if( ( ret = mbedtls_ssl_ticket_setup( &ticket_ctx, - rng_get, &rng, - opt.ticket_aead, - opt.ticket_timeout ) ) != 0 ) +#if defined(MBEDTLS_HAVE_TIME) + if( opt.dummy_ticket ) { - mbedtls_printf( " failed\n ! mbedtls_ssl_ticket_setup returned %d\n\n", ret ); - goto exit; + mbedtls_ssl_conf_session_tickets_cb( &conf, + dummy_ticket_write, + dummy_ticket_parse, + NULL ); } + else +#endif /* MBEDTLS_HAVE_TIME */ + { + if( ( ret = mbedtls_ssl_ticket_setup( &ticket_ctx, + rng_get, &rng, + opt.ticket_aead, + opt.ticket_timeout ) ) != 0 ) + { + mbedtls_printf( + " failed\n ! mbedtls_ssl_ticket_setup returned %d\n\n", + ret ); + goto exit; + } - mbedtls_ssl_conf_session_tickets_cb( &conf, - mbedtls_ssl_ticket_write, - mbedtls_ssl_ticket_parse, - &ticket_ctx ); + mbedtls_ssl_conf_session_tickets_cb( &conf, + mbedtls_ssl_ticket_write, + mbedtls_ssl_ticket_parse, + &ticket_ctx ); + } +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + mbedtls_ssl_conf_new_session_tickets( &conf, opt.tickets ); +#endif /* exercise manual ticket rotation (not required for typical use) * (used for external synchronization of session ticket encryption keys) */ @@ -2998,7 +3156,7 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( strcmp( opt.ca_path, "none" ) != 0 && strcmp( opt.ca_file, "none" ) != 0 ) { @@ -3087,7 +3245,7 @@ int main( int argc, char *argv[] ) &ssl_async_keys ); } #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(SNI_OPTION) if( opt.sni != NULL ) @@ -3124,12 +3282,12 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( opt.sig_algs != NULL ) mbedtls_ssl_conf_sig_algs( &conf, sig_alg_list ); -#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ +#endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) if( strlen( opt.psk ) != 0 && strlen( opt.psk_identity ) != 0 ) { @@ -3380,7 +3538,6 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) #if defined(MBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED) /* exercise setting DN hints for server certificate request @@ -3391,7 +3548,6 @@ int main( int argc, char *argv[] ) if( opt.cert_req_dn_hint == 3 && key_cert_init2 ) mbedtls_ssl_set_hs_dn_hints( &ssl, &srvcert2 ); #endif -#endif #endif mbedtls_printf( " ok\n" ); @@ -3440,7 +3596,7 @@ int main( int argc, char *argv[] ) { mbedtls_printf( " failed\n ! mbedtls_ssl_handshake returned -0x%x\n\n", (unsigned int) -ret ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) if( ret == MBEDTLS_ERR_X509_CERT_VERIFY_FAILED ) { char vrfy_buf[512]; @@ -3495,7 +3651,7 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * 5. Verify the client certificate */ @@ -3524,7 +3680,7 @@ int main( int argc, char *argv[] ) mbedtls_printf( "%s\n", crt_buf ); } #endif /* MBEDTLS_X509_REMOVE_INFO */ -#endif /* MBEDTLS_X509_CRT_PARSE_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ if( opt.eap_tls != 0 ) { @@ -4195,7 +4351,7 @@ int main( int argc, char *argv[] ) #if defined(MBEDTLS_SSL_CACHE_C) mbedtls_ssl_cache_free( &cache ); #endif -#if defined(MBEDTLS_SSL_SESSION_TICKETS) +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_TICKET_C) mbedtls_ssl_ticket_free( &ticket_ctx ); #endif #if defined(MBEDTLS_SSL_COOKIE_C) @@ -4212,13 +4368,13 @@ int main( int argc, char *argv[] ) sni_free( sni_info ); #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) ret = psk_free( psk_info ); if( ( ret != 0 ) && ( opt.query_config_mode == DFL_QUERY_CONFIG_MODE ) ) mbedtls_printf( "Failed to list of opaque PSKs - error was %d\n", ret ); #endif -#if defined(MBEDTLS_X509_CRT_PARSE_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) mbedtls_x509_crt_free( &cacert ); mbedtls_x509_crt_free( &srvcert ); mbedtls_pk_free( &pkey ); @@ -4246,7 +4402,7 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) && \ +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) && \ defined(MBEDTLS_USE_PSA_CRYPTO) if( opt.psk_opaque != 0 ) { @@ -4263,7 +4419,7 @@ int main( int argc, char *argv[] ) (int) status ); } } -#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED && +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED && MBEDTLS_USE_PSA_CRYPTO */ #if defined(MBEDTLS_USE_PSA_CRYPTO) || defined(MBEDTLS_SSL_PROTO_TLS1_3) diff --git a/programs/ssl/ssl_test_common_source.c b/programs/ssl/ssl_test_common_source.c index 8c35fabdab..42d8d11222 100644 --- a/programs/ssl/ssl_test_common_source.c +++ b/programs/ssl/ssl_test_common_source.c @@ -296,23 +296,24 @@ int send_cb( void *ctx, unsigned char const *buf, size_t len ) #else #define MBEDTLS_SSL_SIG_ALG( hash ) #endif + uint16_t ssl_sig_algs_for_test[] = { -#if defined(MBEDTLS_SHA512_C) +#if defined(MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_SSL_SIG_ALG( MBEDTLS_SSL_HASH_SHA512 ) #endif -#if defined(MBEDTLS_SHA384_C) +#if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_SSL_SIG_ALG( MBEDTLS_SSL_HASH_SHA384 ) #endif -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_SSL_SIG_ALG( MBEDTLS_SSL_HASH_SHA256 ) #endif -#if defined(MBEDTLS_SHA224_C) +#if defined(MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_SSL_SIG_ALG( MBEDTLS_SSL_HASH_SHA224 ) #endif -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) MBEDTLS_TLS1_3_SIG_RSA_PSS_RSAE_SHA256, #endif /* MBEDTLS_RSA_C && MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) /* Allow SHA-1 as we use it extensively in tests. */ MBEDTLS_SSL_SIG_ALG( MBEDTLS_SSL_HASH_SHA1 ) #endif diff --git a/programs/ssl/ssl_test_lib.c b/programs/ssl/ssl_test_lib.c index a7f3d0e389..cf810a3035 100644 --- a/programs/ssl/ssl_test_lib.c +++ b/programs/ssl/ssl_test_lib.c @@ -205,6 +205,9 @@ int key_opaque_alg_parse( const char *arg, const char **alg1, const char **alg2 if( strcmp( *alg1, "rsa-sign-pkcs1" ) != 0 && strcmp( *alg1, "rsa-sign-pss" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha256" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha384" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha512" ) != 0 && strcmp( *alg1, "rsa-decrypt" ) != 0 && strcmp( *alg1, "ecdsa-sign" ) != 0 && strcmp( *alg1, "ecdh" ) != 0 ) @@ -212,6 +215,9 @@ int key_opaque_alg_parse( const char *arg, const char **alg1, const char **alg2 if( strcmp( *alg2, "rsa-sign-pkcs1" ) != 0 && strcmp( *alg2, "rsa-sign-pss" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha256" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha384" ) != 0 && + strcmp( *alg1, "rsa-sign-pss-sha512" ) != 0 && strcmp( *alg2, "rsa-decrypt" ) != 0 && strcmp( *alg2, "ecdsa-sign" ) != 0 && strcmp( *alg2, "ecdh" ) != 0 && @@ -245,6 +251,21 @@ int key_opaque_set_alg_usage( const char *alg1, const char *alg2, *psa_algs[i] = PSA_ALG_RSA_PSS( PSA_ALG_ANY_HASH ); *usage |= PSA_KEY_USAGE_SIGN_HASH; } + else if( strcmp( algs[i], "rsa-sign-pss-sha256" ) == 0 ) + { + *psa_algs[i] = PSA_ALG_RSA_PSS( PSA_ALG_SHA_256 ); + *usage |= PSA_KEY_USAGE_SIGN_HASH; + } + else if( strcmp( algs[i], "rsa-sign-pss-sha384" ) == 0 ) + { + *psa_algs[i] = PSA_ALG_RSA_PSS( PSA_ALG_SHA_384 ); + *usage |= PSA_KEY_USAGE_SIGN_HASH; + } + else if( strcmp( algs[i], "rsa-sign-pss-sha512" ) == 0 ) + { + *psa_algs[i] = PSA_ALG_RSA_PSS( PSA_ALG_SHA_512 ); + *usage |= PSA_KEY_USAGE_SIGN_HASH; + } else if( strcmp( algs[i], "rsa-decrypt" ) == 0 ) { *psa_algs[i] = PSA_ALG_RSA_PKCS1V15_CRYPT; diff --git a/programs/ssl/ssl_test_lib.h b/programs/ssl/ssl_test_lib.h index c368f573af..659b3ab2c8 100644 --- a/programs/ssl/ssl_test_lib.h +++ b/programs/ssl/ssl_test_lib.h @@ -22,23 +22,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_printf printf -#define mbedtls_fprintf fprintf -#define mbedtls_snprintf snprintf -#define mbedtls_setbuf setbuf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #undef HAVE_RNG #if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) && \ diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c index a6d83e75bd..6313c522a6 100644 --- a/programs/test/benchmark.c +++ b/programs/test/benchmark.c @@ -22,13 +22,6 @@ #include "mbedtls/build_info.h" #include "mbedtls/platform.h" -#if !defined(MBEDTLS_PLATFORM_C) -#include -#include -#define mbedtls_exit exit -#define mbedtls_printf printf -#define mbedtls_free free -#endif #if !defined(MBEDTLS_HAVE_TIME) int main( void ) @@ -423,7 +416,7 @@ static void TimerProc( void *TimerContext ) Sleep( alarmMs ); mbedtls_timing_alarmed = 1; /* _endthread will be called implicitly on return - * That ensures execution of thread funcition's epilogue */ + * That ensures execution of thread function's epilogue */ } static void mbedtls_set_alarm( int seconds ) @@ -922,7 +915,8 @@ int main( int argc, char *argv[] ) } #endif -#if defined(MBEDTLS_HMAC_DRBG_C) +#if defined(MBEDTLS_HMAC_DRBG_C) && \ + ( defined(MBEDTLS_SHA1_C) || defined(MBEDTLS_SHA256_C) ) if( todo.hmac_drbg ) { mbedtls_hmac_drbg_context hmac_drbg; @@ -965,7 +959,7 @@ int main( int argc, char *argv[] ) #endif mbedtls_hmac_drbg_free( &hmac_drbg ); } -#endif +#endif /* MBEDTLS_HMAC_DRBG_C && ( MBEDTLS_SHA1_C || MBEDTLS_SHA256_C ) */ #if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_GENPRIME) if( todo.rsa ) diff --git a/programs/test/cmake_package/cmake_package.c b/programs/test/cmake_package/cmake_package.c index 1ae627d423..4105d2b351 100644 --- a/programs/test/cmake_package/cmake_package.c +++ b/programs/test/cmake_package/cmake_package.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #include "mbedtls/version.h" diff --git a/programs/test/cmake_package_install/cmake_package_install.c b/programs/test/cmake_package_install/cmake_package_install.c index 9d5d3e4c73..48fb559f67 100644 --- a/programs/test/cmake_package_install/cmake_package_install.c +++ b/programs/test/cmake_package_install/cmake_package_install.c @@ -20,17 +20,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #include "mbedtls/version.h" diff --git a/programs/test/cmake_subproject/cmake_subproject.c b/programs/test/cmake_subproject/cmake_subproject.c index ff6ebf02e2..b1d005cd73 100644 --- a/programs/test/cmake_subproject/cmake_subproject.c +++ b/programs/test/cmake_subproject/cmake_subproject.c @@ -20,17 +20,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #include "mbedtls/version.h" diff --git a/programs/test/dlopen.c b/programs/test/dlopen.c index c0836046a3..ff61fcde01 100644 --- a/programs/test/dlopen.c +++ b/programs/test/dlopen.c @@ -19,17 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if defined(MBEDTLS_X509_CRT_PARSE_C) #include "mbedtls/x509_crt.h" diff --git a/programs/test/query_compile_time_config.c b/programs/test/query_compile_time_config.c index 6d92de3100..f37973cb2e 100644 --- a/programs/test/query_compile_time_config.c +++ b/programs/test/query_compile_time_config.c @@ -19,29 +19,28 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif - -#define USAGE \ - "usage: %s [ | -l ]\n\n" \ - "This program takes one command line argument which corresponds to\n" \ - "the string representation of a Mbed TLS compile time configuration.\n" \ - "The value 0 will be returned if this configuration is defined in the\n" \ - "Mbed TLS build and the macro expansion of that configuration will be\n" \ - "printed (if any). Otherwise, 1 will be returned.\n" \ - "-l\tPrint all available configuration.\n" + +#define USAGE \ + "usage: %s [ -all | -any | -l ] ...\n\n" \ + "This program takes command line arguments which correspond to\n" \ + "the string representation of Mbed TLS compile time configurations.\n\n" \ + "If \"--all\" and \"--any\" are not used, then, if all given arguments\n" \ + "are defined in the Mbed TLS build, 0 is returned; otherwise 1 is\n" \ + "returned. Macro expansions of configurations will be printed (if any).\n" \ + "-l\tPrint all available configuration.\n" \ + "-all\tReturn 0 if all configurations are defined. Otherwise, return 1\n" \ + "-any\tReturn 0 if any configuration is defined. Otherwise, return 1\n" \ + "-h\tPrint this usage\n" + #include #include "query_config.h" int main( int argc, char *argv[] ) { - if ( argc != 2 ) + int i; + + if ( argc == 1 || strcmp( argv[1], "-h" ) == 0 ) { mbedtls_printf( USAGE, argv[0] ); return( MBEDTLS_EXIT_FAILURE ); @@ -53,5 +52,31 @@ int main( int argc, char *argv[] ) return( 0 ); } - return( query_config( argv[1] ) ); + if( strcmp( argv[1], "-all" ) == 0 ) + { + for( i = 2; i < argc; i++ ) + { + if( query_config( argv[i] ) != 0 ) + return( 1 ); + } + return( 0 ); + } + + if( strcmp( argv[1], "-any" ) == 0 ) + { + for( i = 2; i < argc; i++ ) + { + if( query_config( argv[i] ) == 0 ) + return( 0 ); + } + return( 1 ); + } + + for( i = 1; i < argc; i++ ) + { + if( query_config( argv[i] ) != 0 ) + return( 1 ); + } + + return( 0 ); } diff --git a/programs/test/query_config.c b/programs/test/query_config.c index bec8a17134..97e44b103e 100644 --- a/programs/test/query_config.c +++ b/programs/test/query_config.c @@ -21,17 +21,16 @@ #include "query_config.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ /* * Include all the headers with public APIs in case they define a macro to its - * default value when that configuration is not set in the mbedtls_config.h. + * default value when that configuration is not set in mbedtls_config.h, or + * for PSA_WANT macros, in case they're auto-defined based on mbedtls_config.h + * rather than defined directly in crypto_config.h. */ +#include "psa/crypto.h" + #include "mbedtls/aes.h" #include "mbedtls/aria.h" #include "mbedtls/asn1.h" @@ -1216,6 +1215,14 @@ int query_config( const char *config ) } #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) + if( strcmp( "MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */ + #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) if( strcmp( "MBEDTLS_SSL_ASYNC_PRIVATE", config ) == 0 ) { @@ -1304,6 +1311,70 @@ int query_config( const char *config ) } #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) + if( strcmp( "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + if( strcmp( "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) + if( strcmp( "MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE) + if( strcmp( "MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE */ + +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH) + if( strcmp( "MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH */ + +#if defined(MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS) + if( strcmp( "MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS */ + +#if defined(MBEDTLS_SSL_EARLY_DATA) + if( strcmp( "MBEDTLS_SSL_EARLY_DATA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_EARLY_DATA ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_EARLY_DATA */ + +#if defined(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE) + if( strcmp( "MBEDTLS_SSL_MAX_EARLY_DATA_SIZE", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_MAX_EARLY_DATA_SIZE ); + return( 0 ); + } +#endif /* MBEDTLS_SSL_MAX_EARLY_DATA_SIZE */ + #if defined(MBEDTLS_SSL_PROTO_DTLS) if( strcmp( "MBEDTLS_SSL_PROTO_DTLS", config ) == 0 ) { @@ -1672,6 +1743,22 @@ int query_config( const char *config ) } #endif /* MBEDTLS_HMAC_DRBG_C */ +#if defined(MBEDTLS_LMS_C) + if( strcmp( "MBEDTLS_LMS_C", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_LMS_C ); + return( 0 ); + } +#endif /* MBEDTLS_LMS_C */ + +#if defined(MBEDTLS_LMS_PRIVATE) + if( strcmp( "MBEDTLS_LMS_PRIVATE", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_LMS_PRIVATE ); + return( 0 ); + } +#endif /* MBEDTLS_LMS_PRIVATE */ + #if defined(MBEDTLS_NIST_KW_C) if( strcmp( "MBEDTLS_NIST_KW_C", config ) == 0 ) { @@ -1776,6 +1863,14 @@ int query_config( const char *config ) } #endif /* MBEDTLS_PKCS5_C */ +#if defined(MBEDTLS_PKCS7_C) + if( strcmp( "MBEDTLS_PKCS7_C", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS7_C ); + return( 0 ); + } +#endif /* MBEDTLS_PKCS7_C */ + #if defined(MBEDTLS_PKCS12_C) if( strcmp( "MBEDTLS_PKCS12_C", config ) == 0 ) { @@ -2536,14 +2631,6 @@ int query_config( const char *config ) } #endif /* MBEDTLS_SSL_COOKIE_TIMEOUT */ -#if defined(MBEDTLS_TLS_EXT_CID) - if( strcmp( "MBEDTLS_TLS_EXT_CID", config ) == 0 ) - { - MACRO_EXPANSION_TO_STR( MBEDTLS_TLS_EXT_CID ); - return( 0 ); - } -#endif /* MBEDTLS_TLS_EXT_CID */ - #if defined(MBEDTLS_X509_MAX_INTERMEDIATE_CA) if( strcmp( "MBEDTLS_X509_MAX_INTERMEDIATE_CA", config ) == 0 ) { @@ -2584,6 +2671,494 @@ int query_config( const char *config ) } #endif /* MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED */ +#if defined(PSA_WANT_ALG_CBC_MAC) + if( strcmp( "PSA_WANT_ALG_CBC_MAC", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CBC_MAC ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CBC_MAC */ + +#if defined(PSA_WANT_ALG_CBC_NO_PADDING) + if( strcmp( "PSA_WANT_ALG_CBC_NO_PADDING", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CBC_NO_PADDING ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CBC_NO_PADDING */ + +#if defined(PSA_WANT_ALG_CBC_PKCS7) + if( strcmp( "PSA_WANT_ALG_CBC_PKCS7", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CBC_PKCS7 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CBC_PKCS7 */ + +#if defined(PSA_WANT_ALG_CCM) + if( strcmp( "PSA_WANT_ALG_CCM", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CCM ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CCM */ + +#if defined(PSA_WANT_ALG_CMAC) + if( strcmp( "PSA_WANT_ALG_CMAC", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CMAC ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CMAC */ + +#if defined(PSA_WANT_ALG_CFB) + if( strcmp( "PSA_WANT_ALG_CFB", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CFB ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CFB */ + +#if defined(PSA_WANT_ALG_CHACHA20_POLY1305) + if( strcmp( "PSA_WANT_ALG_CHACHA20_POLY1305", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CHACHA20_POLY1305 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CHACHA20_POLY1305 */ + +#if defined(PSA_WANT_ALG_CTR) + if( strcmp( "PSA_WANT_ALG_CTR", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_CTR ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_CTR */ + +#if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) + if( strcmp( "PSA_WANT_ALG_DETERMINISTIC_ECDSA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_DETERMINISTIC_ECDSA ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_DETERMINISTIC_ECDSA */ + +#if defined(PSA_WANT_ALG_ECB_NO_PADDING) + if( strcmp( "PSA_WANT_ALG_ECB_NO_PADDING", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_ECB_NO_PADDING ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_ECB_NO_PADDING */ + +#if defined(PSA_WANT_ALG_ECDH) + if( strcmp( "PSA_WANT_ALG_ECDH", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_ECDH ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_ECDH */ + +#if defined(PSA_WANT_ALG_ECDSA) + if( strcmp( "PSA_WANT_ALG_ECDSA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_ECDSA ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_ECDSA */ + +#if defined(PSA_WANT_ALG_JPAKE) + if( strcmp( "PSA_WANT_ALG_JPAKE", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_JPAKE ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_JPAKE */ + +#if defined(PSA_WANT_ALG_GCM) + if( strcmp( "PSA_WANT_ALG_GCM", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_GCM ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_GCM */ + +#if defined(PSA_WANT_ALG_HKDF) + if( strcmp( "PSA_WANT_ALG_HKDF", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_HKDF ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_HKDF */ + +#if defined(PSA_WANT_ALG_HKDF_EXTRACT) + if( strcmp( "PSA_WANT_ALG_HKDF_EXTRACT", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_HKDF_EXTRACT ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_HKDF_EXTRACT */ + +#if defined(PSA_WANT_ALG_HKDF_EXPAND) + if( strcmp( "PSA_WANT_ALG_HKDF_EXPAND", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_HKDF_EXPAND ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_HKDF_EXPAND */ + +#if defined(PSA_WANT_ALG_HMAC) + if( strcmp( "PSA_WANT_ALG_HMAC", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_HMAC ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_HMAC */ + +#if defined(PSA_WANT_ALG_MD5) + if( strcmp( "PSA_WANT_ALG_MD5", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_MD5 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_MD5 */ + +#if defined(PSA_WANT_ALG_OFB) + if( strcmp( "PSA_WANT_ALG_OFB", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_OFB ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_OFB */ + +#if defined(PSA_WANT_ALG_PBKDF2_HMAC) + if( strcmp( "PSA_WANT_ALG_PBKDF2_HMAC", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_PBKDF2_HMAC ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_PBKDF2_HMAC */ + +#if defined(PSA_WANT_ALG_RIPEMD160) + if( strcmp( "PSA_WANT_ALG_RIPEMD160", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_RIPEMD160 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_RIPEMD160 */ + +#if defined(PSA_WANT_ALG_RSA_OAEP) + if( strcmp( "PSA_WANT_ALG_RSA_OAEP", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_RSA_OAEP ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_RSA_OAEP */ + +#if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) + if( strcmp( "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_RSA_PKCS1V15_CRYPT ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_RSA_PKCS1V15_CRYPT */ + +#if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) + if( strcmp( "PSA_WANT_ALG_RSA_PKCS1V15_SIGN", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_RSA_PKCS1V15_SIGN ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_RSA_PKCS1V15_SIGN */ + +#if defined(PSA_WANT_ALG_RSA_PSS) + if( strcmp( "PSA_WANT_ALG_RSA_PSS", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_RSA_PSS ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_RSA_PSS */ + +#if defined(PSA_WANT_ALG_SHA_1) + if( strcmp( "PSA_WANT_ALG_SHA_1", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_SHA_1 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_SHA_1 */ + +#if defined(PSA_WANT_ALG_SHA_224) + if( strcmp( "PSA_WANT_ALG_SHA_224", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_SHA_224 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_SHA_224 */ + +#if defined(PSA_WANT_ALG_SHA_256) + if( strcmp( "PSA_WANT_ALG_SHA_256", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_SHA_256 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_SHA_256 */ + +#if defined(PSA_WANT_ALG_SHA_384) + if( strcmp( "PSA_WANT_ALG_SHA_384", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_SHA_384 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_SHA_384 */ + +#if defined(PSA_WANT_ALG_SHA_512) + if( strcmp( "PSA_WANT_ALG_SHA_512", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_SHA_512 ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_SHA_512 */ + +#if defined(PSA_WANT_ALG_STREAM_CIPHER) + if( strcmp( "PSA_WANT_ALG_STREAM_CIPHER", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_STREAM_CIPHER ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_STREAM_CIPHER */ + +#if defined(PSA_WANT_ALG_TLS12_PRF) + if( strcmp( "PSA_WANT_ALG_TLS12_PRF", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_TLS12_PRF ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_TLS12_PRF */ + +#if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) + if( strcmp( "PSA_WANT_ALG_TLS12_PSK_TO_MS", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_TLS12_PSK_TO_MS ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_TLS12_PSK_TO_MS */ + +#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) + if( strcmp( "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS */ + +#if defined(PSA_WANT_ALG_XTS) + if( strcmp( "PSA_WANT_ALG_XTS", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ALG_XTS ); + return( 0 ); + } +#endif /* PSA_WANT_ALG_XTS */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) + if( strcmp( "PSA_WANT_ECC_BRAINPOOL_P_R1_256", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_BRAINPOOL_P_R1_256 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_256 */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) + if( strcmp( "PSA_WANT_ECC_BRAINPOOL_P_R1_384", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_BRAINPOOL_P_R1_384 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_384 */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) + if( strcmp( "PSA_WANT_ECC_BRAINPOOL_P_R1_512", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_BRAINPOOL_P_R1_512 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_512 */ + +#if defined(PSA_WANT_ECC_MONTGOMERY_255) + if( strcmp( "PSA_WANT_ECC_MONTGOMERY_255", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_MONTGOMERY_255 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_MONTGOMERY_255 */ + +#if defined(PSA_WANT_ECC_MONTGOMERY_448) + if( strcmp( "PSA_WANT_ECC_MONTGOMERY_448", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_MONTGOMERY_448 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_MONTGOMERY_448 */ + +#if defined(PSA_WANT_ECC_SECP_K1_192) + if( strcmp( "PSA_WANT_ECC_SECP_K1_192", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_K1_192 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_K1_192 */ + +#if defined(PSA_WANT_ECC_SECP_K1_224) + if( strcmp( "PSA_WANT_ECC_SECP_K1_224", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_K1_224 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_K1_224 */ + +#if defined(PSA_WANT_ECC_SECP_K1_256) + if( strcmp( "PSA_WANT_ECC_SECP_K1_256", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_K1_256 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_K1_256 */ + +#if defined(PSA_WANT_ECC_SECP_R1_192) + if( strcmp( "PSA_WANT_ECC_SECP_R1_192", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_R1_192 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_R1_192 */ + +#if defined(PSA_WANT_ECC_SECP_R1_224) + if( strcmp( "PSA_WANT_ECC_SECP_R1_224", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_R1_224 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_R1_224 */ + +#if defined(PSA_WANT_ECC_SECP_R1_256) + if( strcmp( "PSA_WANT_ECC_SECP_R1_256", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_R1_256 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_R1_256 */ + +#if defined(PSA_WANT_ECC_SECP_R1_384) + if( strcmp( "PSA_WANT_ECC_SECP_R1_384", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_R1_384 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_R1_384 */ + +#if defined(PSA_WANT_ECC_SECP_R1_521) + if( strcmp( "PSA_WANT_ECC_SECP_R1_521", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_ECC_SECP_R1_521 ); + return( 0 ); + } +#endif /* PSA_WANT_ECC_SECP_R1_521 */ + +#if defined(PSA_WANT_KEY_TYPE_DERIVE) + if( strcmp( "PSA_WANT_KEY_TYPE_DERIVE", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_DERIVE ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_DERIVE */ + +#if defined(PSA_WANT_KEY_TYPE_HMAC) + if( strcmp( "PSA_WANT_KEY_TYPE_HMAC", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_HMAC ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_HMAC */ + +#if defined(PSA_WANT_KEY_TYPE_AES) + if( strcmp( "PSA_WANT_KEY_TYPE_AES", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_AES ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_AES */ + +#if defined(PSA_WANT_KEY_TYPE_ARIA) + if( strcmp( "PSA_WANT_KEY_TYPE_ARIA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_ARIA ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_ARIA */ + +#if defined(PSA_WANT_KEY_TYPE_CAMELLIA) + if( strcmp( "PSA_WANT_KEY_TYPE_CAMELLIA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_CAMELLIA ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_CAMELLIA */ + +#if defined(PSA_WANT_KEY_TYPE_CHACHA20) + if( strcmp( "PSA_WANT_KEY_TYPE_CHACHA20", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_CHACHA20 ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_CHACHA20 */ + +#if defined(PSA_WANT_KEY_TYPE_DES) + if( strcmp( "PSA_WANT_KEY_TYPE_DES", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_DES ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_DES */ + +#if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) + if( strcmp( "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_ECC_KEY_PAIR ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */ + +#if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) + if( strcmp( "PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */ + +#if defined(PSA_WANT_KEY_TYPE_RAW_DATA) + if( strcmp( "PSA_WANT_KEY_TYPE_RAW_DATA", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_RAW_DATA ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_RAW_DATA */ + +#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) + if( strcmp( "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_RSA_KEY_PAIR ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */ + +#if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY) + if( strcmp( "PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY", config ) == 0 ) + { + MACRO_EXPANSION_TO_STR( PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY ); + return( 0 ); + } +#endif /* PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY */ + /* If the symbol is not found, return an error */ return( 1 ); } @@ -3138,6 +3713,10 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_DTLS_CONNECTION_ID); #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */ +#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT); +#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */ + #if defined(MBEDTLS_SSL_ASYNC_PRIVATE) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_ASYNC_PRIVATE); #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */ @@ -3182,6 +3761,38 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE); #endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */ +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED); +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED); +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED); +#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */ + +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE); +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_AGE_TOLERANCE */ + +#if defined(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH); +#endif /* MBEDTLS_SSL_TLS1_3_TICKET_NONCE_LENGTH */ + +#if defined(MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS); +#endif /* MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS */ + +#if defined(MBEDTLS_SSL_EARLY_DATA) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_EARLY_DATA); +#endif /* MBEDTLS_SSL_EARLY_DATA */ + +#if defined(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_MAX_EARLY_DATA_SIZE); +#endif /* MBEDTLS_SSL_MAX_EARLY_DATA_SIZE */ + #if defined(MBEDTLS_SSL_PROTO_DTLS) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_PROTO_DTLS); #endif /* MBEDTLS_SSL_PROTO_DTLS */ @@ -3366,6 +3977,14 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_HMAC_DRBG_C); #endif /* MBEDTLS_HMAC_DRBG_C */ +#if defined(MBEDTLS_LMS_C) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_LMS_C); +#endif /* MBEDTLS_LMS_C */ + +#if defined(MBEDTLS_LMS_PRIVATE) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_LMS_PRIVATE); +#endif /* MBEDTLS_LMS_PRIVATE */ + #if defined(MBEDTLS_NIST_KW_C) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_NIST_KW_C); #endif /* MBEDTLS_NIST_KW_C */ @@ -3418,6 +4037,10 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_PKCS5_C); #endif /* MBEDTLS_PKCS5_C */ +#if defined(MBEDTLS_PKCS7_C) + OUTPUT_MACRO_NAME_VALUE(MBEDTLS_PKCS7_C); +#endif /* MBEDTLS_PKCS7_C */ + #if defined(MBEDTLS_PKCS12_C) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_PKCS12_C); #endif /* MBEDTLS_PKCS12_C */ @@ -3798,10 +4421,6 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_SSL_COOKIE_TIMEOUT); #endif /* MBEDTLS_SSL_COOKIE_TIMEOUT */ -#if defined(MBEDTLS_TLS_EXT_CID) - OUTPUT_MACRO_NAME_VALUE(MBEDTLS_TLS_EXT_CID); -#endif /* MBEDTLS_TLS_EXT_CID */ - #if defined(MBEDTLS_X509_MAX_INTERMEDIATE_CA) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_X509_MAX_INTERMEDIATE_CA); #endif /* MBEDTLS_X509_MAX_INTERMEDIATE_CA */ @@ -3822,6 +4441,250 @@ void list_config( void ) OUTPUT_MACRO_NAME_VALUE(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED); #endif /* MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED */ +#if defined(PSA_WANT_ALG_CBC_MAC) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CBC_MAC); +#endif /* PSA_WANT_ALG_CBC_MAC */ + +#if defined(PSA_WANT_ALG_CBC_NO_PADDING) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CBC_NO_PADDING); +#endif /* PSA_WANT_ALG_CBC_NO_PADDING */ + +#if defined(PSA_WANT_ALG_CBC_PKCS7) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CBC_PKCS7); +#endif /* PSA_WANT_ALG_CBC_PKCS7 */ + +#if defined(PSA_WANT_ALG_CCM) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CCM); +#endif /* PSA_WANT_ALG_CCM */ + +#if defined(PSA_WANT_ALG_CMAC) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CMAC); +#endif /* PSA_WANT_ALG_CMAC */ + +#if defined(PSA_WANT_ALG_CFB) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CFB); +#endif /* PSA_WANT_ALG_CFB */ + +#if defined(PSA_WANT_ALG_CHACHA20_POLY1305) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CHACHA20_POLY1305); +#endif /* PSA_WANT_ALG_CHACHA20_POLY1305 */ + +#if defined(PSA_WANT_ALG_CTR) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_CTR); +#endif /* PSA_WANT_ALG_CTR */ + +#if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_DETERMINISTIC_ECDSA); +#endif /* PSA_WANT_ALG_DETERMINISTIC_ECDSA */ + +#if defined(PSA_WANT_ALG_ECB_NO_PADDING) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_ECB_NO_PADDING); +#endif /* PSA_WANT_ALG_ECB_NO_PADDING */ + +#if defined(PSA_WANT_ALG_ECDH) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_ECDH); +#endif /* PSA_WANT_ALG_ECDH */ + +#if defined(PSA_WANT_ALG_ECDSA) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_ECDSA); +#endif /* PSA_WANT_ALG_ECDSA */ + +#if defined(PSA_WANT_ALG_JPAKE) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_JPAKE); +#endif /* PSA_WANT_ALG_JPAKE */ + +#if defined(PSA_WANT_ALG_GCM) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_GCM); +#endif /* PSA_WANT_ALG_GCM */ + +#if defined(PSA_WANT_ALG_HKDF) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_HKDF); +#endif /* PSA_WANT_ALG_HKDF */ + +#if defined(PSA_WANT_ALG_HKDF_EXTRACT) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_HKDF_EXTRACT); +#endif /* PSA_WANT_ALG_HKDF_EXTRACT */ + +#if defined(PSA_WANT_ALG_HKDF_EXPAND) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_HKDF_EXPAND); +#endif /* PSA_WANT_ALG_HKDF_EXPAND */ + +#if defined(PSA_WANT_ALG_HMAC) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_HMAC); +#endif /* PSA_WANT_ALG_HMAC */ + +#if defined(PSA_WANT_ALG_MD5) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_MD5); +#endif /* PSA_WANT_ALG_MD5 */ + +#if defined(PSA_WANT_ALG_OFB) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_OFB); +#endif /* PSA_WANT_ALG_OFB */ + +#if defined(PSA_WANT_ALG_PBKDF2_HMAC) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_PBKDF2_HMAC); +#endif /* PSA_WANT_ALG_PBKDF2_HMAC */ + +#if defined(PSA_WANT_ALG_RIPEMD160) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_RIPEMD160); +#endif /* PSA_WANT_ALG_RIPEMD160 */ + +#if defined(PSA_WANT_ALG_RSA_OAEP) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_RSA_OAEP); +#endif /* PSA_WANT_ALG_RSA_OAEP */ + +#if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT); +#endif /* PSA_WANT_ALG_RSA_PKCS1V15_CRYPT */ + +#if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_RSA_PKCS1V15_SIGN); +#endif /* PSA_WANT_ALG_RSA_PKCS1V15_SIGN */ + +#if defined(PSA_WANT_ALG_RSA_PSS) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_RSA_PSS); +#endif /* PSA_WANT_ALG_RSA_PSS */ + +#if defined(PSA_WANT_ALG_SHA_1) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_SHA_1); +#endif /* PSA_WANT_ALG_SHA_1 */ + +#if defined(PSA_WANT_ALG_SHA_224) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_SHA_224); +#endif /* PSA_WANT_ALG_SHA_224 */ + +#if defined(PSA_WANT_ALG_SHA_256) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_SHA_256); +#endif /* PSA_WANT_ALG_SHA_256 */ + +#if defined(PSA_WANT_ALG_SHA_384) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_SHA_384); +#endif /* PSA_WANT_ALG_SHA_384 */ + +#if defined(PSA_WANT_ALG_SHA_512) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_SHA_512); +#endif /* PSA_WANT_ALG_SHA_512 */ + +#if defined(PSA_WANT_ALG_STREAM_CIPHER) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_STREAM_CIPHER); +#endif /* PSA_WANT_ALG_STREAM_CIPHER */ + +#if defined(PSA_WANT_ALG_TLS12_PRF) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_TLS12_PRF); +#endif /* PSA_WANT_ALG_TLS12_PRF */ + +#if defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_TLS12_PSK_TO_MS); +#endif /* PSA_WANT_ALG_TLS12_PSK_TO_MS */ + +#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS); +#endif /* PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS */ + +#if defined(PSA_WANT_ALG_XTS) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ALG_XTS); +#endif /* PSA_WANT_ALG_XTS */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_BRAINPOOL_P_R1_256); +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_256 */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_BRAINPOOL_P_R1_384); +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_384 */ + +#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_BRAINPOOL_P_R1_512); +#endif /* PSA_WANT_ECC_BRAINPOOL_P_R1_512 */ + +#if defined(PSA_WANT_ECC_MONTGOMERY_255) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_MONTGOMERY_255); +#endif /* PSA_WANT_ECC_MONTGOMERY_255 */ + +#if defined(PSA_WANT_ECC_MONTGOMERY_448) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_MONTGOMERY_448); +#endif /* PSA_WANT_ECC_MONTGOMERY_448 */ + +#if defined(PSA_WANT_ECC_SECP_K1_192) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_K1_192); +#endif /* PSA_WANT_ECC_SECP_K1_192 */ + +#if defined(PSA_WANT_ECC_SECP_K1_224) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_K1_224); +#endif /* PSA_WANT_ECC_SECP_K1_224 */ + +#if defined(PSA_WANT_ECC_SECP_K1_256) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_K1_256); +#endif /* PSA_WANT_ECC_SECP_K1_256 */ + +#if defined(PSA_WANT_ECC_SECP_R1_192) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_R1_192); +#endif /* PSA_WANT_ECC_SECP_R1_192 */ + +#if defined(PSA_WANT_ECC_SECP_R1_224) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_R1_224); +#endif /* PSA_WANT_ECC_SECP_R1_224 */ + +#if defined(PSA_WANT_ECC_SECP_R1_256) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_R1_256); +#endif /* PSA_WANT_ECC_SECP_R1_256 */ + +#if defined(PSA_WANT_ECC_SECP_R1_384) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_R1_384); +#endif /* PSA_WANT_ECC_SECP_R1_384 */ + +#if defined(PSA_WANT_ECC_SECP_R1_521) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_ECC_SECP_R1_521); +#endif /* PSA_WANT_ECC_SECP_R1_521 */ + +#if defined(PSA_WANT_KEY_TYPE_DERIVE) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_DERIVE); +#endif /* PSA_WANT_KEY_TYPE_DERIVE */ + +#if defined(PSA_WANT_KEY_TYPE_HMAC) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_HMAC); +#endif /* PSA_WANT_KEY_TYPE_HMAC */ + +#if defined(PSA_WANT_KEY_TYPE_AES) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_AES); +#endif /* PSA_WANT_KEY_TYPE_AES */ + +#if defined(PSA_WANT_KEY_TYPE_ARIA) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_ARIA); +#endif /* PSA_WANT_KEY_TYPE_ARIA */ + +#if defined(PSA_WANT_KEY_TYPE_CAMELLIA) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_CAMELLIA); +#endif /* PSA_WANT_KEY_TYPE_CAMELLIA */ + +#if defined(PSA_WANT_KEY_TYPE_CHACHA20) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_CHACHA20); +#endif /* PSA_WANT_KEY_TYPE_CHACHA20 */ + +#if defined(PSA_WANT_KEY_TYPE_DES) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_DES); +#endif /* PSA_WANT_KEY_TYPE_DES */ + +#if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR); +#endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */ + +#if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY); +#endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */ + +#if defined(PSA_WANT_KEY_TYPE_RAW_DATA) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_RAW_DATA); +#endif /* PSA_WANT_KEY_TYPE_RAW_DATA */ + +#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR); +#endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */ + +#if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY) + OUTPUT_MACRO_NAME_VALUE(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY); +#endif /* PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY */ + } #if defined(_MSC_VER) diff --git a/programs/test/selftest.c b/programs/test/selftest.c index ab337a21ff..2d6103c31d 100644 --- a/programs/test/selftest.c +++ b/programs/test/selftest.c @@ -54,19 +54,7 @@ #include #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_printf printf -#define mbedtls_snprintf snprintf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) #include "mbedtls/memory_buffer_alloc.h" diff --git a/programs/test/udp_proxy.c b/programs/test/udp_proxy.c index e3386d1892..ccd130310c 100644 --- a/programs/test/udp_proxy.c +++ b/programs/test/udp_proxy.c @@ -377,7 +377,7 @@ static const char *msg_type( unsigned char *msg, size_t len ) #if defined(MBEDTLS_TIMING_C) /* Return elapsed time in milliseconds since the first call */ -static unsigned ellapsed_time( void ) +static unsigned elapsed_time( void ) { static int initialized = 0; static struct mbedtls_timing_hr_time hires; @@ -413,9 +413,9 @@ static int ctx_buffer_flush( ctx_buffer *buf ) int ret; mbedtls_printf( " %05u flush %s: %u bytes, %u datagrams, last %u ms\n", - ellapsed_time(), buf->description, + elapsed_time(), buf->description, (unsigned) buf->len, buf->num_datagrams, - ellapsed_time() - buf->packet_lifetime ); + elapsed_time() - buf->packet_lifetime ); ret = mbedtls_net_send( buf->ctx, buf->data, buf->len ); @@ -427,7 +427,7 @@ static int ctx_buffer_flush( ctx_buffer *buf ) static unsigned ctx_buffer_time_remaining( ctx_buffer *buf ) { - unsigned const cur_time = ellapsed_time(); + unsigned const cur_time = elapsed_time(); if( buf->num_datagrams == 0 ) return( (unsigned) -1 ); @@ -467,7 +467,7 @@ static int ctx_buffer_append( ctx_buffer *buf, buf->len += len; if( ++buf->num_datagrams == 1 ) - buf->packet_lifetime = ellapsed_time(); + buf->packet_lifetime = elapsed_time(); return( (int) len ); } @@ -517,10 +517,10 @@ void print_packet( const packet *p, const char *why ) #if defined(MBEDTLS_TIMING_C) if( why == NULL ) mbedtls_printf( " %05u dispatch %s %s (%u bytes)\n", - ellapsed_time(), p->way, p->type, p->len ); + elapsed_time(), p->way, p->type, p->len ); else mbedtls_printf( " %05u dispatch %s %s (%u bytes): %s\n", - ellapsed_time(), p->way, p->type, p->len, why ); + elapsed_time(), p->way, p->type, p->len, why ); #else if( why == NULL ) mbedtls_printf( " dispatch %s %s (%u bytes)\n", diff --git a/programs/test/zeroize.c b/programs/test/zeroize.c index d6e55614f4..979b5515f4 100644 --- a/programs/test/zeroize.c +++ b/programs/test/zeroize.c @@ -29,15 +29,7 @@ #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #include "mbedtls/platform_util.h" diff --git a/programs/util/pem2der.c b/programs/util/pem2der.c index cf6a56c6cf..7138fa8544 100644 --- a/programs/util/pem2der.c +++ b/programs/util/pem2der.c @@ -19,18 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_free free -#define mbedtls_calloc calloc -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if defined(MBEDTLS_BASE64_C) && defined(MBEDTLS_FS_IO) #include "mbedtls/error.h" diff --git a/programs/util/strerror.c b/programs/util/strerror.c index f91da1307c..66052fdabc 100644 --- a/programs/util/strerror.c +++ b/programs/util/strerror.c @@ -19,14 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#endif #if defined(MBEDTLS_ERROR_C) || defined(MBEDTLS_ERROR_STRERROR_DUMMY) #include "mbedtls/error.h" diff --git a/programs/x509/cert_app.c b/programs/x509/cert_app.c index 985b9704c3..00d563fc7d 100644 --- a/programs/x509/cert_app.c +++ b/programs/x509/cert_app.c @@ -19,19 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_ENTROPY_C) || \ !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_CLI_C) || \ diff --git a/programs/x509/cert_req.c b/programs/x509/cert_req.c index 7460bbf1c0..4879583ce0 100644 --- a/programs/x509/cert_req.c +++ b/programs/x509/cert_req.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_X509_CSR_WRITE_C) || !defined(MBEDTLS_FS_IO) || \ !defined(MBEDTLS_PK_PARSE_C) || !defined(MBEDTLS_SHA256_C) || \ @@ -364,7 +355,7 @@ int main( int argc, char *argv[] ) if( ( ret = write_certificate_request( &req, opt.output_file, mbedtls_ctr_drbg_random, &ctr_drbg ) ) != 0 ) { - mbedtls_printf( " failed\n ! write_certifcate_request %d", ret ); + mbedtls_printf( " failed\n ! write_certificate_request %d", ret ); goto exit; } diff --git a/programs/x509/cert_write.c b/programs/x509/cert_write.c index 793982d5a8..a8910d7f68 100644 --- a/programs/x509/cert_write.c +++ b/programs/x509/cert_write.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_X509_CRT_WRITE_C) || \ !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_FS_IO) || \ @@ -47,6 +38,7 @@ int main( void ) #include "mbedtls/x509_crt.h" #include "mbedtls/x509_csr.h" +#include "mbedtls/oid.h" #include "mbedtls/entropy.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/md.h" @@ -56,6 +48,9 @@ int main( void ) #include #include +#define SET_OID(x, oid) \ + do { x.len = MBEDTLS_OID_SIZE(oid); x.p = (unsigned char*)oid; } while( 0 ) + #if defined(MBEDTLS_X509_CSR_PARSE_C) #define USAGE_CSR \ " request_file=%%s default: (empty)\n" \ @@ -65,6 +60,9 @@ int main( void ) #define USAGE_CSR "" #endif /* MBEDTLS_X509_CSR_PARSE_C */ +#define FORMAT_PEM 0 +#define FORMAT_DER 1 + #define DFL_ISSUER_CRT "" #define DFL_REQUEST_FILE "" #define DFL_SUBJECT_KEY "subject.key" @@ -80,13 +78,16 @@ int main( void ) #define DFL_SELFSIGN 0 #define DFL_IS_CA 0 #define DFL_MAX_PATHLEN -1 +#define DFL_SIG_ALG MBEDTLS_MD_SHA256 #define DFL_KEY_USAGE 0 +#define DFL_EXT_KEY_USAGE NULL #define DFL_NS_CERT_TYPE 0 #define DFL_VERSION 3 #define DFL_AUTH_IDENT 1 #define DFL_SUBJ_IDENT 1 #define DFL_CONSTRAINTS 1 #define DFL_DIGEST MBEDTLS_MD_SHA256 +#define DFL_FORMAT FORMAT_PEM #define USAGE \ "\n usage: cert_write param=<>...\n" \ @@ -138,6 +139,14 @@ int main( void ) " key_cert_sign\n" \ " crl_sign\n" \ " (Considered for v3 only)\n"\ + " ext_key_usage=%%s default: (empty)\n" \ + " Comma-separated-list of values:\n" \ + " serverAuth\n" \ + " clientAuth\n" \ + " codeSigning\n" \ + " emailProtection\n" \ + " timeStamping\n" \ + " OCSPSigning\n" \ " ns_cert_type=%%s default: (empty)\n" \ " Comma-separated-list of values:\n" \ " ssl_client\n" \ @@ -147,6 +156,7 @@ int main( void ) " ssl_ca\n" \ " email_ca\n" \ " object_signing_ca\n" \ + " format=pem|der default: pem\n" \ "\n" @@ -176,7 +186,9 @@ struct options int version; /* CRT version */ mbedtls_md_type_t md; /* Hash used for signing */ unsigned char key_usage; /* key usage flags */ + mbedtls_asn1_sequence *ext_key_usage; /* extended key usages */ unsigned char ns_cert_type; /* NS cert type */ + int format; /* format */ } opt; int write_certificate( mbedtls_x509write_cert *crt, const char *output_file, @@ -186,19 +198,33 @@ int write_certificate( mbedtls_x509write_cert *crt, const char *output_file, int ret; FILE *f; unsigned char output_buf[4096]; + unsigned char *output_start; size_t len = 0; memset( output_buf, 0, 4096 ); - if( ( ret = mbedtls_x509write_crt_pem( crt, output_buf, 4096, - f_rng, p_rng ) ) < 0 ) - return( ret ); + if ( opt.format == FORMAT_DER ) + { + ret = mbedtls_x509write_crt_der( crt, output_buf, 4096, + f_rng, p_rng ); + if( ret < 0 ) + return( ret ); + + len = ret; + output_start = output_buf + 4096 - len; + } else { + ret = mbedtls_x509write_crt_pem( crt, output_buf, 4096, + f_rng, p_rng ); + if( ret < 0 ) + return( ret ); - len = strlen( (char *) output_buf ); + len = strlen( (char *) output_buf ); + output_start = output_buf; + } if( ( f = fopen( output_file, "w" ) ) == NULL ) return( -1 ); - if( fwrite( output_buf, 1, len, f ) != len ) + if( fwrite( output_start, 1, len, f ) != len ) { fclose( f ); return( -1 ); @@ -227,6 +253,7 @@ int main( int argc, char *argv[] ) #endif mbedtls_x509write_cert crt; mbedtls_mpi serial; + mbedtls_asn1_sequence *ext_key_usage; mbedtls_entropy_context entropy; mbedtls_ctr_drbg_context ctr_drbg; const char *pers = "crt example app"; @@ -244,7 +271,7 @@ int main( int argc, char *argv[] ) mbedtls_x509_csr_init( &csr ); #endif mbedtls_x509_crt_init( &issuer_crt ); - memset( buf, 0, 1024 ); + memset( buf, 0, sizeof(buf) ); if( argc == 0 ) { @@ -269,12 +296,14 @@ int main( int argc, char *argv[] ) opt.is_ca = DFL_IS_CA; opt.max_pathlen = DFL_MAX_PATHLEN; opt.key_usage = DFL_KEY_USAGE; + opt.ext_key_usage = DFL_EXT_KEY_USAGE; opt.ns_cert_type = DFL_NS_CERT_TYPE; opt.version = DFL_VERSION - 1; opt.md = DFL_DIGEST; opt.subject_identifier = DFL_SUBJ_IDENT; opt.authority_identifier = DFL_AUTH_IDENT; opt.basic_constraints = DFL_CONSTRAINTS; + opt.format = DFL_FORMAT; for( i = 1; i < argc; i++ ) { @@ -426,6 +455,41 @@ int main( int argc, char *argv[] ) q = r; } } + else if( strcmp( p, "ext_key_usage" ) == 0 ) + { + mbedtls_asn1_sequence **tail = &opt.ext_key_usage; + + while( q != NULL ) + { + if( ( r = strchr( q, ',' ) ) != NULL ) + *r++ = '\0'; + + ext_key_usage = mbedtls_calloc( 1, sizeof(mbedtls_asn1_sequence) ); + ext_key_usage->buf.tag = MBEDTLS_ASN1_OID; + if( strcmp( q, "serverAuth" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_SERVER_AUTH ); + else if( strcmp( q, "clientAuth" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_CLIENT_AUTH ); + else if( strcmp( q, "codeSigning" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_CODE_SIGNING ); + else if( strcmp( q, "emailProtection" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_EMAIL_PROTECTION ); + else if( strcmp( q, "timeStamping" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_TIME_STAMPING ); + else if( strcmp( q, "OCSPSigning" ) == 0 ) + SET_OID( ext_key_usage->buf, MBEDTLS_OID_OCSP_SIGNING ); + else + { + mbedtls_printf( "Invalid argument for option %s\n", p ); + goto usage; + } + + *tail = ext_key_usage; + tail = &ext_key_usage->next; + + q = r; + } + } else if( strcmp( p, "ns_cert_type" ) == 0 ) { while( q != NULL ) @@ -456,6 +520,16 @@ int main( int argc, char *argv[] ) q = r; } } + else if( strcmp( p, "format" ) == 0 ) + { + if ( strcmp(q, "der" ) == 0 ) opt.format = FORMAT_DER; + else if ( strcmp(q, "pem" ) == 0 ) opt.format = FORMAT_PEM; + else + { + mbedtls_printf( "Invalid argument for option %s\n", p ); + goto usage; + } + } else goto usage; } @@ -472,7 +546,7 @@ int main( int argc, char *argv[] ) (const unsigned char *) pers, strlen( pers ) ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_ctr_drbg_seed returned %d - %s\n", ret, buf ); goto exit; @@ -487,7 +561,7 @@ int main( int argc, char *argv[] ) if( ( ret = mbedtls_mpi_read_string( &serial, 10, opt.serial ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_mpi_read_string " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -507,7 +581,7 @@ int main( int argc, char *argv[] ) if( ( ret = mbedtls_x509_crt_parse_file( &issuer_crt, opt.issuer_crt ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509_crt_parse_file " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -517,7 +591,7 @@ int main( int argc, char *argv[] ) &issuer_crt.subject ); if( ret < 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509_dn_gets " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -541,7 +615,7 @@ int main( int argc, char *argv[] ) if( ( ret = mbedtls_x509_csr_parse_file( &csr, opt.request_file ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509_csr_parse_file " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -551,7 +625,7 @@ int main( int argc, char *argv[] ) &csr.subject ); if( ret < 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509_dn_gets " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -576,7 +650,7 @@ int main( int argc, char *argv[] ) opt.subject_pwd, mbedtls_ctr_drbg_random, &ctr_drbg ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_pk_parse_keyfile " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -592,7 +666,7 @@ int main( int argc, char *argv[] ) opt.issuer_pwd, mbedtls_ctr_drbg_random, &ctr_drbg ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_pk_parse_keyfile " "returned -x%02x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -627,7 +701,7 @@ int main( int argc, char *argv[] ) */ if( ( ret = mbedtls_x509write_crt_set_subject_name( &crt, opt.subject_name ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_subject_name " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -635,7 +709,7 @@ int main( int argc, char *argv[] ) if( ( ret = mbedtls_x509write_crt_set_issuer_name( &crt, opt.issuer_name ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_issuer_name " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -650,7 +724,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_serial( &crt, &serial ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_serial " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -659,7 +733,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_validity( &crt, opt.not_before, opt.not_after ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_validity " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -677,8 +751,8 @@ int main( int argc, char *argv[] ) opt.max_pathlen ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); - mbedtls_printf( " failed\n ! x509write_crt_set_basic_contraints " + mbedtls_strerror( ret, buf, sizeof(buf) ); + mbedtls_printf( " failed\n ! x509write_crt_set_basic_constraints " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; } @@ -696,7 +770,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_subject_key_identifier( &crt ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_subject" "_key_identifier returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); @@ -715,7 +789,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_authority_key_identifier( &crt ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_authority_" "key_identifier returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); @@ -735,7 +809,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_key_usage( &crt, opt.key_usage ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_key_usage " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -744,6 +818,22 @@ int main( int argc, char *argv[] ) mbedtls_printf( " ok\n" ); } + if( opt.ext_key_usage ) + { + mbedtls_printf( " . Adding the Extended Key Usage extension ..." ); + fflush( stdout ); + + ret = mbedtls_x509write_crt_set_ext_key_usage( &crt, opt.ext_key_usage ); + if( ret != 0 ) + { + mbedtls_strerror( ret, buf, sizeof(buf) ); + mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_ext_key_usage returned -0x%02x - %s\n\n", (unsigned int) -ret, buf ); + goto exit; + } + + mbedtls_printf( " ok\n" ); + } + if( opt.version == MBEDTLS_X509_CRT_VERSION_3 && opt.ns_cert_type != 0 ) { @@ -753,7 +843,7 @@ int main( int argc, char *argv[] ) ret = mbedtls_x509write_crt_set_ns_cert_type( &crt, opt.ns_cert_type ); if( ret != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! mbedtls_x509write_crt_set_ns_cert_type " "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; @@ -771,7 +861,7 @@ int main( int argc, char *argv[] ) if( ( ret = write_certificate( &crt, opt.output_file, mbedtls_ctr_drbg_random, &ctr_drbg ) ) != 0 ) { - mbedtls_strerror( ret, buf, 1024 ); + mbedtls_strerror( ret, buf, sizeof(buf) ); mbedtls_printf( " failed\n ! write_certificate -0x%04x - %s\n\n", (unsigned int) -ret, buf ); goto exit; diff --git a/programs/x509/crl_app.c b/programs/x509/crl_app.c index aa353be0ae..28cb99e6ea 100644 --- a/programs/x509/crl_app.c +++ b/programs/x509/crl_app.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_X509_CRL_PARSE_C) || !defined(MBEDTLS_FS_IO) || \ diff --git a/programs/x509/load_roots.c b/programs/x509/load_roots.c index e07bed7211..b8b0ecdee5 100644 --- a/programs/x509/load_roots.c +++ b/programs/x509/load_roots.c @@ -46,19 +46,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_time time -#define mbedtls_time_t time_t -#define mbedtls_fprintf fprintf -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_FS_IO) || \ !defined(MBEDTLS_TIMING_C) diff --git a/programs/x509/req_app.c b/programs/x509/req_app.c index 24324ff3d6..dda14e1e36 100644 --- a/programs/x509/req_app.c +++ b/programs/x509/req_app.c @@ -19,16 +19,7 @@ #include "mbedtls/build_info.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#include -#define mbedtls_printf printf -#define mbedtls_exit exit -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif /* MBEDTLS_PLATFORM_C */ #if !defined(MBEDTLS_BIGNUM_C) || !defined(MBEDTLS_RSA_C) || \ !defined(MBEDTLS_X509_CSR_PARSE_C) || !defined(MBEDTLS_FS_IO) || \ diff --git a/scripts/abi_check.py b/scripts/abi_check.py index c2288432ce..ac1d60ffd0 100755 --- a/scripts/abi_check.py +++ b/scripts/abi_check.py @@ -113,6 +113,8 @@ import xml.etree.ElementTree as ET +from mbedtls_dev import build_tree + class AbiChecker: """API and ABI checker.""" @@ -150,11 +152,6 @@ def __init__(self, old_version, new_version, configuration): self.git_command = "git" self.make_command = "make" - @staticmethod - def check_repo_path(): - if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): - raise Exception("Must be run from Mbed TLS root") - def _setup_logger(self): self.log = logging.getLogger() if self.verbose: @@ -540,7 +537,7 @@ def get_abi_compatibility_report(self): def check_for_abi_changes(self): """Generate a report of ABI differences between self.old_rev and self.new_rev.""" - self.check_repo_path() + build_tree.check_repo_path() if self.check_api or self.check_abi: self.check_abi_tools_are_installed() self._get_abi_dump_for_ref(self.old_version) diff --git a/scripts/assemble_changelog.py b/scripts/assemble_changelog.py index 7b036aa516..f3aca7070b 100755 --- a/scripts/assemble_changelog.py +++ b/scripts/assemble_changelog.py @@ -122,7 +122,7 @@ def format_category(cls, title, body): class TextChangelogFormat(ChangelogFormat): """The traditional Mbed TLS changelog format.""" - _unreleased_version_text = '= mbed TLS x.x.x branch released xxxx-xx-xx' + _unreleased_version_text = '= Mbed TLS x.x.x branch released xxxx-xx-xx' @classmethod def is_released_version(cls, title): # Look for an incomplete release date diff --git a/scripts/bump_version.sh b/scripts/bump_version.sh index f5d7033a45..7fc8c6c76c 100755 --- a/scripts/bump_version.sh +++ b/scripts/bump_version.sh @@ -96,7 +96,7 @@ then mv tmp library/CMakeLists.txt [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedcrypto in library/Makefile" - sed -e "s/SOEXT_CRYPTO=so.[0-9]\{1,\}/SOEXT_CRYPTO=so.$SO_CRYPTO/g" < library/Makefile > tmp + sed -e "s/SOEXT_CRYPTO?=so.[0-9]\{1,\}/SOEXT_CRYPTO?=so.$SO_CRYPTO/g" < library/Makefile > tmp mv tmp library/Makefile fi @@ -107,7 +107,7 @@ then mv tmp library/CMakeLists.txt [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedx509 in library/Makefile" - sed -e "s/SOEXT_X509=so.[0-9]\{1,\}/SOEXT_X509=so.$SO_X509/g" < library/Makefile > tmp + sed -e "s/SOEXT_X509?=so.[0-9]\{1,\}/SOEXT_X509?=so.$SO_X509/g" < library/Makefile > tmp mv tmp library/Makefile fi @@ -118,7 +118,7 @@ then mv tmp library/CMakeLists.txt [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedtls in library/Makefile" - sed -e "s/SOEXT_TLS=so.[0-9]\{1,\}/SOEXT_TLS=so.$SO_TLS/g" < library/Makefile > tmp + sed -e "s/SOEXT_TLS?=so.[0-9]\{1,\}/SOEXT_TLS?=so.$SO_TLS/g" < library/Makefile > tmp mv tmp library/Makefile fi diff --git a/scripts/code_size_compare.py b/scripts/code_size_compare.py index 0ef438db7c..af6ddd4fcb 100755 --- a/scripts/code_size_compare.py +++ b/scripts/code_size_compare.py @@ -30,6 +30,9 @@ import subprocess import sys +from mbedtls_dev import build_tree + + class CodeSizeComparison: """Compare code size between two Git revisions.""" @@ -51,11 +54,6 @@ def __init__(self, old_revision, new_revision, result_dir): self.git_command = "git" self.make_command = "make" - @staticmethod - def check_repo_path(): - if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): - raise Exception("Must be run from Mbed TLS root") - @staticmethod def validate_revision(revision): result = subprocess.check_output(["git", "rev-parse", "--verify", @@ -172,7 +170,7 @@ def compare_code_size(self): def get_comparision_results(self): """Compare size of library/*.o between self.old_rev and self.new_rev, and generate the result file.""" - self.check_repo_path() + build_tree.check_repo_path() self._get_code_size_for_rev(self.old_rev) self._get_code_size_for_rev(self.new_rev) return self.compare_code_size() diff --git a/scripts/config.py b/scripts/config.py index f045f98f95..7e58acd0a4 100755 --- a/scripts/config.py +++ b/scripts/config.py @@ -7,6 +7,11 @@ if 'MBEDTLS_RSA_C' in config: print('RSA is enabled') """ +# Note that as long as Mbed TLS 2.28 LTS is maintained, the version of +# this script in the mbedtls-2.28 branch must remain compatible with +# Python 3.4. The version in development may only use more recent features +# in parts that are not backported to 2.28. + ## Copyright The Mbed TLS Contributors ## SPDX-License-Identifier: Apache-2.0 ## @@ -306,6 +311,7 @@ def include_in_crypto(name): if name in [ 'MBEDTLS_DEBUG_C', # part of libmbedtls 'MBEDTLS_NET_C', # part of libmbedtls + 'MBEDTLS_PKCS7_C', # part of libmbedx509 ]: return False return True diff --git a/scripts/data_files/driver_jsons/driver_opaque_schema.json b/scripts/data_files/driver_jsons/driver_opaque_schema.json new file mode 100644 index 0000000000..933eb07488 --- /dev/null +++ b/scripts/data_files/driver_jsons/driver_opaque_schema.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "_comment": { + "type": "string" + }, + "prefix": { + "type": "string", + "pattern": "^[A-Z_a-z][0-9A-Z_a-z]*$" + }, + "type": { + "type": "string", + "const": ["opaque"] + }, + "location": { + "type": ["integer","string"], + "pattern": "^(0x|0X)?[a-fA-F0-9]+$" + }, + "mbedtls/h_condition": { + "type": "string" + }, + "headers": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "capabilities": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "_comment": { + "type": "string" + }, + "mbedtls/c_condition": { + "type": "string" + }, + "entry_points": { + "type": "array", + "items": { + "type": "string" + } + }, + "names": { + "type": "object", + "patternProperties": { + "^[A-Z_a-z][0-9A-Z_a-z]*$": { + "type": "string", + "pattern": "^[A-Z_a-z][0-9A-Z_a-z]*$" + } + } + } + }, + "required": [ + "entry_points" + ] + } + ] + } + }, + "required": [ + "prefix", + "type", + "location", + "capabilities" + ] +} diff --git a/scripts/data_files/driver_jsons/driver_transparent_schema.json b/scripts/data_files/driver_jsons/driver_transparent_schema.json new file mode 100644 index 0000000000..f5d91eb321 --- /dev/null +++ b/scripts/data_files/driver_jsons/driver_transparent_schema.json @@ -0,0 +1,70 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "_comment": { + "type": "string" + }, + "prefix": { + "type": "string", + "pattern": "^[A-Z_a-z][0-9A-Z_a-z]*$" + }, + "type": { + "type": "string", + "const": ["transparent"] + }, + "mbedtls/h_condition": { + "type": "string" + }, + "headers": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "capabilities": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "_comment": { + "type": "string" + }, + "mbedtls/c_condition": { + "type": "string" + }, + "entry_points": { + "type": "array", + "items": { + "type": "string" + } + }, + "names": { + "type": "object", + "patternProperties": { + "^[A-Z_a-z][0-9A-Z_a-z]*$": { + "type": "string", + "pattern": "^[A-Z_a-z][0-9A-Z_a-z]*$" + } + } + }, + "fallback": { + "type": "boolean", + "default": "false" + } + }, + "required": [ + "entry_points" + ] + } + ] + } + }, + "required": [ + "prefix", + "type", + "capabilities" + ] +} diff --git a/scripts/data_files/driver_jsons/driverlist.json b/scripts/data_files/driver_jsons/driverlist.json new file mode 100644 index 0000000000..50ad81604a --- /dev/null +++ b/scripts/data_files/driver_jsons/driverlist.json @@ -0,0 +1 @@ +["mbedtls_test_opaque_driver.json","mbedtls_test_transparent_driver.json"] diff --git a/scripts/data_files/driver_jsons/mbedtls_test_opaque_driver.json b/scripts/data_files/driver_jsons/mbedtls_test_opaque_driver.json new file mode 100644 index 0000000000..41c74f2db1 --- /dev/null +++ b/scripts/data_files/driver_jsons/mbedtls_test_opaque_driver.json @@ -0,0 +1,20 @@ +{ + "prefix": "mbedtls_test", + "type": "opaque", + "location": "0x7fffff", + "mbedtls/h_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "headers": ["test/drivers/test_driver.h"], + "capabilities": [ + { + "_comment": "The Mbed TLS opaque driver supports import key/export key/export_public key", + "mbedtls/c_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "entry_points": ["import_key", "export_key", "export_public_key"] + }, + { + "_comment": "The Mbed TLS opaque driver supports copy key/ get builtin key", + "mbedtls/c_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "entry_points": ["copy_key", "get_builtin_key"], + "names": {"copy_key":"mbedtls_test_opaque_copy_key", "get_builtin_key":"mbedtls_test_opaque_get_builtin_key"} + } + ] +} diff --git a/scripts/data_files/driver_jsons/mbedtls_test_transparent_driver.json b/scripts/data_files/driver_jsons/mbedtls_test_transparent_driver.json new file mode 100644 index 0000000000..9eb259f655 --- /dev/null +++ b/scripts/data_files/driver_jsons/mbedtls_test_transparent_driver.json @@ -0,0 +1,22 @@ +{ + "prefix": "mbedtls_test", + "type": "transparent", + "mbedtls/h_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "headers": ["test/drivers/test_driver.h"], + "capabilities": [ + { + "_comment": "The Mbed TLS transparent driver supports import key/export key", + "mbedtls/c_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "entry_points": ["import_key", "export_key"], + "fallback": true + }, + { + "_comment": "The Mbed TLS transparent driver supports export_public key", + "mbedtls/c_condition": "defined(PSA_CRYPTO_DRIVER_TEST)", + "entry_points": ["export_public_key"], + "fallback": true, + "names": {"export_public_key":"mbedtls_test_transparent_export_public_key"} + } + + ] +} diff --git a/scripts/data_files/driver_templates/OS-template-opaque.jinja b/scripts/data_files/driver_templates/OS-template-opaque.jinja new file mode 100644 index 0000000000..a25d1c3719 --- /dev/null +++ b/scripts/data_files/driver_templates/OS-template-opaque.jinja @@ -0,0 +1,17 @@ +{# One Shot function's dispatch code for opaque drivers. +Expected inputs: +* drivers: the list of driver descriptions. +* entry_point: the name of the entry point that this function dispatches to. +* entry_point_param(driver): the parameters to pass to the entry point. +* nest_indent: number of extra spaces to indent the code to. +-#} +{% for driver in drivers if driver.type == "opaque" -%} +{% for capability in driver.capabilities if entry_point in capability.entry_points -%} +#if ({% if capability['mbedtls/c_condition'] is defined -%}{{ capability['mbedtls/c_condition'] }} {% else -%} {{ 1 }} {% endif %}) +{%- filter indent(width = nest_indent) %} +case {{ driver.location }}: + return( {{ entry_point_name(capability, entry_point, driver) }}({{entry_point_param(driver) | indent(20)}})); +{% endfilter -%} +#endif +{% endfor %} +{% endfor %} diff --git a/scripts/data_files/driver_templates/OS-template-transparent.jinja b/scripts/data_files/driver_templates/OS-template-transparent.jinja new file mode 100644 index 0000000000..a6b7d69053 --- /dev/null +++ b/scripts/data_files/driver_templates/OS-template-transparent.jinja @@ -0,0 +1,19 @@ +{# One Shot function's dispatch code for transparent drivers. +Expected inputs: +* drivers: the list of driver descriptions. +* entry_point: the name of the entry point that this function dispatches to. +* entry_point_param(driver): the parameters to pass to the entry point. +* nest_indent: number of extra spaces to indent the code to. +-#} +{% for driver in drivers if driver.type == "transparent" -%} +{% for capability in driver.capabilities if entry_point in capability.entry_points -%} +#if ({% if capability['mbedtls/c_condition'] is defined -%}{{ capability['mbedtls/c_condition'] }} {% else -%} {{ 1 }} {% endif %}) +{%- filter indent(width = nest_indent) %} +status = {{ entry_point_name(capability, entry_point, driver) }}({{entry_point_param(driver) | indent(20)}}); + +if( status != PSA_ERROR_NOT_SUPPORTED ) + return( status ); +{% endfilter -%} +#endif +{% endfor %} +{% endfor %} diff --git a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja index a5ae6a29e4..3ad92aaefb 100644 --- a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja +++ b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja @@ -1,7 +1,7 @@ /* * Functions to delegate cryptographic operations to an available * and appropriate accelerator. - * Warning: This file will be auto-generated in the future. + * Warning: This file is now auto-generated. */ /* Copyright The Mbed TLS Contributors * SPDX-License-Identifier: Apache-2.0 @@ -19,6 +19,8 @@ * limitations under the License. */ + +/* BEGIN-common headers */ #include "common.h" #include "psa_crypto_aead.h" #include "psa_crypto_cipher.h" @@ -29,34 +31,46 @@ #include "psa_crypto_rsa.h" #include "mbedtls/platform.h" +/* END-common headers */ #if defined(MBEDTLS_PSA_CRYPTO_C) +/* BEGIN-driver headers */ #if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) - -/* Include test driver definition when running tests */ -#if defined(PSA_CRYPTO_DRIVER_TEST) -#ifndef PSA_CRYPTO_DRIVER_PRESENT -#define PSA_CRYPTO_DRIVER_PRESENT -#endif -#ifndef PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT -#define PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT +{% for driver in drivers -%} +/* Headers for {{driver.prefix}} {{driver.type}} driver */ +{% if driver['mbedtls/h_condition'] is defined -%} +#if {{ driver['mbedtls/h_condition'] }} +{% endif -%} +{% for header in driver.headers -%} +#include "{{ header }}" +{% endfor %} +{% if driver['mbedtls/h_condition'] is defined -%} #endif -#include "test/drivers/test_driver.h" -#endif /* PSA_CRYPTO_DRIVER_TEST */ - -/* Repeat above block for each JSON-declared driver during autogeneration */ +{% endif -%} +{% endfor %} #endif /* MBEDTLS_PSA_CRYPTO_DRIVERS */ +/* END-driver headers */ /* Auto-generated values depending on which drivers are registered. * ID 0 is reserved for unallocated operations. * ID 1 is reserved for the Mbed TLS software driver. */ +/* BEGIN-driver id definition */ #define PSA_CRYPTO_MBED_TLS_DRIVER_ID (1) - -#if defined(PSA_CRYPTO_DRIVER_TEST) -#define PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID (2) -#define PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID (3) -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% for driver in drivers -%} +#define {{(driver.prefix + "_" + driver.type + "_driver_id").upper()}} ({{ loop.index + 1 }}) +{% endfor %} +/* END-driver id */ + +/* BEGIN-Common Macro definitions */ +{% macro entry_point_name(capability, entry_point, driver) -%} + {% if capability.name is defined and entry_point in capability.names.keys() -%} + {{ capability.names[entry_point]}} + {% else -%} + {{driver.prefix}}_{{driver.type}}_{{entry_point}} + {% endif -%} +{% endmacro %} +/* END-Common Macro definitions */ /* Support the 'old' SE interface when asked to */ #if defined(MBEDTLS_PSA_CRYPTO_SE_C) @@ -592,6 +606,16 @@ psa_status_t psa_driver_wrapper_import_key( size_t *key_buffer_length, size_t *bits ) { +{% with entry_point = "import_key" -%} +{% macro entry_point_param(driver) -%} +attributes, +data, +data_length, +key_buffer, +key_buffer_size, +key_buffer_length, +bits +{% endmacro %} psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -631,17 +655,11 @@ psa_status_t psa_driver_wrapper_import_key( /* Key is stored in the slot in export representation, so * cycle through all known transparent accelerators */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - status = mbedtls_test_transparent_import_key( - attributes, - data, data_length, - key_buffer, key_buffer_size, - key_buffer_length, bits ); - /* Declared with fallback == true */ - if( status != PSA_ERROR_NOT_SUPPORTED ) - return( status ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=12 %} +{% include "OS-template-transparent.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + /* Fell through, meaning no accelerator supports this operation */ return( psa_import_key_into_slot( attributes, data, data_length, @@ -649,20 +667,15 @@ psa_status_t psa_driver_wrapper_import_key( key_buffer_length, bits ) ); /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_import_key( - attributes, - data, data_length, - key_buffer, key_buffer_size, - key_buffer_length, bits ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=8 %} +{% include "OS-template-opaque.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: (void)status; return( PSA_ERROR_INVALID_ARGUMENT ); } - +{% endwith %} } psa_status_t psa_driver_wrapper_export_key( @@ -671,6 +684,15 @@ psa_status_t psa_driver_wrapper_export_key( uint8_t *data, size_t data_size, size_t *data_length ) { +{% with entry_point = "export_key" -%} +{% macro entry_point_param(driver) -%} +attributes, +key_buffer, +key_buffer_size, +data, +data_size, +data_length +{% endmacro %} psa_status_t status = PSA_ERROR_INVALID_ARGUMENT; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -707,20 +729,15 @@ psa_status_t psa_driver_wrapper_export_key( /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_export_key( attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=8 %} +{% include "OS-template-opaque.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: /* Key is declared with a lifetime not known to us */ return( status ); } +{% endwith %} } psa_status_t psa_driver_wrapper_export_public_key( @@ -729,6 +746,15 @@ psa_status_t psa_driver_wrapper_export_public_key( uint8_t *data, size_t data_size, size_t *data_length ) { +{% with entry_point = "export_public_key" -%} +{% macro entry_point_param(driver) -%} +attributes, +key_buffer, +key_buffer_size, +data, +data_size, +data_length +{% endmacro %} psa_status_t status = PSA_ERROR_INVALID_ARGUMENT; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( psa_get_key_lifetime( attributes ) ); @@ -759,18 +785,9 @@ psa_status_t psa_driver_wrapper_export_public_key( /* Key is stored in the slot in export representation, so * cycle through all known transparent accelerators */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - status = mbedtls_test_transparent_export_public_key( - attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ); - /* Declared with fallback == true */ - if( status != PSA_ERROR_NOT_SUPPORTED ) - return( status ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=12 %} +{% include "OS-template-transparent.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ /* Fell through, meaning no accelerator supports this operation */ return( psa_export_public_key_internal( attributes, @@ -782,20 +799,15 @@ psa_status_t psa_driver_wrapper_export_public_key( /* Add cases for opaque driver here */ #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_export_public_key( attributes, - key_buffer, - key_buffer_size, - data, - data_size, - data_length ) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=8 %} +{% include "OS-template-opaque.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: /* Key is declared with a lifetime not known to us */ return( status ); } +{% endwith %} } psa_status_t psa_driver_wrapper_get_builtin_key( @@ -803,15 +815,21 @@ psa_status_t psa_driver_wrapper_get_builtin_key( psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length ) { +{% with entry_point = "get_builtin_key" -%} +{% macro entry_point_param(driver) -%} +slot_number, +attributes, +key_buffer, +key_buffer_size, +key_buffer_length +{% endmacro %} psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); switch( location ) { #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_get_builtin_key( - slot_number, - attributes, - key_buffer, key_buffer_size, key_buffer_length ) ); +{% with nest_indent=8 %} +{% include "OS-template-opaque.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_DRIVER_TEST */ default: (void) slot_number; @@ -820,6 +838,7 @@ psa_status_t psa_driver_wrapper_get_builtin_key( (void) key_buffer_length; return( PSA_ERROR_DOES_NOT_EXIST ); } +{% endwith %} } psa_status_t psa_driver_wrapper_copy_key( @@ -828,6 +847,15 @@ psa_status_t psa_driver_wrapper_copy_key( uint8_t *target_key_buffer, size_t target_key_buffer_size, size_t *target_key_buffer_length ) { +{% with entry_point = "copy_key" -%} +{% macro entry_point_param(driver) -%} +attributes, +source_key, +source_key_length, +target_key_buffer, +target_key_buffer_size, +target_key_buffer_length +{% endmacro %} psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; psa_key_location_t location = PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); @@ -846,14 +874,9 @@ psa_status_t psa_driver_wrapper_copy_key( switch( location ) { #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TEST_DRIVER_LOCATION: - return( mbedtls_test_opaque_copy_key( attributes, source_key, - source_key_length, - target_key_buffer, - target_key_buffer_size, - target_key_buffer_length) ); -#endif /* PSA_CRYPTO_DRIVER_TEST */ +{% with nest_indent=8 %} +{% include "OS-template-opaque.jinja" -%} +{% endwith -%} #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ default: (void)source_key; @@ -864,6 +887,7 @@ psa_status_t psa_driver_wrapper_copy_key( status = PSA_ERROR_INVALID_ARGUMENT; } return( status ); +{% endwith %} } /* @@ -1068,7 +1092,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1100,7 +1124,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -1141,7 +1165,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1172,7 +1196,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -1204,12 +1228,12 @@ psa_status_t psa_driver_wrapper_cipher_set_iv( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_set_iv( &operation->ctx.transparent_test_driver_ctx, iv, iv_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_set_iv( &operation->ctx.opaque_test_driver_ctx, iv, iv_length ) ); @@ -1245,13 +1269,13 @@ psa_status_t psa_driver_wrapper_cipher_update( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_update( &operation->ctx.transparent_test_driver_ctx, input, input_length, output, output_size, output_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_update( &operation->ctx.opaque_test_driver_ctx, input, input_length, @@ -1287,12 +1311,12 @@ psa_status_t psa_driver_wrapper_cipher_finish( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_cipher_finish( &operation->ctx.transparent_test_driver_ctx, output, output_size, output_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_cipher_finish( &operation->ctx.opaque_test_driver_ctx, output, output_size, output_length ) ); @@ -1321,7 +1345,7 @@ psa_status_t psa_driver_wrapper_cipher_abort( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: status = mbedtls_test_transparent_cipher_abort( &operation->ctx.transparent_test_driver_ctx ); mbedtls_platform_zeroize( @@ -1329,7 +1353,7 @@ psa_status_t psa_driver_wrapper_cipher_abort( sizeof( operation->ctx.transparent_test_driver_ctx ) ); return( status ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: status = mbedtls_test_opaque_cipher_abort( &operation->ctx.opaque_test_driver_ctx ); mbedtls_platform_zeroize( @@ -1394,7 +1418,7 @@ psa_status_t psa_driver_wrapper_hash_setup( status = mbedtls_test_transparent_hash_setup( &operation->ctx.test_driver_ctx, alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -1429,8 +1453,8 @@ psa_status_t psa_driver_wrapper_hash_clone( &target_operation->ctx.mbedtls_ctx ) ); #endif #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: - target_operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: + target_operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; return( mbedtls_test_transparent_hash_clone( &source_operation->ctx.test_driver_ctx, &target_operation->ctx.test_driver_ctx ) ); @@ -1454,7 +1478,7 @@ psa_status_t psa_driver_wrapper_hash_update( input, input_length ) ); #endif #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_update( &operation->ctx.test_driver_ctx, input, input_length ) ); @@ -1480,7 +1504,7 @@ psa_status_t psa_driver_wrapper_hash_finish( hash, hash_size, hash_length ) ); #endif #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_finish( &operation->ctx.test_driver_ctx, hash, hash_size, hash_length ) ); @@ -1503,7 +1527,7 @@ psa_status_t psa_driver_wrapper_hash_abort( return( mbedtls_psa_hash_abort( &operation->ctx.mbedtls_ctx ) ); #endif #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_hash_abort( &operation->ctx.test_driver_ctx ) ); #endif @@ -1616,22 +1640,6 @@ psa_status_t psa_driver_wrapper_aead_decrypt( } } -psa_status_t psa_driver_get_tag_len( psa_aead_operation_t *operation, - uint8_t *tag_len ) -{ - if( operation == NULL || tag_len == NULL ) - return( PSA_ERROR_INVALID_ARGUMENT ); - -#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) -#if defined(PSA_CRYPTO_DRIVER_TEST) - *tag_len = operation->ctx.transparent_test_driver_ctx.tag_length; - return ( PSA_SUCCESS ); -#endif -#endif - *tag_len = operation->ctx.mbedtls_ctx.tag_length; - return ( PSA_SUCCESS ); -} - psa_status_t psa_driver_wrapper_aead_encrypt_setup( psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, @@ -1650,7 +1658,7 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; status = mbedtls_test_transparent_aead_encrypt_setup( &operation->ctx.transparent_test_driver_ctx, attributes, key_buffer, key_buffer_size, @@ -1698,7 +1706,7 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; status = mbedtls_test_transparent_aead_decrypt_setup( &operation->ctx.transparent_test_driver_ctx, attributes, @@ -1747,7 +1755,7 @@ psa_status_t psa_driver_wrapper_aead_set_nonce( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_set_nonce( &operation->ctx.transparent_test_driver_ctx, nonce, nonce_length ) ); @@ -1781,7 +1789,7 @@ psa_status_t psa_driver_wrapper_aead_set_lengths( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_set_lengths( &operation->ctx.transparent_test_driver_ctx, ad_length, plaintext_length ) ); @@ -1815,7 +1823,7 @@ psa_status_t psa_driver_wrapper_aead_update_ad( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_update_ad( &operation->ctx.transparent_test_driver_ctx, input, input_length ) ); @@ -1853,7 +1861,7 @@ psa_status_t psa_driver_wrapper_aead_update( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_update( &operation->ctx.transparent_test_driver_ctx, input, input_length, output, output_size, @@ -1897,7 +1905,7 @@ psa_status_t psa_driver_wrapper_aead_finish( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_finish( &operation->ctx.transparent_test_driver_ctx, ciphertext, ciphertext_size, @@ -1961,7 +1969,7 @@ psa_status_t psa_driver_wrapper_aead_verify( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_verify( &operation->ctx.transparent_test_driver_ctx, plaintext, plaintext_size, @@ -1995,7 +2003,7 @@ psa_status_t psa_driver_wrapper_aead_abort( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_aead_abort( &operation->ctx.transparent_test_driver_ctx ) ); @@ -2104,7 +2112,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -2135,7 +2143,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2176,7 +2184,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup( alg ); /* Declared with fallback == true */ if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_TRANSPARENT_DRIVER_ID; if( status != PSA_ERROR_NOT_SUPPORTED ) return( status ); @@ -2207,7 +2215,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup( alg ); if( status == PSA_SUCCESS ) - operation->id = PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID; + operation->id = MBEDTLS_TEST_OPAQUE_DRIVER_ID; return( status ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2238,12 +2246,12 @@ psa_status_t psa_driver_wrapper_mac_update( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_update( &operation->ctx.transparent_test_driver_ctx, input, input_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_update( &operation->ctx.opaque_test_driver_ctx, input, input_length ) ); @@ -2272,12 +2280,12 @@ psa_status_t psa_driver_wrapper_mac_sign_finish( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_sign_finish( &operation->ctx.transparent_test_driver_ctx, mac, mac_size, mac_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_sign_finish( &operation->ctx.opaque_test_driver_ctx, mac, mac_size, mac_length ) ); @@ -2306,12 +2314,12 @@ psa_status_t psa_driver_wrapper_mac_verify_finish( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_verify_finish( &operation->ctx.transparent_test_driver_ctx, mac, mac_length ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_verify_finish( &operation->ctx.opaque_test_driver_ctx, mac, mac_length ) ); @@ -2336,10 +2344,10 @@ psa_status_t psa_driver_wrapper_mac_abort( #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) #if defined(PSA_CRYPTO_DRIVER_TEST) - case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID: + case MBEDTLS_TEST_TRANSPARENT_DRIVER_ID: return( mbedtls_test_transparent_mac_abort( &operation->ctx.transparent_test_driver_ctx ) ); - case PSA_CRYPTO_OPAQUE_TEST_DRIVER_ID: + case MBEDTLS_TEST_OPAQUE_DRIVER_ID: return( mbedtls_test_opaque_mac_abort( &operation->ctx.opaque_test_driver_ctx ) ); #endif /* PSA_CRYPTO_DRIVER_TEST */ @@ -2468,4 +2476,72 @@ psa_status_t psa_driver_wrapper_asymmetric_decrypt( } } +psa_status_t psa_driver_wrapper_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length + ) + { + psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; + psa_key_location_t location = + PSA_KEY_LIFETIME_GET_LOCATION( attributes->core.lifetime ); + + switch( location ) + { + case PSA_KEY_LOCATION_LOCAL_STORAGE: + /* Key is stored in the slot in export representation, so + * cycle through all known transparent accelerators */ +#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) +#if defined(PSA_CRYPTO_DRIVER_TEST) + status = + mbedtls_test_transparent_key_agreement( attributes, + key_buffer, key_buffer_size, alg, peer_key, + peer_key_length, shared_secret, shared_secret_size, + shared_secret_length ); + if( status != PSA_ERROR_NOT_SUPPORTED ) + return( status ); +#endif /* PSA_CRYPTO_DRIVER_TEST */ +#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + + /* Software Fallback */ + status = psa_key_agreement_raw_builtin( attributes, + key_buffer, + key_buffer_size, + alg, + peer_key, + peer_key_length, + shared_secret, + shared_secret_size, + shared_secret_length ); + return( status ); +#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT) +#if defined(PSA_CRYPTO_DRIVER_TEST) + case PSA_CRYPTO_TEST_DRIVER_LOCATION: + return( mbedtls_test_opaque_key_agreement( attributes, + key_buffer, key_buffer_size, alg, peer_key, + peer_key_length, shared_secret, shared_secret_size, + shared_secret_length ) ); +#endif /* PSA_CRYPTO_DRIVER_TEST */ +#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */ + + default: + (void) attributes; + (void) key_buffer; + (void) key_buffer_size; + (void) peer_key; + (void) peer_key_length; + (void) shared_secret; + (void) shared_secret_size; + (void) shared_secret_length; + return( PSA_ERROR_NOT_SUPPORTED ); + + } + } + #endif /* MBEDTLS_PSA_CRYPTO_C */ diff --git a/scripts/data_files/error.fmt b/scripts/data_files/error.fmt index 3be94bd2c4..fc210b9084 100644 --- a/scripts/data_files/error.fmt +++ b/scripts/data_files/error.fmt @@ -25,11 +25,7 @@ #if defined(MBEDTLS_ERROR_C) -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#define mbedtls_snprintf snprintf -#endif #include #include @@ -150,7 +146,7 @@ void mbedtls_strerror( int ret, char *buf, size_t buflen ) #else /* MBEDTLS_ERROR_C */ /* - * Provide an non-function in case MBEDTLS_ERROR_C is not defined + * Provide a dummy implementation when MBEDTLS_ERROR_C is not defined */ void mbedtls_strerror( int ret, char *buf, size_t buflen ) { diff --git a/scripts/data_files/query_config.fmt b/scripts/data_files/query_config.fmt index fa124f0da4..b5d3eec952 100644 --- a/scripts/data_files/query_config.fmt +++ b/scripts/data_files/query_config.fmt @@ -21,17 +21,16 @@ #include "query_config.h" -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ /* * Include all the headers with public APIs in case they define a macro to its - * default value when that configuration is not set in the mbedtls_config.h. + * default value when that configuration is not set in mbedtls_config.h, or + * for PSA_WANT macros, in case they're auto-defined based on mbedtls_config.h + * rather than defined directly in crypto_config.h. */ +#include "psa/crypto.h" + #include "mbedtls/aes.h" #include "mbedtls/aria.h" #include "mbedtls/asn1.h" diff --git a/scripts/driver.requirements.txt b/scripts/driver.requirements.txt index 5364d8efab..9e26b3c1c4 100644 --- a/scripts/driver.requirements.txt +++ b/scripts/driver.requirements.txt @@ -15,4 +15,5 @@ Jinja2 >= 2.10.1; python_version < '3.10' Jinja2 >= 2.10.3; python_version >= '3.10' # Jinja2 >=2.10, <3.0 needs a separate package for type annotations types-Jinja2 - +jsonschema >= 3.2.0 +types-jsonschema diff --git a/scripts/generate_driver_wrappers.py b/scripts/generate_driver_wrappers.py index 71b881e37a..e0c479350c 100755 --- a/scripts/generate_driver_wrappers.py +++ b/scripts/generate_driver_wrappers.py @@ -22,54 +22,194 @@ import sys import os +import json +from typing import NewType, Dict, Any +from traceback import format_tb import argparse +import jsonschema import jinja2 from mbedtls_dev import build_tree -def render(template_path: str) -> str: +JSONSchema = NewType('JSONSchema', object) +# The Driver is an Object, but practically it's indexable and can called a dictionary to +# keep MyPy happy till MyPy comes with a more composite type for JsonObjects. +Driver = NewType('Driver', dict) + + +class JsonValidationException(Exception): + def __init__(self, message="Json Validation Failed"): + self.message = message + super().__init__(self.message) + + +class DriverReaderException(Exception): + def __init__(self, message="Driver Reader Failed"): + self.message = message + super().__init__(self.message) + + +def render(template_path: str, driver_jsoncontext: list) -> str: """ - Render template from the input file. + Render template from the input file and driver JSON. """ environment = jinja2.Environment( loader=jinja2.FileSystemLoader(os.path.dirname(template_path)), keep_trailing_newline=True) template = environment.get_template(os.path.basename(template_path)) - return template.render() + return template.render(drivers=driver_jsoncontext) + -def generate_driver_wrapper_file(mbedtls_root: str, output_dir: str) -> None: +def generate_driver_wrapper_file(template_dir: str, + output_dir: str, + driver_jsoncontext: list) -> None: """ Generate the file psa_crypto_driver_wrapper.c. """ driver_wrapper_template_filename = \ - os.path.join(mbedtls_root, \ - "scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja") + os.path.join(template_dir, "psa_crypto_driver_wrappers.c.jinja") - result = render(driver_wrapper_template_filename) + result = render(driver_wrapper_template_filename, driver_jsoncontext) - with open(os.path.join(output_dir, "psa_crypto_driver_wrappers.c"), 'w') as out_file: + with open(file=os.path.join(output_dir, "psa_crypto_driver_wrappers.c"), + mode='w', + encoding='UTF-8') as out_file: out_file.write(result) + +def validate_json(driverjson_data: Driver, driverschema_list: dict) -> None: + """ + Validate the Driver JSON against an appropriate schema + the schema passed could be that matching an opaque/ transparent driver. + """ + driver_type = driverjson_data["type"] + driver_prefix = driverjson_data["prefix"] + try: + _schema = driverschema_list[driver_type] + jsonschema.validate(instance=driverjson_data, schema=_schema) + except KeyError as err: + # This could happen if the driverjson_data.type does not exist in the provided schema list + # schemas = {'transparent': transparent_driver_schema, 'opaque': opaque_driver_schema} + # Print onto stdout and stderr. + print("Unknown Driver type " + driver_type + + " for driver " + driver_prefix, str(err)) + print("Unknown Driver type " + driver_type + + " for driver " + driver_prefix, str(err), file=sys.stderr) + raise JsonValidationException() from err + + except jsonschema.exceptions.ValidationError as err: + # Print onto stdout and stderr. + print("Error: Failed to validate data file: {} using schema: {}." + "\n Exception Message: \"{}\"" + " ".format(driverjson_data, _schema, str(err))) + print("Error: Failed to validate data file: {} using schema: {}." + "\n Exception Message: \"{}\"" + " ".format(driverjson_data, _schema, str(err)), file=sys.stderr) + raise JsonValidationException() from err + + +def load_driver(schemas: Dict[str, Any], driver_file: str) -> Any: + """loads validated json driver""" + with open(file=driver_file, mode='r', encoding='UTF-8') as f: + json_data = json.load(f) + try: + validate_json(json_data, schemas) + except JsonValidationException as e: + raise DriverReaderException from e + return json_data + + +def load_schemas(mbedtls_root: str) -> Dict[str, Any]: + """ + Load schemas map + """ + schema_file_paths = { + 'transparent': os.path.join(mbedtls_root, + 'scripts', + 'data_files', + 'driver_jsons', + 'driver_transparent_schema.json'), + 'opaque': os.path.join(mbedtls_root, + 'scripts', + 'data_files', + 'driver_jsons', + 'driver_opaque_schema.json') + } + driver_schema = {} + for key, file_path in schema_file_paths.items(): + with open(file=file_path, mode='r', encoding='UTF-8') as file: + driver_schema[key] = json.load(file) + return driver_schema + + +def read_driver_descriptions(mbedtls_root: str, + json_directory: str, + jsondriver_list: str) -> list: + """ + Merge driver JSON files into a single ordered JSON after validation. + """ + driver_schema = load_schemas(mbedtls_root) + + with open(file=os.path.join(json_directory, jsondriver_list), + mode='r', + encoding='UTF-8') as driver_list_file: + driver_list = json.load(driver_list_file) + + return [load_driver(schemas=driver_schema, + driver_file=os.path.join(json_directory, driver_file_name)) + for driver_file_name in driver_list] + + +def trace_exception(e: Exception, file=sys.stderr) -> None: + """Prints exception trace to the given TextIO handle""" + print("Exception: type: %s, message: %s, trace: %s" % ( + e.__class__, str(e), format_tb(e.__traceback__) + ), file) + + def main() -> int: """ Main with command line arguments. """ def_arg_mbedtls_root = build_tree.guess_mbedtls_root() - def_arg_output_dir = os.path.join(def_arg_mbedtls_root, 'library') parser = argparse.ArgumentParser() - parser.add_argument('--mbedtls-root', nargs='?', default=def_arg_mbedtls_root, + parser.add_argument('--mbedtls-root', default=def_arg_mbedtls_root, help='root directory of mbedtls source code') + parser.add_argument('--template-dir', + help='directory holding the driver templates') + parser.add_argument('--json-dir', + help='directory holding the driver JSONs') parser.add_argument('output_directory', nargs='?', - default=def_arg_output_dir, help='output file\'s location') + help='output file\'s location') args = parser.parse_args() mbedtls_root = os.path.abspath(args.mbedtls_root) - output_directory = args.output_directory - generate_driver_wrapper_file(mbedtls_root, output_directory) + output_directory = args.output_directory if args.output_directory is not None else \ + os.path.join(mbedtls_root, 'library') + template_directory = args.template_dir if args.template_dir is not None else \ + os.path.join(mbedtls_root, + 'scripts', + 'data_files', + 'driver_templates') + json_directory = args.json_dir if args.json_dir is not None else \ + os.path.join(mbedtls_root, + 'scripts', + 'data_files', + 'driver_jsons') + try: + # Read and validate list of driver jsons from driverlist.json + merged_driver_json = read_driver_descriptions(mbedtls_root, + json_directory, + 'driverlist.json') + except DriverReaderException as e: + trace_exception(e) + return 1 + generate_driver_wrapper_file(template_directory, output_directory, merged_driver_json) return 0 + if __name__ == '__main__': sys.exit(main()) diff --git a/scripts/generate_errors.pl b/scripts/generate_errors.pl index d333f6590f..5395abf419 100755 --- a/scripts/generate_errors.pl +++ b/scripts/generate_errors.pl @@ -47,12 +47,12 @@ my @low_level_modules = qw( AES ARIA ASN1 BASE64 BIGNUM CAMELLIA CCM CHACHA20 CHACHAPOLY CMAC CTR_DRBG DES - ENTROPY ERROR GCM HKDF HMAC_DRBG LMS LMOTS MD5 + ENTROPY ERROR GCM HKDF HMAC_DRBG LMS MD5 NET OID PADLOCK PBKDF2 PLATFORM POLY1305 RIPEMD160 SHA1 SHA256 SHA512 THREADING ); my @high_level_modules = qw( CIPHER DHM ECP MD PEM PK PKCS12 PKCS5 - RSA SSL X509 ); + RSA SSL X509 PKCS7 ); undef $/; @@ -136,6 +136,7 @@ $define_name = "ASN1_PARSE" if ($define_name eq "ASN1"); $define_name = "SSL_TLS" if ($define_name eq "SSL"); $define_name = "PEM_PARSE,PEM_WRITE" if ($define_name eq "PEM"); + $define_name = "PKCS7" if ($define_name eq "PKCS7"); my $include_name = $module_name; $include_name =~ tr/A-Z/a-z/; diff --git a/scripts/generate_query_config.pl b/scripts/generate_query_config.pl index b2ce8fc4c6..ddbebfa448 100755 --- a/scripts/generate_query_config.pl +++ b/scripts/generate_query_config.pl @@ -15,7 +15,7 @@ # function by using the template in scripts/data_files/query_config.fmt. # # Usage: scripts/generate_query_config.pl without arguments, or -# generate_query_config.pl config_file template_file output_file +# generate_query_config.pl mbedtls_config_file template_file output_file [psa_crypto_config_file] # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 @@ -34,22 +34,33 @@ use strict; -my ($config_file, $query_config_format_file, $query_config_file); +my ($mbedtls_config_file, $query_config_format_file, $query_config_file, $psa_crypto_config_file); + +my $default_mbedtls_config_file = "./include/mbedtls/mbedtls_config.h"; +my $default_query_config_format_file = "./scripts/data_files/query_config.fmt"; +my $default_query_config_file = "./programs/test/query_config.c"; +my $default_psa_crypto_config_file = "./include/psa/crypto_config.h"; if( @ARGV ) { die "Invalid number of arguments - usage: $0 [CONFIG_FILE TEMPLATE_FILE OUTPUT_FILE]" if scalar @ARGV != 3; - ($config_file, $query_config_format_file, $query_config_file) = @ARGV; + ($mbedtls_config_file, $query_config_format_file, $query_config_file) = @ARGV; - -f $config_file or die "No such file: $config_file"; + -f $mbedtls_config_file or die "No such file: $mbedtls_config_file"; -f $query_config_format_file or die "No such file: $query_config_format_file"; + if (defined($psa_crypto_config_file) && length($psa_crypto_config_file)) { + -f $psa_crypto_config_file or die "No such file: $psa_crypto_config_file"; + } else { + $psa_crypto_config_file = (-f $default_psa_crypto_config_file) ? $default_psa_crypto_config_file : undef; + } } else { - $config_file = "./include/mbedtls/mbedtls_config.h"; - $query_config_format_file = "./scripts/data_files/query_config.fmt"; - $query_config_file = "./programs/test/query_config.c"; + $mbedtls_config_file = $default_mbedtls_config_file; + $query_config_format_file = $default_query_config_format_file; + $query_config_file = $default_query_config_file; + $psa_crypto_config_file = $default_psa_crypto_config_file; - unless( -f $config_file && -f $query_config_format_file ) { + unless(-f $mbedtls_config_file && -f $query_config_format_file && -f $psa_crypto_config_file) { chdir '..' or die; - -f $config_file && -f $query_config_format_file + -f $mbedtls_config_file && -f $query_config_format_file && -f $psa_crypto_config_file or die "No arguments supplied, must be run from project root or a first-level subdirectory\n"; } } @@ -63,39 +74,50 @@ ); my $excluded_re = join '|', @excluded; -open(CONFIG_FILE, "$config_file") or die "Opening config file '$config_file': $!"; - # This variable will contain the string to replace in the CHECK_CONFIG of the # format file my $config_check = ""; my $list_config = ""; -while (my $line = ) { - if ($line =~ /^(\/\/)?\s*#\s*define\s+(MBEDTLS_\w+).*/) { - my $name = $2; - - # Skip over the macro if it is in the ecluded list - next if $name =~ /$excluded_re/; - - $config_check .= "#if defined($name)\n"; - $config_check .= " if( strcmp( \"$name\", config ) == 0 )\n"; - $config_check .= " {\n"; - $config_check .= " MACRO_EXPANSION_TO_STR( $name );\n"; - $config_check .= " return( 0 );\n"; - $config_check .= " }\n"; - $config_check .= "#endif /* $name */\n"; - $config_check .= "\n"; - - $list_config .= "#if defined($name)\n"; - $list_config .= " OUTPUT_MACRO_NAME_VALUE($name);\n"; - $list_config .= "#endif /* $name */\n"; - $list_config .= "\n"; +for my $config_file ($mbedtls_config_file, $psa_crypto_config_file) { + + next unless defined($config_file); # we might not have been given a PSA crypto config file + + open(CONFIG_FILE, "<", $config_file) or die "Opening config file '$config_file': $!"; + + while (my $line = ) { + if ($line =~ /^(\/\/)?\s*#\s*define\s+(MBEDTLS_\w+|PSA_WANT_\w+).*/) { + my $name = $2; + + # Skip over the macro if it is in the excluded list + next if $name =~ /$excluded_re/; + + $config_check .= <; close(FORMAT_FILE); @@ -104,6 +126,6 @@ $query_config_format =~ s/LIST_CONFIG/$list_config/g; # Rewrite the query_config.c file -open(QUERY_CONFIG_FILE, ">$query_config_file") or die "Opening destination file '$query_config_file': $!"; +open(QUERY_CONFIG_FILE, ">", $query_config_file) or die "Opening destination file '$query_config_file': $!"; print QUERY_CONFIG_FILE $query_config_format; close(QUERY_CONFIG_FILE); diff --git a/scripts/make_generated_files.bat b/scripts/make_generated_files.bat index 662da984c7..e9d92758a6 100644 --- a/scripts/make_generated_files.bat +++ b/scripts/make_generated_files.bat @@ -10,4 +10,5 @@ perl scripts\generate_features.pl || exit /b 1 python scripts\generate_ssl_debug_helpers.py || exit /b 1 perl scripts\generate_visualc_files.pl || exit /b 1 python scripts\generate_psa_constants.py || exit /b 1 +python tests\scripts\generate_bignum_tests.py || exit /b 1 python tests\scripts\generate_psa_tests.py || exit /b 1 diff --git a/scripts/mbedtls_dev/__init__.py b/scripts/mbedtls_dev/__init__.py new file mode 100644 index 0000000000..15b0d60dd3 --- /dev/null +++ b/scripts/mbedtls_dev/__init__.py @@ -0,0 +1,3 @@ +# This file needs to exist to make mbedtls_dev a package. +# Among other things, this allows modules in this directory to make +# relative imports. diff --git a/scripts/mbedtls_dev/bignum_common.py b/scripts/mbedtls_dev/bignum_common.py new file mode 100644 index 0000000000..3ff8b2f35b --- /dev/null +++ b/scripts/mbedtls_dev/bignum_common.py @@ -0,0 +1,375 @@ +"""Common features for bignum in test generation framework.""" +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from abc import abstractmethod +from typing import Iterator, List, Tuple, TypeVar, Any +from itertools import chain + +from . import test_case +from . import test_data_generation +from .bignum_data import INPUTS_DEFAULT, MODULI_DEFAULT + +T = TypeVar('T') #pylint: disable=invalid-name + +def invmod(a: int, n: int) -> int: + """Return inverse of a to modulo n. + + Equivalent to pow(a, -1, n) in Python 3.8+. Implementation is equivalent + to long_invmod() in CPython. + """ + b, c = 1, 0 + while n: + q, r = divmod(a, n) + a, b, c, n = n, c, b - q*c, r + # at this point a is the gcd of the original inputs + if a == 1: + return b + raise ValueError("Not invertible") + +def hex_to_int(val: str) -> int: + """Implement the syntax accepted by mbedtls_test_read_mpi(). + + This is a superset of what is accepted by mbedtls_test_read_mpi_core(). + """ + if val in ['', '-']: + return 0 + return int(val, 16) + +def quote_str(val) -> str: + return "\"{}\"".format(val) + +def bound_mpi(val: int, bits_in_limb: int) -> int: + """First number exceeding number of limbs needed for given input value.""" + return bound_mpi_limbs(limbs_mpi(val, bits_in_limb), bits_in_limb) + +def bound_mpi_limbs(limbs: int, bits_in_limb: int) -> int: + """First number exceeding maximum of given number of limbs.""" + bits = bits_in_limb * limbs + return 1 << bits + +def limbs_mpi(val: int, bits_in_limb: int) -> int: + """Return the number of limbs required to store value.""" + return (val.bit_length() + bits_in_limb - 1) // bits_in_limb + +def combination_pairs(values: List[T]) -> List[Tuple[T, T]]: + """Return all pair combinations from input values.""" + return [(x, y) for x in values for y in values] + +class OperationCommon(test_data_generation.BaseTest): + """Common features for bignum binary operations. + + This adds functionality common in binary operation tests. + + Attributes: + symbol: Symbol to use for the operation in case description. + input_values: List of values to use as test case inputs. These are + combined to produce pairs of values. + input_cases: List of tuples containing pairs of test case inputs. This + can be used to implement specific pairs of inputs. + unique_combinations_only: Boolean to select if test case combinations + must be unique. If True, only A,B or B,A would be included as a test + case. If False, both A,B and B,A would be included. + input_style: Controls the way how test data is passed to the functions + in the generated test cases. "variable" passes them as they are + defined in the python source. "arch_split" pads the values with + zeroes depending on the architecture/limb size. If this is set, + test cases are generated for all architectures. + arity: the number of operands for the operation. Currently supported + values are 1 and 2. + """ + symbol = "" + input_values = INPUTS_DEFAULT # type: List[str] + input_cases = [] # type: List[Any] + unique_combinations_only = False + input_styles = ["variable", "fixed", "arch_split"] # type: List[str] + input_style = "variable" # type: str + limb_sizes = [32, 64] # type: List[int] + arities = [1, 2] + arity = 2 + + def __init__(self, val_a: str, val_b: str = "0", bits_in_limb: int = 32) -> None: + self.val_a = val_a + self.val_b = val_b + # Setting the int versions here as opposed to making them @properties + # provides earlier/more robust input validation. + self.int_a = hex_to_int(val_a) + self.int_b = hex_to_int(val_b) + if bits_in_limb not in self.limb_sizes: + raise ValueError("Invalid number of bits in limb!") + if self.input_style == "arch_split": + self.dependencies = ["MBEDTLS_HAVE_INT{:d}".format(bits_in_limb)] + self.bits_in_limb = bits_in_limb + + @property + def boundary(self) -> int: + if self.arity == 1: + return self.int_a + elif self.arity == 2: + return max(self.int_a, self.int_b) + raise ValueError("Unsupported number of operands!") + + @property + def limb_boundary(self) -> int: + return bound_mpi(self.boundary, self.bits_in_limb) + + @property + def limbs(self) -> int: + return limbs_mpi(self.boundary, self.bits_in_limb) + + @property + def hex_digits(self) -> int: + return 2 * (self.limbs * self.bits_in_limb // 8) + + def format_arg(self, val) -> str: + if self.input_style not in self.input_styles: + raise ValueError("Unknown input style!") + if self.input_style == "variable": + return val + else: + return val.zfill(self.hex_digits) + + def format_result(self, res) -> str: + res_str = '{:x}'.format(res) + return quote_str(self.format_arg(res_str)) + + @property + def arg_a(self) -> str: + return self.format_arg(self.val_a) + + @property + def arg_b(self) -> str: + if self.arity == 1: + raise AttributeError("Operation is unary and doesn't have arg_b!") + return self.format_arg(self.val_b) + + def arguments(self) -> List[str]: + args = [quote_str(self.arg_a)] + if self.arity == 2: + args.append(quote_str(self.arg_b)) + return args + self.result() + + def description(self) -> str: + """Generate a description for the test case. + + If not set, case_description uses the form A `symbol` B, where symbol + is used to represent the operation. Descriptions of each value are + generated to provide some context to the test case. + """ + if not self.case_description: + if self.arity == 1: + self.case_description = "{} {:x}".format( + self.symbol, self.int_a + ) + elif self.arity == 2: + self.case_description = "{:x} {} {:x}".format( + self.int_a, self.symbol, self.int_b + ) + return super().description() + + @property + def is_valid(self) -> bool: + return True + + @abstractmethod + def result(self) -> List[str]: + """Get the result of the operation. + + This could be calculated during initialization and stored as `_result` + and then returned, or calculated when the method is called. + """ + raise NotImplementedError + + @classmethod + def get_value_pairs(cls) -> Iterator[Tuple[str, str]]: + """Generator to yield pairs of inputs. + + Combinations are first generated from all input values, and then + specific cases provided. + """ + if cls.arity == 1: + yield from ((a, "0") for a in cls.input_values) + elif cls.arity == 2: + if cls.unique_combinations_only: + yield from combination_pairs(cls.input_values) + else: + yield from ( + (a, b) + for a in cls.input_values + for b in cls.input_values + ) + else: + raise ValueError("Unsupported number of operands!") + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + if cls.input_style not in cls.input_styles: + raise ValueError("Unknown input style!") + if cls.arity not in cls.arities: + raise ValueError("Unsupported number of operands!") + if cls.input_style == "arch_split": + test_objects = (cls(a, b, bits_in_limb=bil) + for a, b in cls.get_value_pairs() + for bil in cls.limb_sizes) + special_cases = (cls(*args, bits_in_limb=bil) # type: ignore + for args in cls.input_cases + for bil in cls.limb_sizes) + else: + test_objects = (cls(a, b) + for a, b in cls.get_value_pairs()) + special_cases = (cls(*args) for args in cls.input_cases) + yield from (valid_test_object.create_test_case() + for valid_test_object in filter( + lambda test_object: test_object.is_valid, + chain(test_objects, special_cases) + ) + ) + + +class ModOperationCommon(OperationCommon): + #pylint: disable=abstract-method + """Target for bignum mod_raw test case generation.""" + moduli = MODULI_DEFAULT # type: List[str] + + def __init__(self, val_n: str, val_a: str, val_b: str = "0", + bits_in_limb: int = 64) -> None: + super().__init__(val_a=val_a, val_b=val_b, bits_in_limb=bits_in_limb) + self.val_n = val_n + # Setting the int versions here as opposed to making them @properties + # provides earlier/more robust input validation. + self.int_n = hex_to_int(val_n) + + def to_montgomery(self, val: int) -> int: + return (val * self.r) % self.int_n + + def from_montgomery(self, val: int) -> int: + return (val * self.r_inv) % self.int_n + + @property + def boundary(self) -> int: + return self.int_n + + @property + def arg_n(self) -> str: + return self.format_arg(self.val_n) + + def arguments(self) -> List[str]: + return [quote_str(self.arg_n)] + super().arguments() + + @property + def r(self) -> int: # pylint: disable=invalid-name + l = limbs_mpi(self.int_n, self.bits_in_limb) + return bound_mpi_limbs(l, self.bits_in_limb) + + @property + def r_inv(self) -> int: + return invmod(self.r, self.int_n) + + @property + def r2(self) -> int: # pylint: disable=invalid-name + return pow(self.r, 2) + + @property + def is_valid(self) -> bool: + if self.int_a >= self.int_n: + return False + if self.arity == 2 and self.int_b >= self.int_n: + return False + return True + + def description(self) -> str: + """Generate a description for the test case. + + It uses the form A `symbol` B mod N, where symbol is used to represent + the operation. + """ + + if not self.case_description: + return super().description() + " mod {:x}".format(self.int_n) + return super().description() + + @classmethod + def input_cases_args(cls) -> Iterator[Tuple[Any, Any, Any]]: + if cls.arity == 1: + yield from ((n, a, "0") for a, n in cls.input_cases) + elif cls.arity == 2: + yield from ((n, a, b) for a, b, n in cls.input_cases) + else: + raise ValueError("Unsupported number of operands!") + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + if cls.input_style not in cls.input_styles: + raise ValueError("Unknown input style!") + if cls.arity not in cls.arities: + raise ValueError("Unsupported number of operands!") + if cls.input_style == "arch_split": + test_objects = (cls(n, a, b, bits_in_limb=bil) + for n in cls.moduli + for a, b in cls.get_value_pairs() + for bil in cls.limb_sizes) + special_cases = (cls(*args, bits_in_limb=bil) + for args in cls.input_cases_args() + for bil in cls.limb_sizes) + else: + test_objects = (cls(n, a, b) + for n in cls.moduli + for a, b in cls.get_value_pairs()) + special_cases = (cls(*args) for args in cls.input_cases_args()) + yield from (valid_test_object.create_test_case() + for valid_test_object in filter( + lambda test_object: test_object.is_valid, + chain(test_objects, special_cases) + )) + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/scripts/mbedtls_dev/bignum_core.py b/scripts/mbedtls_dev/bignum_core.py new file mode 100644 index 0000000000..118a659cf9 --- /dev/null +++ b/scripts/mbedtls_dev/bignum_core.py @@ -0,0 +1,853 @@ +"""Framework classes for generation of bignum core test cases.""" +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import random + +from typing import Dict, Iterator, List, Tuple + +from . import test_case +from . import test_data_generation +from . import bignum_common + +class BignumCoreTarget(test_data_generation.BaseTarget): + #pylint: disable=abstract-method, too-few-public-methods + """Target for bignum core test case generation.""" + target_basename = 'test_suite_bignum_core.generated' + + +class BignumCoreShiftR(BignumCoreTarget, test_data_generation.BaseTest): + """Test cases for mbedtls_bignum_core_shift_r().""" + count = 0 + test_function = "mpi_core_shift_r" + test_name = "Core shift right" + + DATA = [ + ('00', '0', [0, 1, 8]), + ('01', '1', [0, 1, 2, 8, 64]), + ('dee5ca1a7ef10a75', '64-bit', + list(range(11)) + [31, 32, 33, 63, 64, 65, 71, 72]), + ('002e7ab0070ad57001', '[leading 0 limb]', + [0, 1, 8, 63, 64]), + ('a1055eb0bb1efa1150ff', '80-bit', + [0, 1, 8, 63, 64, 65, 72, 79, 80, 81, 88, 128, 129, 136]), + ('020100000000000000001011121314151617', '138-bit', + [0, 1, 8, 9, 16, 72, 73, 136, 137, 138, 144]), + ] + + def __init__(self, input_hex: str, descr: str, count: int) -> None: + self.input_hex = input_hex + self.number_description = descr + self.shift_count = count + self.result = bignum_common.hex_to_int(input_hex) >> count + + def arguments(self) -> List[str]: + return ['"{}"'.format(self.input_hex), + str(self.shift_count), + '"{:0{}x}"'.format(self.result, len(self.input_hex))] + + def description(self) -> str: + return 'Core shift {} >> {}'.format(self.number_description, + self.shift_count) + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + for input_hex, descr, counts in cls.DATA: + for count in counts: + yield cls(input_hex, descr, count).create_test_case() + +class BignumCoreCTLookup(BignumCoreTarget, test_data_generation.BaseTest): + """Test cases for mbedtls_mpi_core_ct_uint_table_lookup().""" + test_function = "mpi_core_ct_uint_table_lookup" + test_name = "Constant time MPI table lookup" + + bitsizes = [ + (32, "One limb"), + (192, "Smallest curve sized"), + (512, "Largest curve sized"), + (2048, "Small FF/RSA sized"), + (4096, "Large FF/RSA sized"), + ] + + window_sizes = [0, 1, 2, 3, 4, 5, 6] + + def __init__(self, + bitsize: int, descr: str, window_size: int) -> None: + self.bitsize = bitsize + self.bitsize_description = descr + self.window_size = window_size + + def arguments(self) -> List[str]: + return [str(self.bitsize), str(self.window_size)] + + def description(self) -> str: + return '{} - {} MPI with {} bit window'.format( + BignumCoreCTLookup.test_name, + self.bitsize_description, + self.window_size + ) + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + for bitsize, bitsize_description in cls.bitsizes: + for window_size in cls.window_sizes: + yield (cls(bitsize, bitsize_description, window_size) + .create_test_case()) + + +class BignumCoreAddAndAddIf(BignumCoreTarget, bignum_common.OperationCommon): + """Test cases for bignum core add and add-if.""" + count = 0 + symbol = "+" + test_function = "mpi_core_add_and_add_if" + test_name = "mpi_core_add_and_add_if" + input_style = "arch_split" + unique_combinations_only = True + + def result(self) -> List[str]: + result = self.int_a + self.int_b + + carry, result = divmod(result, self.limb_boundary) + + return [ + self.format_result(result), + str(carry) + ] + + +class BignumCoreSub(BignumCoreTarget, bignum_common.OperationCommon): + """Test cases for bignum core sub.""" + count = 0 + symbol = "-" + test_function = "mpi_core_sub" + test_name = "mbedtls_mpi_core_sub" + + def result(self) -> List[str]: + if self.int_a >= self.int_b: + result_4 = result_8 = self.int_a - self.int_b + carry = 0 + else: + bound_val = max(self.int_a, self.int_b) + bound_4 = bignum_common.bound_mpi(bound_val, 32) + result_4 = bound_4 + self.int_a - self.int_b + bound_8 = bignum_common.bound_mpi(bound_val, 64) + result_8 = bound_8 + self.int_a - self.int_b + carry = 1 + return [ + "\"{:x}\"".format(result_4), + "\"{:x}\"".format(result_8), + str(carry) + ] + + +class BignumCoreMLA(BignumCoreTarget, bignum_common.OperationCommon): + """Test cases for fixed-size multiply accumulate.""" + count = 0 + test_function = "mpi_core_mla" + test_name = "mbedtls_mpi_core_mla" + + input_values = [ + "0", "1", "fffe", "ffffffff", "100000000", "20000000000000", + "ffffffffffffffff", "10000000000000000", "1234567890abcdef0", + "fffffffffffffffffefefefefefefefe", + "100000000000000000000000000000000", + "1234567890abcdef01234567890abcdef0", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0", + ( + "4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f" + "34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf17" + "9298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38" + "edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec02507" + "6b12b" + ) + ] # type: List[str] + input_scalars = [ + "0", "3", "fe", "ff", "ffff", "10000", "ffffffff", "100000000", + "7f7f7f7f7f7f7f7f", "8000000000000000", "fffffffffffffffe" + ] # type: List[str] + + def __init__(self, val_a: str, val_b: str, val_s: str) -> None: + super().__init__(val_a, val_b) + self.arg_scalar = val_s + self.int_scalar = bignum_common.hex_to_int(val_s) + if bignum_common.limbs_mpi(self.int_scalar, 32) > 1: + self.dependencies = ["MBEDTLS_HAVE_INT64"] + + def arguments(self) -> List[str]: + return [ + bignum_common.quote_str(self.arg_a), + bignum_common.quote_str(self.arg_b), + bignum_common.quote_str(self.arg_scalar) + ] + self.result() + + def description(self) -> str: + """Override and add the additional scalar.""" + if not self.case_description: + self.case_description = "0x{} + 0x{} * 0x{}".format( + self.arg_a, self.arg_b, self.arg_scalar + ) + return super().description() + + def result(self) -> List[str]: + result = self.int_a + (self.int_b * self.int_scalar) + bound_val = max(self.int_a, self.int_b) + bound_4 = bignum_common.bound_mpi(bound_val, 32) + bound_8 = bignum_common.bound_mpi(bound_val, 64) + carry_4, remainder_4 = divmod(result, bound_4) + carry_8, remainder_8 = divmod(result, bound_8) + return [ + "\"{:x}\"".format(remainder_4), + "\"{:x}\"".format(carry_4), + "\"{:x}\"".format(remainder_8), + "\"{:x}\"".format(carry_8) + ] + + @classmethod + def get_value_pairs(cls) -> Iterator[Tuple[str, str]]: + """Generator to yield pairs of inputs. + + Combinations are first generated from all input values, and then + specific cases provided. + """ + yield from super().get_value_pairs() + yield from cls.input_cases + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + """Override for additional scalar input.""" + for a_value, b_value in cls.get_value_pairs(): + for s_value in cls.input_scalars: + cur_op = cls(a_value, b_value, s_value) + yield cur_op.create_test_case() + + +class BignumCoreMontmul(BignumCoreTarget, test_data_generation.BaseTest): + """Test cases for Montgomery multiplication.""" + count = 0 + test_function = "mpi_core_montmul" + test_name = "mbedtls_mpi_core_montmul" + + start_2_mpi4 = False + start_2_mpi8 = False + + replay_test_cases = [ + (2, 1, 1, 1, "19", "1", "1D"), (2, 1, 1, 1, "7", "1", "9"), + (2, 1, 1, 1, "4", "1", "9"), + ( + 12, 1, 6, 1, ( + "3C246D0E059A93A266288A7718419EC741661B474C58C032C5EDAF92709402" + "B07CC8C7CE0B781C641A1EA8DB2F4343" + ), "1", ( + "66A198186C18C10B2F5ED9B522752A9830B69916E535C8F047518A889A43A5" + "94B6BED27A168D31D4A52F88925AA8F5" + ) + ), ( + 8, 1, 4, 1, + "1E442976B0E63D64FCCE74B999E470CA9888165CB75BFA1F340E918CE03C6211", + "1", "B3A119602EE213CDE28581ECD892E0F592A338655DCE4CA88054B3D124D0E561" + ), ( + 22, 1, 11, 1, ( + "7CF5AC97304E0B63C65413F57249F59994B0FED1D2A8D3D83ED5FA38560FFB" + "82392870D6D08F87D711917FD7537E13B7E125BE407E74157776839B0AC9DB" + "23CBDFC696104353E4D2780B2B4968F8D8542306BCA7A2366E" + ), "1", ( + "284139EA19C139EBE09A8111926AAA39A2C2BE12ED487A809D3CB5BC558547" + "25B4CDCB5734C58F90B2F60D99CC1950CDBC8D651793E93C9C6F0EAD752500" + "A32C56C62082912B66132B2A6AA42ADA923E1AD22CEB7BA0123" + ) + ) + ] # type: List[Tuple[int, int, int, int, str, str, str]] + + random_test_cases = [ + ("2", "2", "3", ""), ("1", "2", "3", ""), ("2", "1", "3", ""), + ("6", "5", "7", ""), ("3", "4", "7", ""), ("1", "6", "7", ""), ("5", "6", "7", ""), + ("3", "4", "B", ""), ("7", "4", "B", ""), ("9", "7", "B", ""), ("2", "a", "B", ""), + ("25", "16", "29", "(0x29 is prime)"), ("8", "28", "29", ""), + ("18", "21", "29", ""), ("15", "f", "29", ""), + ("e2", "ea", "FF", ""), ("43", "72", "FF", ""), + ("d8", "70", "FF", ""), ("3c", "7c", "FF", ""), + ("99", "b9", "101", "(0x101 is prime)"), ("65", "b2", "101", ""), + ("81", "32", "101", ""), ("51", "dd", "101", ""), + ("d5", "143", "38B", "(0x38B is prime)"), ("3d", "387", "38B", ""), + ("160", "2e5", "38B", ""), ("10f", "137", "38B", ""), + ("7dac", "25a", "8003", "(0x8003 is prime)"), ("6f1c", "3286", "8003", ""), + ("59ed", "2f3f", "8003", ""), ("6893", "736d", "8003", ""), + ("d199", "2832", "10001", "(0x10001 is prime)"), ("c3b2", "3e5b", "10001", ""), + ("abe4", "214e", "10001", ""), ("4360", "a05d", "10001", ""), + ("3f5a1", "165b2", "7F7F7", ""), ("3bd29", "37863", "7F7F7", ""), + ("60c47", "64819", "7F7F7", ""), ("16584", "12c49", "7F7F7", ""), + ("1ff03f", "610347", "800009", "(0x800009 is prime)"), ("340fd5", "19812e", "800009", ""), + ("3fe2e8", "4d0dc7", "800009", ""), ("40356", "e6392", "800009", ""), + ("dd8a1d", "266c0e", "100002B", "(0x100002B is prime)"), + ("3fa1cb", "847fd6", "100002B", ""), ("5f439d", "5c3196", "100002B", ""), + ("18d645", "f72dc6", "100002B", ""), + ("20051ad", "37def6e", "37EEE9D", "(0x37EEE9D is prime)"), + ("2ec140b", "3580dbf", "37EEE9D", ""), ("1d91b46", "190d4fc", "37EEE9D", ""), + ("34e488d", "1224d24", "37EEE9D", ""), + ("2a4fe2cb", "263466a9", "8000000B", "(0x8000000B is prime)"), + ("5643fe94", "29a1aefa", "8000000B", ""), ("29633513", "7b007ac4", "8000000B", ""), + ("2439cef5", "5c9d5a47", "8000000B", ""), + ("4de3cfaa", "50dea178", "8CD626B9", "(0x8CD626B9 is prime)"), + ("b8b8563", "10dbbbac", "8CD626B9", ""), ("4e8a6151", "5574ec19", "8CD626B9", ""), + ("69224878", "309cfc23", "8CD626B9", ""), + ("fb6f7fb6", "afb05423", "10000000F", "(0x10000000F is prime)"), + ("8391a243", "26034dcd", "10000000F", ""), ("d26b98c", "14b2d6aa", "10000000F", ""), + ("6b9f1371", "a21daf1d", "10000000F", ""), + ( + "9f49435ad", "c8264ade8", "174876E7E9", + "0x174876E7E9 is prime (dec) 99999999977" + ), + ("c402da434", "1fb427acf", "174876E7E9", ""), + ("f6ebc2bb1", "1096d39f2a", "174876E7E9", ""), + ("153b7f7b6b", "878fda8ff", "174876E7E9", ""), + ("2c1adbb8d6", "4384d2d3c6", "8000000017", "(0x8000000017 is prime)"), + ("2e4f9cf5fb", "794f3443d9", "8000000017", ""), + ("149e495582", "3802b8f7b7", "8000000017", ""), + ("7b9d49df82", "69c68a442a", "8000000017", ""), + ("683a134600", "6dd80ea9f6", "864CB9076D", "(0x864CB9076D is prime)"), + ("13a870ff0d", "59b099694a", "864CB9076D", ""), + ("37d06b0e63", "4d2147e46f", "864CB9076D", ""), + ("661714f8f4", "22e55df507", "864CB9076D", ""), + ("2f0a96363", "52693307b4", "F7F7F7F7F7", ""), + ("3c85078e64", "f2275ecb6d", "F7F7F7F7F7", ""), + ("352dae68d1", "707775b4c6", "F7F7F7F7F7", ""), + ("37ae0f3e0b", "912113040f", "F7F7F7F7F7", ""), + ("6dada15e31", "f58ed9eff7", "1000000000F", "(0x1000000000F is prime)"), + ("69627a7c89", "cfb5ebd13d", "1000000000F", ""), + ("a5e1ad239b", "afc030c731", "1000000000F", ""), + ("f1cc45f4c5", "c64ad607c8", "1000000000F", ""), + ("2ebad87d2e31", "4c72d90bca78", "800000000005", "(0x800000000005 is prime)"), + ("a30b3cc50d", "29ac4fe59490", "800000000005", ""), + ("33674e9647b4", "5ec7ee7e72d3", "800000000005", ""), + ("3d956f474f61", "74070040257d", "800000000005", ""), + ("48348e3717d6", "43fcb4399571", "800795D9BA47", "(0x800795D9BA47 is prime)"), + ("5234c03cc99b", "2f3cccb87803", "800795D9BA47", ""), + ("3ed13db194ab", "44b8f4ba7030", "800795D9BA47", ""), + ("1c11e843bfdb", "95bd1b47b08", "800795D9BA47", ""), + ("a81d11cb81fd", "1e5753a3f33d", "1000000000015", "(0x1000000000015 is prime)"), + ("688c4db99232", "36fc0cf7ed", "1000000000015", ""), + ("f0720cc07e07", "fc76140ed903", "1000000000015", ""), + ("2ec61f8d17d1", "d270c85e36d2", "1000000000015", ""), + ( + "6a24cd3ab63820", "ed4aad55e5e348", "100000000000051", + "(0x100000000000051 is prime)" + ), + ("e680c160d3b248", "31e0d8840ed510", "100000000000051", ""), + ("a80637e9aebc38", "bb81decc4e1738", "100000000000051", ""), + ("9afa5a59e9d630", "be9e65a6d42938", "100000000000051", ""), + ("ab5e104eeb71c000", "2cffbd639e9fea00", "ABCDEF0123456789", ""), + ("197b867547f68a00", "44b796cf94654800", "ABCDEF0123456789", ""), + ("329f9483a04f2c00", "9892f76961d0f000", "ABCDEF0123456789", ""), + ("4a2e12dfb4545000", "1aa3e89a69794500", "ABCDEF0123456789", ""), + ( + "8b9acdf013d140f000", "12e4ceaefabdf2b2f00", "25A55A46E5DA99C71C7", + "0x25A55A46E5DA99C71C7 is the 3rd repunit prime(dec) 11111111111111111111111" + ), + ("1b8d960ea277e3f5500", "14418aa980e37dd000", "25A55A46E5DA99C71C7", ""), + ("7314524977e8075980", "8172fa45618ccd0d80", "25A55A46E5DA99C71C7", ""), + ("ca14f031769be63580", "147a2f3cf2964ca9400", "25A55A46E5DA99C71C7", ""), + ( + "18532ba119d5cd0cf39735c0000", "25f9838e31634844924733000000", + "314DC643FB763F2B8C0E2DE00879", + "0x314DC643FB763F2B8C0E2DE00879 is (dec)99999999977^3" + ), + ( + "a56e2d2517519e3970e70c40000", "ec27428d4bb380458588fa80000", + "314DC643FB763F2B8C0E2DE00879", "" + ), + ( + "1cb5e8257710e8653fff33a00000", "15fdd42fe440fd3a1d121380000", + "314DC643FB763F2B8C0E2DE00879", "" + ), + ( + "e50d07a65fc6f93e538ce040000", "1f4b059ca609f3ce597f61240000", + "314DC643FB763F2B8C0E2DE00879", "" + ), + ( + "1ea3ade786a095d978d387f30df9f20000000", + "127c448575f04af5a367a7be06c7da0000000", + "47BF19662275FA2F6845C74942ED1D852E521", + "0x47BF19662275FA2F6845C74942ED1D852E521 is (dec) 99999999977^4" + ), + ( + "16e15b0ca82764e72e38357b1f10a20000000", + "43e2355d8514bbe22b0838fdc3983a0000000", + "47BF19662275FA2F6845C74942ED1D852E521", "" + ), + ( + "be39332529d93f25c3d116c004c620000000", + "5cccec42370a0a2c89c6772da801a0000000", + "47BF19662275FA2F6845C74942ED1D852E521", "" + ), + ( + "ecaa468d90de0eeda474d39b3e1fc0000000", + "1e714554018de6dc0fe576bfd3b5660000000", + "47BF19662275FA2F6845C74942ED1D852E521", "" + ), + ( + "32298816711c5dce46f9ba06e775c4bedfc770e6700000000000000", + "8ee751fd5fb24f0b4a653cb3a0c8b7d9e724574d168000000000000", + "97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931", + ( + "0x97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931" + " is (dec) 99999999977^6" + ) + ), + ( + "29213b9df3cfd15f4b428645b67b677c29d1378d810000000000000", + "6cbb732c65e10a28872394dfdd1936d5171c3c3aac0000000000000", + "97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931", "" + ), + ( + "6f18db06ad4abc52c0c50643dd13098abccd4a232f0000000000000", + "7e6bf41f2a86098ad51f98dfc10490ba3e8081bc830000000000000", + "97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931", "" + ), + ( + "62d3286cd706ad9d73caff63f1722775d7e8c731208000000000000", + "530f7ba02ae2b04c2fe3e3d27ec095925631a6c2528000000000000", + "97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931", "" + ), + ( + "a6c6503e3c031fdbf6009a89ed60582b7233c5a85de28b16000000000000000", + "75c8ed18270b583f16d442a467d32bf95c5e491e9b8523798000000000000000", + "DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499", + ( + "0xDD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499" + " is (dec) 99999999977^7" + ) + ), + ( + "bf84d1f85cf6b51e04d2c8f4ffd03532d852053cf99b387d4000000000000000", + "397ba5a743c349f4f28bc583ecd5f06e0a25f9c6d98f09134000000000000000", + "DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499", "" + ), + ( + "6db11c3a4152ed1a2aa6fa34b0903ec82ea1b88908dcb482000000000000000", + "ac8ac576a74ad6ca48f201bf89f77350ce86e821358d85920000000000000000", + "DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499", "" + ), + ( + "3001d96d7fe8b733f33687646fc3017e3ac417eb32e0ec708000000000000000", + "925ddbdac4174e8321a48a32f79640e8cf7ec6f46ea235a80000000000000000", + "DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499", "" + ), + ( + "1029048755f2e60dd98c8de6d9989226b6bb4f0db8e46bd1939de560000000000000000000", + "51bb7270b2e25cec0301a03e8275213bb6c2f6e6ec93d4d46d36ca0000000000000000000", + "141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41", + ( + "0x141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146" + "380E41 is 99999999977^8" + ) + ), + ( + "1c5337ff982b3ad6611257dbff5bbd7a9920ba2d4f5838a0cc681ce000000000000000000", + "520c5d049ca4702031ba728591b665c4d4ccd3b2b86864d4c160fd2000000000000000000", + "141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41", + "" + ), + ( + "57074dfa00e42f6555bae624b7f0209f218adf57f73ed34ab0ff90c000000000000000000", + "41eb14b6c07bfd3d1fe4f4a610c17cc44fcfcda695db040e011065000000000000000000", + "141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41", + "" + ), + ( + "d8ed7feed2fe855e6997ad6397f776158573d425031bf085a615784000000000000000000", + "6f121dcd18c578ab5e229881006007bb6d319b179f11015fe958b9c000000000000000000", + "141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41", + "" + ), + ( + ( + "2a462b156180ea5fe550d3758c764e06fae54e626b5f503265a09df76edbdfbf" + "a1e6000000000000000000000000" + ), ( + "1136f41d1879fd4fb9e49e0943a46b6704d77c068ee237c3121f9071cfd3e6a0" + "0315800000000000000000000000" + ), ( + "2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC90" + "2713E40F51E3B3C214EDFABC451" + ), ( + "0x2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC" + "902713E40F51E3B3C214EDFABC451 is (dec) 99999999977^10" + ) + ), + ( + ( + "c1ac3800dfb3c6954dea391d206200cf3c47f795bf4a5603b4cb88ae7e574de47" + "40800000000000000000000000" + ), ( + "c0d16eda0549ede42fa0deb4635f7b7ce061fadea02ee4d85cba4c4f709603419" + "3c800000000000000000000000" + ), ( + "2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC90" + "2713E40F51E3B3C214EDFABC451" + ), "" + ), + ( + ( + "19e45bb7633094d272588ad2e43bcb3ee341991c6731b6fa9d47c4018d7ce7bba" + "5ee800000000000000000000000" + ), ( + "1e4f83166ae59f6b9cc8fd3e7677ed8bfc01bb99c98bd3eb084246b64c1e18c33" + "65b800000000000000000000000" + ), ( + "2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC90" + "2713E40F51E3B3C214EDFABC451" + ), "" + ), + ( + ( + "1aa93395fad5f9b7f20b8f9028a054c0bb7c11bb8520e6a95e5a34f06cb70bcdd" + "01a800000000000000000000000" + ), ( + "54b45afa5d4310192f8d224634242dd7dcfb342318df3d9bd37b4c614788ba13b" + "8b000000000000000000000000" + ), ( + "2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC90" + "2713E40F51E3B3C214EDFABC451" + ), "" + ), + ( + ( + "544f2628a28cfb5ce0a1b7180ee66b49716f1d9476c466c57f0c4b23089917843" + "06d48f78686115ee19e25400000000000000000000000000000000" + ), ( + "677eb31ef8d66c120fa872a60cd47f6e10cbfdf94f90501bd7883cba03d185be0" + "a0148d1625745e9c4c827300000000000000000000000000000000" + ), ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA1" + "1DABD6E6144BEF37C6800000000000000000000000000000000051" + ), ( + "0x8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBF" + "A11DABD6E6144BEF37C6800000000000000000000000000000000051 is prime," + " (dec) 10^143 + 3^4" + ) + ), + ( + ( + "76bb3470985174915e9993522aec989666908f9e8cf5cb9f037bf4aee33d8865c" + "b6464174795d07e30015b80000000000000000000000000000000" + ), ( + "6aaaf60d5784dcef612d133613b179a317532ecca0eed40b8ad0c01e6d4a6d8c7" + "9a52af190abd51739009a900000000000000000000000000000000" + ), ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA1" + "1DABD6E6144BEF37C6800000000000000000000000000000000051" + ), "" + ), + ( + ( + "6cfdd6e60912e441d2d1fc88f421b533f0103a5322ccd3f4db84861643ad63fd6" + "3d1d8cfbc1d498162786ba00000000000000000000000000000000" + ), ( + "1177246ec5e93814816465e7f8f248b350d954439d35b2b5d75d917218e7fd5fb" + "4c2f6d0667f9467fdcf33400000000000000000000000000000000" + ), ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA1" + "1DABD6E6144BEF37C6800000000000000000000000000000000051" + ), "" + ), + ( + ( + "7a09a0b0f8bbf8057116fb0277a9bdf3a91b5eaa8830d448081510d8973888be5" + "a9f0ad04facb69aa3715f00000000000000000000000000000000" + ), ( + "764dec6c05a1c0d87b649efa5fd94c91ea28bffb4725d4ab4b33f1a3e8e3b314d" + "799020e244a835a145ec9800000000000000000000000000000000" + ), ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA1" + "1DABD6E6144BEF37C6800000000000000000000000000000000051" + ), "" + ) + ] # type: List[Tuple[str, str, str, str]] + + def __init__( + self, val_a: str, val_b: str, val_n: str, case_description: str = "" + ): + self.case_description = case_description + self.arg_a = val_a + self.int_a = bignum_common.hex_to_int(val_a) + self.arg_b = val_b + self.int_b = bignum_common.hex_to_int(val_b) + self.arg_n = val_n + self.int_n = bignum_common.hex_to_int(val_n) + + limbs_a4 = bignum_common.limbs_mpi(self.int_a, 32) + limbs_a8 = bignum_common.limbs_mpi(self.int_a, 64) + self.limbs_b4 = bignum_common.limbs_mpi(self.int_b, 32) + self.limbs_b8 = bignum_common.limbs_mpi(self.int_b, 64) + self.limbs_an4 = bignum_common.limbs_mpi(self.int_n, 32) + self.limbs_an8 = bignum_common.limbs_mpi(self.int_n, 64) + + if limbs_a4 > self.limbs_an4 or limbs_a8 > self.limbs_an8: + raise Exception("Limbs of input A ({}) exceeds N ({})".format( + self.arg_a, self.arg_n + )) + + def arguments(self) -> List[str]: + return [ + str(self.limbs_an4), str(self.limbs_b4), + str(self.limbs_an8), str(self.limbs_b8), + bignum_common.quote_str(self.arg_a), + bignum_common.quote_str(self.arg_b), + bignum_common.quote_str(self.arg_n) + ] + self.result() + + def description(self) -> str: + if self.case_description != "replay": + if not self.start_2_mpi4 and self.limbs_an4 > 1: + tmp = "(start of 2-MPI 4-byte bignums) " + self.__class__.start_2_mpi4 = True + elif not self.start_2_mpi8 and self.limbs_an8 > 1: + tmp = "(start of 2-MPI 8-byte bignums) " + self.__class__.start_2_mpi8 = True + else: + tmp = "(gen) " + self.case_description = tmp + self.case_description + return super().description() + + def result(self) -> List[str]: + """Get the result of the operation.""" + r4 = bignum_common.bound_mpi_limbs(self.limbs_an4, 32) + i4 = bignum_common.invmod(r4, self.int_n) + x4 = self.int_a * self.int_b * i4 + x4 = x4 % self.int_n + + r8 = bignum_common.bound_mpi_limbs(self.limbs_an8, 64) + i8 = bignum_common.invmod(r8, self.int_n) + x8 = self.int_a * self.int_b * i8 + x8 = x8 % self.int_n + return [ + "\"{:x}\"".format(x4), + "\"{:x}\"".format(x8) + ] + + def set_limbs( + self, limbs_an4: int, limbs_b4: int, limbs_an8: int, limbs_b8: int + ) -> None: + """Set number of limbs for each input. + + Replaces default values set during initialization. + """ + self.limbs_an4 = limbs_an4 + self.limbs_b4 = limbs_b4 + self.limbs_an8 = limbs_an8 + self.limbs_b8 = limbs_b8 + + @classmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + """Generate replay and randomly generated test cases.""" + # Test cases which replay captured invocations during unit test runs. + for limbs_an4, limbs_b4, limbs_an8, limbs_b8, a, b, n in cls.replay_test_cases: + cur_op = cls(a, b, n, case_description="replay") + cur_op.set_limbs(limbs_an4, limbs_b4, limbs_an8, limbs_b8) + yield cur_op.create_test_case() + # Random test cases can be generated using mpi_modmul_case_generate() + # Uses a mixture of primes and odd numbers as N, with four randomly + # generated cases for each N. + for a, b, n, description in cls.random_test_cases: + cur_op = cls(a, b, n, case_description=description) + yield cur_op.create_test_case() + + +def mpi_modmul_case_generate() -> None: + """Generate valid inputs for montmul tests using moduli. + + For each modulus, generates random values for A and B and simple descriptions + for the test case. + """ + moduli = [ + ("3", ""), ("7", ""), ("B", ""), ("29", ""), ("FF", ""), + ("101", ""), ("38B", ""), ("8003", ""), ("10001", ""), + ("7F7F7", ""), ("800009", ""), ("100002B", ""), ("37EEE9D", ""), + ("8000000B", ""), ("8CD626B9", ""), ("10000000F", ""), + ("174876E7E9", "is prime (dec) 99999999977"), + ("8000000017", ""), ("864CB9076D", ""), ("F7F7F7F7F7", ""), + ("1000000000F", ""), ("800000000005", ""), ("800795D9BA47", ""), + ("1000000000015", ""), ("100000000000051", ""), ("ABCDEF0123456789", ""), + ( + "25A55A46E5DA99C71C7", + "is the 3rd repunit prime (dec) 11111111111111111111111" + ), + ("314DC643FB763F2B8C0E2DE00879", "is (dec)99999999977^3"), + ("47BF19662275FA2F6845C74942ED1D852E521", "is (dec) 99999999977^4"), + ( + "97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931", + "is (dec) 99999999977^6" + ), + ( + "DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499", + "is (dec) 99999999977^7" + ), + ( + "141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41", + "is (dec) 99999999977^8" + ), + ( + ( + "2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E283" + "3EC902713E40F51E3B3C214EDFABC451" + ), + "is (dec) 99999999977^10" + ), + ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11" + "DABD6E6144BEF37C6800000000000000000000000000000000051", + "is prime, (dec) 10^143 + 3^4" + ) + ] # type: List[Tuple[str, str]] + primes = [ + "3", "7", "B", "29", "101", "38B", "8003", "10001", "800009", + "100002B", "37EEE9D", "8000000B", "8CD626B9", + # From here they require > 1 4-byte MPI + "10000000F", "174876E7E9", "8000000017", "864CB9076D", "1000000000F", + "800000000005", "800795D9BA47", "1000000000015", "100000000000051", + # From here they require > 1 8-byte MPI + "25A55A46E5DA99C71C7", # this is 11111111111111111111111 decimal + # 10^143 + 3^4: (which is prime) + # 100000000000000000000000000000000000000000000000000000000000000000000000000000 + # 000000000000000000000000000000000000000000000000000000000000000081 + ( + "8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11" + "DABD6E6144BEF37C6800000000000000000000000000000000051" + ) + ] # type: List[str] + generated_inputs = [] + for mod, description in moduli: + n = bignum_common.hex_to_int(mod) + mod_read = "{:x}".format(n) + case_count = 3 if n < 5 else 4 + cases = {} # type: Dict[int, int] + i = 0 + while i < case_count: + a = random.randint(1, n) + b = random.randint(1, n) + if cases.get(a) == b: + continue + cases[a] = b + if description: + out_description = "0x{} {}".format(mod_read, description) + elif i == 0 and len(mod) > 1 and mod in primes: + out_description = "(0x{} is prime)" + else: + out_description = "" + generated_inputs.append( + ("{:x}".format(a), "{:x}".format(b), mod, out_description) + ) + i += 1 + print(generated_inputs) + +# BEGIN MERGE SLOT 1 + +class BignumCoreExpMod(BignumCoreTarget, bignum_common.ModOperationCommon): + """Test cases for bignum core exponentiation.""" + symbol = "^" + test_function = "mpi_core_exp_mod" + test_name = "Core modular exponentiation (Mongtomery form only)" + input_style = "fixed" + + def arguments(self) -> List[str]: + # Input 'a' has to be given in Montgomery form + mont_a = self.to_montgomery(self.int_a) + arg_mont_a = self.format_arg('{:x}'.format(mont_a)) + return [bignum_common.quote_str(n) for n in [self.arg_n, + arg_mont_a, + self.arg_b] + ] + self.result() + + def result(self) -> List[str]: + # Result has to be given in Montgomery form too + result = pow(self.int_a, self.int_b, self.int_n) + mont_result = self.to_montgomery(result) + return [self.format_result(mont_result)] + + @property + def is_valid(self) -> bool: + # The base needs to be canonical, but the exponent can be larger than + # the modulus (see for example exponent blinding) + return bool(self.int_a < self.int_n) + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +class BignumCoreSubInt(BignumCoreTarget, bignum_common.OperationCommon): + """Test cases for bignum core sub int.""" + count = 0 + symbol = "-" + test_function = "mpi_core_sub_int" + test_name = "mpi_core_sub_int" + input_style = "arch_split" + + @property + def is_valid(self) -> bool: + # This is "sub int", so b is only one limb + if bignum_common.limbs_mpi(self.int_b, self.bits_in_limb) > 1: + return False + return True + + # Overriding because we don't want leading zeros on b + @property + def arg_b(self) -> str: + return self.val_b + + def result(self) -> List[str]: + result = self.int_a - self.int_b + + borrow, result = divmod(result, self.limb_boundary) + + # Borrow will be -1 if non-zero, but we want it to be 1 in the test data + return [ + self.format_result(result), + str(-borrow) + ] + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/scripts/mbedtls_dev/bignum_data.py b/scripts/mbedtls_dev/bignum_data.py new file mode 100644 index 0000000000..e6ed30005d --- /dev/null +++ b/scripts/mbedtls_dev/bignum_data.py @@ -0,0 +1,136 @@ +"""Base values and datasets for bignum generated tests and helper functions that +produced them.""" +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import random + +# Functions calling these were used to produce test data and are here only for +# reproducibility, they are not used by the test generation framework/classes +try: + from Cryptodome.Util.number import isPrime, getPrime #type: ignore #pylint: disable=import-error +except ImportError: + pass + +# Generated by bignum_common.gen_safe_prime(192,1) +SAFE_PRIME_192_BIT_SEED_1 = "d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +# First number generated by random.getrandbits(192) - seed(2,2), not a prime +RANDOM_192_BIT_SEED_2_NO1 = "177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +# Second number generated by random.getrandbits(192) - seed(2,2), not a prime +RANDOM_192_BIT_SEED_2_NO2 = "cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +# Third number generated by random.getrandbits(192) - seed(2,2), not a prime +RANDOM_192_BIT_SEED_2_NO3 = "3653f8dd9b1f282e4067c3584ee207f8da94e3e8ab73738f" + +# Fourth number generated by random.getrandbits(192) - seed(2,2), not a prime +RANDOM_192_BIT_SEED_2_NO4 = "ffed9235288bc781ae66267594c9c9500925e4749b575bd1" + +# Ninth number generated by random.getrandbits(192) - seed(2,2), not a prime +RANDOM_192_BIT_SEED_2_NO9 = "2a1be9cd8697bbd0e2520e33e44c50556c71c4a66148a86f" + +# Generated by bignum_common.gen_safe_prime(1024,3) +SAFE_PRIME_1024_BIT_SEED_3 = ("c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b" + "2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577" + "e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca9" + "62db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba130" + "2efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c82" + "87b3996cf6ad5223") + +# First number generated by random.getrandbits(1024) - seed(4,2), not a prime +RANDOM_1024_BIT_SEED_4_NO1 = ("6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed" + "3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8" + "534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4" + "a14876aeaff1a098ca5996666ceab360512bd13110722311" + "710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74" + "da4f9fc3c6da5d7") + +# Second number generated by random.getrandbits(1024) - seed(4,2), not a prime +RANDOM_1024_BIT_SEED_4_NO2 = ("f1cfd99216df648647adec26793d0e453f5082492d83a823" + "3fb62d2c81862fc9634f806fabf4a07c566002249b191bf4" + "d8441b5616332aca5f552773e14b0190d93936e1daca3c06" + "f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a0" + "2a3187853184ff27459142deccea264542a00403ce80c4b0" + "a4042bb3d4341aad") + +# Third number generated by random.getrandbits(1024) - seed(4,2), not a prime +RANDOM_1024_BIT_SEED_4_NO3 = ("14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb38" + "3bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd" + "6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada" + "4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f" + "01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecf" + "d160c5d0ef412ed6") + +# Fourth number generated by random.getrandbits(1024) - seed(4,2), not a prime +RANDOM_1024_BIT_SEED_4_NO4 = ("32decd6b8efbc170a26a25c852175b7a96b98b5fbf37a2be" + "6f98bca35b17b9662f0733c846bbe9e870ef55b1a1f65507" + "a2909cb633e238b4e9dd38b869ace91311021c9e32111ac1" + "ac7cc4a4ff4dab102522d53857c49391b36cc9aa78a330a1" + "a5e333cb88dcf94384d4cd1f47ca7883ff5a52f1a05885ac" + "7671863c0bdbc23a") + +# Fifth number generated by random.getrandbits(1024) - seed(4,2), not a prime +RANDOM_1024_BIT_SEED_4_NO5 = ("53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8" + "f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac87" + "0692b534758240df4a7a03052d733dcdef40af2e54c0ce68" + "1f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b" + "4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc" + "52d32377e78131c1") + +# Adding 192 bit and 1024 bit numbers because these are the shortest required +# for ECC and RSA respectively. +INPUTS_DEFAULT = [ + "0", "1", # corner cases + "2", "3", # small primes + "4", # non-prime even + "38", # small random + SAFE_PRIME_192_BIT_SEED_1, # prime + RANDOM_192_BIT_SEED_2_NO1, # not a prime + RANDOM_192_BIT_SEED_2_NO2, # not a prime + SAFE_PRIME_1024_BIT_SEED_3, # prime + RANDOM_1024_BIT_SEED_4_NO1, # not a prime + RANDOM_1024_BIT_SEED_4_NO3, # not a prime + RANDOM_1024_BIT_SEED_4_NO2, # largest (not a prime) + ] + +# Only odd moduli are present as in the new bignum code only odd moduli are +# supported for now. +MODULI_DEFAULT = [ + "53", # safe prime + "45", # non-prime + SAFE_PRIME_192_BIT_SEED_1, # safe prime + RANDOM_192_BIT_SEED_2_NO4, # not a prime + SAFE_PRIME_1024_BIT_SEED_3, # safe prime + RANDOM_1024_BIT_SEED_4_NO5, # not a prime + ] + +def __gen_safe_prime(bits, seed): + ''' + Generate a safe prime. + + This function is intended for generating constants offline and shouldn't be + used in test generation classes. + + Requires pycryptodomex for getPrime and isPrime and python 3.9 or later for + randbytes. + ''' + rng = random.Random() + # We want reproducibility across python versions + rng.seed(seed, version=2) + while True: + prime = 2*getPrime(bits-1, rng.randbytes)+1 #pylint: disable=no-member + if isPrime(prime, 1e-30): + return prime diff --git a/scripts/mbedtls_dev/bignum_mod.py b/scripts/mbedtls_dev/bignum_mod.py new file mode 100644 index 0000000000..aa06fe8634 --- /dev/null +++ b/scripts/mbedtls_dev/bignum_mod.py @@ -0,0 +1,79 @@ +"""Framework classes for generation of bignum mod test cases.""" +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import Dict, List # pylint: disable=unused-import + +from . import test_data_generation +from . import bignum_common # pylint: disable=unused-import + +class BignumModTarget(test_data_generation.BaseTarget): + #pylint: disable=abstract-method, too-few-public-methods + """Target for bignum mod test case generation.""" + target_basename = 'test_suite_bignum_mod.generated' + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +class BignumModSub(bignum_common.ModOperationCommon, BignumModTarget): + """Test cases for bignum mpi_mod_sub().""" + symbol = "-" + test_function = "mpi_mod_sub" + test_name = "mbedtls_mpi_mod_sub" + input_style = "fixed" + arity = 2 + + def result(self) -> List[str]: + result = (self.int_a - self.int_b) % self.int_n + # To make negative tests easier, append 0 for success to the + # generated cases + return [self.format_result(result), "0"] + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/scripts/mbedtls_dev/bignum_mod_raw.py b/scripts/mbedtls_dev/bignum_mod_raw.py new file mode 100644 index 0000000000..d05479a008 --- /dev/null +++ b/scripts/mbedtls_dev/bignum_mod_raw.py @@ -0,0 +1,124 @@ +"""Framework classes for generation of bignum mod_raw test cases.""" +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import Dict, List + +from . import test_data_generation +from . import bignum_common + +class BignumModRawTarget(test_data_generation.BaseTarget): + #pylint: disable=abstract-method, too-few-public-methods + """Target for bignum mod_raw test case generation.""" + target_basename = 'test_suite_bignum_mod_raw.generated' + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +class BignumModRawSub(bignum_common.ModOperationCommon, + BignumModRawTarget): + """Test cases for bignum mpi_mod_raw_sub().""" + symbol = "-" + test_function = "mpi_mod_raw_sub" + test_name = "mbedtls_mpi_mod_raw_sub" + input_style = "fixed" + arity = 2 + + def arguments(self) -> List[str]: + return [bignum_common.quote_str(n) for n in [self.arg_a, + self.arg_b, + self.arg_n] + ] + self.result() + + def result(self) -> List[str]: + result = (self.int_a - self.int_b) % self.int_n + return [self.format_result(result)] + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +class BignumModRawAdd(bignum_common.ModOperationCommon, + BignumModRawTarget): + """Test cases for bignum mpi_mod_raw_add().""" + symbol = "+" + test_function = "mpi_mod_raw_add" + test_name = "mbedtls_mpi_mod_raw_add" + input_style = "fixed" + arity = 2 + + def result(self) -> List[str]: + result = (self.int_a + self.int_b) % self.int_n + return [self.format_result(result)] + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +class BignumModRawConvertToMont(bignum_common.ModOperationCommon, + BignumModRawTarget): + """ Test cases for mpi_mod_raw_to_mont_rep(). """ + test_function = "mpi_mod_raw_to_mont_rep" + test_name = "Convert into Mont: " + symbol = "R *" + input_style = "arch_split" + arity = 1 + + def result(self) -> List[str]: + result = self.to_montgomery(self.int_a) + return [self.format_result(result)] + +class BignumModRawConvertFromMont(bignum_common.ModOperationCommon, + BignumModRawTarget): + """ Test cases for mpi_mod_raw_from_mont_rep(). """ + test_function = "mpi_mod_raw_from_mont_rep" + test_name = "Convert from Mont: " + symbol = "1/R *" + input_style = "arch_split" + arity = 1 + + def result(self) -> List[str]: + result = self.from_montgomery(self.int_a) + return [self.format_result(result)] + + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/scripts/mbedtls_dev/build_tree.py b/scripts/mbedtls_dev/build_tree.py index 3920d0ed6c..f52b785d95 100644 --- a/scripts/mbedtls_dev/build_tree.py +++ b/scripts/mbedtls_dev/build_tree.py @@ -25,6 +25,13 @@ def looks_like_mbedtls_root(path: str) -> bool: return all(os.path.isdir(os.path.join(path, subdir)) for subdir in ['include', 'library', 'programs', 'tests']) +def check_repo_path(): + """ + Check that the current working directory is the project root, and throw + an exception if not. + """ + if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): + raise Exception("This script must be run from Mbed TLS root") def chdir_to_root() -> None: """Detect the root of the Mbed TLS source tree and change to it. diff --git a/scripts/mbedtls_dev/crypto_knowledge.py b/scripts/mbedtls_dev/crypto_knowledge.py index 592fc0afe2..1a033210bc 100644 --- a/scripts/mbedtls_dev/crypto_knowledge.py +++ b/scripts/mbedtls_dev/crypto_knowledge.py @@ -22,7 +22,7 @@ import re from typing import FrozenSet, Iterable, List, Optional, Tuple -from mbedtls_dev.asymmetric_key_data import ASYMMETRIC_KEY_DATA +from .asymmetric_key_data import ASYMMETRIC_KEY_DATA def short_expression(original: str, level: int = 0) -> str: @@ -357,6 +357,7 @@ def determine_head(expr: str) -> str: 'HKDF': AlgorithmCategory.KEY_DERIVATION, 'TLS12_PRF': AlgorithmCategory.KEY_DERIVATION, 'TLS12_PSK_TO_MS': AlgorithmCategory.KEY_DERIVATION, + 'TLS12_ECJPAKE_TO_PMS': AlgorithmCategory.KEY_DERIVATION, 'PBKDF': AlgorithmCategory.KEY_DERIVATION, 'ECDH': AlgorithmCategory.KEY_AGREEMENT, 'FFDH': AlgorithmCategory.KEY_AGREEMENT, diff --git a/scripts/mbedtls_dev/psa_storage.py b/scripts/mbedtls_dev/psa_storage.py index a06dce13ba..bae99383dc 100644 --- a/scripts/mbedtls_dev/psa_storage.py +++ b/scripts/mbedtls_dev/psa_storage.py @@ -26,7 +26,7 @@ from typing import Dict, List, Optional, Set, Union import unittest -from mbedtls_dev import c_build_helper +from . import c_build_helper class Expr: diff --git a/scripts/mbedtls_dev/test_case.py b/scripts/mbedtls_dev/test_case.py index 6a46e4209b..8f08703678 100644 --- a/scripts/mbedtls_dev/test_case.py +++ b/scripts/mbedtls_dev/test_case.py @@ -1,4 +1,4 @@ -"""Library for generating Mbed TLS test data. +"""Library for constructing an Mbed TLS test case. """ # Copyright The Mbed TLS Contributors @@ -21,7 +21,7 @@ import sys from typing import Iterable, List, Optional -from mbedtls_dev import typing_util +from . import typing_util def hex_string(data: bytes) -> str: return '"' + binascii.hexlify(data).decode('ascii') + '"' @@ -92,9 +92,11 @@ def write_data_file(filename: str, """ if caller is None: caller = os.path.basename(sys.argv[0]) - with open(filename, 'w') as out: + tempfile = filename + '.new' + with open(tempfile, 'w') as out: out.write('# Automatically generated by {}. Do not edit!\n' .format(caller)) for tc in test_cases: tc.write(out) out.write('\n# End of automatically generated file.\n') + os.replace(tempfile, filename) diff --git a/scripts/mbedtls_dev/test_data_generation.py b/scripts/mbedtls_dev/test_data_generation.py new file mode 100644 index 0000000000..02aa510518 --- /dev/null +++ b/scripts/mbedtls_dev/test_data_generation.py @@ -0,0 +1,235 @@ +"""Common code for test data generation. + +This module defines classes that are of general use to automatically +generate .data files for unit tests, as well as a main function. + +These are used both by generate_psa_tests.py and generate_bignum_tests.py. +""" + +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import argparse +import os +import posixpath +import re +import inspect + +from abc import ABCMeta, abstractmethod +from typing import Callable, Dict, Iterable, Iterator, List, Type, TypeVar + +from . import build_tree +from . import test_case + +T = TypeVar('T') #pylint: disable=invalid-name + + +class BaseTest(metaclass=ABCMeta): + """Base class for test case generation. + + Attributes: + count: Counter for test cases from this class. + case_description: Short description of the test case. This may be + automatically generated using the class, or manually set. + dependencies: A list of dependencies required for the test case. + show_test_count: Toggle for inclusion of `count` in the test description. + test_function: Test function which the class generates cases for. + test_name: A common name or description of the test function. This can + be `test_function`, a clearer equivalent, or a short summary of the + test function's purpose. + """ + count = 0 + case_description = "" + dependencies = [] # type: List[str] + show_test_count = True + test_function = "" + test_name = "" + + def __new__(cls, *args, **kwargs): + # pylint: disable=unused-argument + cls.count += 1 + return super().__new__(cls) + + @abstractmethod + def arguments(self) -> List[str]: + """Get the list of arguments for the test case. + + Override this method to provide the list of arguments required for + the `test_function`. + + Returns: + List of arguments required for the test function. + """ + raise NotImplementedError + + def description(self) -> str: + """Create a test case description. + + Creates a description of the test case, including a name for the test + function, an optional case count, and a description of the specific + test case. This should inform a reader what is being tested, and + provide context for the test case. + + Returns: + Description for the test case. + """ + if self.show_test_count: + return "{} #{} {}".format( + self.test_name, self.count, self.case_description + ).strip() + else: + return "{} {}".format(self.test_name, self.case_description).strip() + + + def create_test_case(self) -> test_case.TestCase: + """Generate TestCase from the instance.""" + tc = test_case.TestCase() + tc.set_description(self.description()) + tc.set_function(self.test_function) + tc.set_arguments(self.arguments()) + tc.set_dependencies(self.dependencies) + + return tc + + @classmethod + @abstractmethod + def generate_function_tests(cls) -> Iterator[test_case.TestCase]: + """Generate test cases for the class test function. + + This will be called in classes where `test_function` is set. + Implementations should yield TestCase objects, by creating instances + of the class with appropriate input data, and then calling + `create_test_case()` on each. + """ + raise NotImplementedError + + +class BaseTarget: + #pylint: disable=too-few-public-methods + """Base target for test case generation. + + Child classes of this class represent an output file, and can be referred + to as file targets. These indicate where test cases will be written to for + all subclasses of the file target, which is set by `target_basename`. + + Attributes: + target_basename: Basename of file to write generated tests to. This + should be specified in a child class of BaseTarget. + """ + target_basename = "" + + @classmethod + def generate_tests(cls) -> Iterator[test_case.TestCase]: + """Generate test cases for the class and its subclasses. + + In classes with `test_function` set, `generate_function_tests()` is + called to generate test cases first. + + In all classes, this method will iterate over its subclasses, and + yield from `generate_tests()` in each. Calling this method on a class X + will yield test cases from all classes derived from X. + """ + if issubclass(cls, BaseTest) and not inspect.isabstract(cls): + #pylint: disable=no-member + yield from cls.generate_function_tests() + for subclass in sorted(cls.__subclasses__(), key=lambda c: c.__name__): + yield from subclass.generate_tests() + + +class TestGenerator: + """Generate test cases and write to data files.""" + def __init__(self, options) -> None: + self.test_suite_directory = options.directory + # Update `targets` with an entry for each child class of BaseTarget. + # Each entry represents a file generated by the BaseTarget framework, + # and enables generating the .data files using the CLI. + self.targets.update({ + subclass.target_basename: subclass.generate_tests + for subclass in BaseTarget.__subclasses__() + if subclass.target_basename + }) + + def filename_for(self, basename: str) -> str: + """The location of the data file with the specified base name.""" + return posixpath.join(self.test_suite_directory, basename + '.data') + + def write_test_data_file(self, basename: str, + test_cases: Iterable[test_case.TestCase]) -> None: + """Write the test cases to a .data file. + + The output file is ``basename + '.data'`` in the test suite directory. + """ + filename = self.filename_for(basename) + test_case.write_data_file(filename, test_cases) + + # Note that targets whose names contain 'test_format' have their content + # validated by `abi_check.py`. + targets = {} # type: Dict[str, Callable[..., Iterable[test_case.TestCase]]] + + def generate_target(self, name: str, *target_args) -> None: + """Generate cases and write to data file for a target. + + For target callables which require arguments, override this function + and pass these arguments using super() (see PSATestGenerator). + """ + test_cases = self.targets[name](*target_args) + self.write_test_data_file(name, test_cases) + +def main(args, description: str, generator_class: Type[TestGenerator] = TestGenerator): + """Command line entry point.""" + parser = argparse.ArgumentParser(description=description) + parser.add_argument('--list', action='store_true', + help='List available targets and exit') + parser.add_argument('--list-for-cmake', action='store_true', + help='Print \';\'-separated list of available targets and exit') + # If specified explicitly, this option may be a path relative to the + # current directory when the script is invoked. The default value + # is relative to the mbedtls root, which we don't know yet. So we + # can't set a string as the default value here. + parser.add_argument('--directory', metavar='DIR', + help='Output directory (default: tests/suites)') + parser.add_argument('targets', nargs='*', metavar='TARGET', + help='Target file to generate (default: all; "-": none)') + options = parser.parse_args(args) + + # Change to the mbedtls root, to keep things simple. But first, adjust + # command line options that might be relative paths. + if options.directory is None: + options.directory = 'tests/suites' + else: + options.directory = os.path.abspath(options.directory) + build_tree.chdir_to_root() + + generator = generator_class(options) + if options.list: + for name in sorted(generator.targets): + print(generator.filename_for(name)) + return + # List in a cmake list format (i.e. ';'-separated) + if options.list_for_cmake: + print(';'.join(generator.filename_for(name) + for name in sorted(generator.targets)), end='') + return + if options.targets: + # Allow "-" as a special case so you can run + # ``generate_xxx_tests.py - $targets`` and it works uniformly whether + # ``$targets`` is empty or not. + options.targets = [os.path.basename(re.sub(r'\.data\Z', r'', target)) + for target in options.targets + if target != '-'] + else: + options.targets = sorted(generator.targets) + for target in options.targets: + generator.generate_target(target) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6049b74739..71dd70b9aa 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -16,28 +16,68 @@ endif() # generated .data files will go there file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/suites) -# Get base names for generated files (starting at "suites/") +# Get base names for generated files execute_process( COMMAND ${MBEDTLS_PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/../tests/scripts/generate_psa_tests.py + ${CMAKE_CURRENT_SOURCE_DIR}/../tests/scripts/generate_bignum_tests.py --list-for-cmake - --directory suites WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/.. OUTPUT_VARIABLE - base_generated_data_files) + base_bignum_generated_data_files) +string(REGEX REPLACE "[^;]*/" "" + base_bignum_generated_data_files "${base_bignum_generated_data_files}") -# Derive generated file paths in the build directory -set(generated_data_files "") -foreach(file ${base_generated_data_files}) - list(APPEND generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/${file}) +execute_process( + COMMAND + ${MBEDTLS_PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/../tests/scripts/generate_psa_tests.py + --list-for-cmake + WORKING_DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/.. + OUTPUT_VARIABLE + base_psa_generated_data_files) +string(REGEX REPLACE "[^;]*/" "" + base_psa_generated_data_files "${base_psa_generated_data_files}") + +# Derive generated file paths in the build directory. The generated data +# files go into the suites/ subdirectory. +set(base_generated_data_files + ${base_bignum_generated_data_files} ${base_psa_generated_data_files}) +string(REGEX REPLACE "([^;]+)" "suites/\\1" + all_generated_data_files "${base_generated_data_files}") +set(bignum_generated_data_files "") +set(psa_generated_data_files "") +foreach(file ${base_bignum_generated_data_files}) + list(APPEND bignum_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) +endforeach() +foreach(file ${base_psa_generated_data_files}) + list(APPEND psa_generated_data_files ${CMAKE_CURRENT_BINARY_DIR}/suites/${file}) endforeach() if(GEN_FILES) add_custom_command( OUTPUT - ${generated_data_files} + ${bignum_generated_data_files} + WORKING_DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/.. + COMMAND + ${MBEDTLS_PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/../tests/scripts/generate_bignum_tests.py + --directory ${CMAKE_CURRENT_BINARY_DIR}/suites + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/../tests/scripts/generate_bignum_tests.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/bignum_common.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/bignum_core.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/bignum_mod_raw.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/bignum_mod.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/test_case.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/test_data_generation.py + ) + add_custom_command( + OUTPUT + ${psa_generated_data_files} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/.. COMMAND @@ -50,13 +90,14 @@ if(GEN_FILES) ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/macro_collector.py ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/psa_storage.py ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/test_case.py + ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/mbedtls_dev/test_data_generation.py ${CMAKE_CURRENT_SOURCE_DIR}/../include/psa/crypto_config.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/psa/crypto_values.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/psa/crypto_extra.h ) else() - foreach(file ${base_generated_data_files}) + foreach(file ${all_generated_data_files}) link_to_source(${file}) endforeach() endif() @@ -65,7 +106,12 @@ endif() # they can cause race conditions in parallel builds. # With this line, only 4 sub-makefiles include the above command, that reduces # the risk of a race. -add_custom_target(test_suite_generated_data DEPENDS ${generated_data_files}) +add_custom_target(test_suite_bignum_generated_data DEPENDS ${bignum_generated_data_files}) +add_custom_target(test_suite_psa_generated_data DEPENDS ${psa_generated_data_files}) +# If SKIP_TEST_SUITES is not defined with -D, get it from the environment. +if((NOT DEFINED SKIP_TEST_SUITES) AND (DEFINED ENV{SKIP_TEST_SUITES})) + set(SKIP_TEST_SUITES $ENV{SKIP_TEST_SUITES}) +endif() # Test suites caught by SKIP_TEST_SUITES are built but not executed. # "foo" as a skip pattern skips "test_suite_foo" and "test_suite_foo.bar" # but not "test_suite_foobar". @@ -82,23 +128,39 @@ function(add_test_suite suite_name) # Get the test names of the tests with generated .data files # from the generated_data_files list in parent scope. - set(generated_data_names "") - foreach(generated_data_file ${generated_data_files}) + set(bignum_generated_data_names "") + set(psa_generated_data_names "") + foreach(generated_data_file ${bignum_generated_data_files}) # Get the plain filename get_filename_component(generated_data_name ${generated_data_file} NAME) # Remove the ".data" extension get_name_without_last_ext(generated_data_name ${generated_data_name}) # Remove leading "test_suite_" string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) - list(APPEND generated_data_names ${generated_data_name}) + list(APPEND bignum_generated_data_names ${generated_data_name}) + endforeach() + foreach(generated_data_file ${psa_generated_data_files}) + # Get the plain filename + get_filename_component(generated_data_name ${generated_data_file} NAME) + # Remove the ".data" extension + get_name_without_last_ext(generated_data_name ${generated_data_name}) + # Remove leading "test_suite_" + string(SUBSTRING ${generated_data_name} 11 -1 generated_data_name) + list(APPEND psa_generated_data_names ${generated_data_name}) endforeach() - if(";${generated_data_names};" MATCHES ";${data_name};") + if(";${bignum_generated_data_names};" MATCHES ";${data_name};") + set(data_file + ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) + set(dependency test_suite_bignum_generated_data) + elseif(";${psa_generated_data_names};" MATCHES ";${data_name};") set(data_file ${CMAKE_CURRENT_BINARY_DIR}/suites/test_suite_${data_name}.data) + set(dependency test_suite_psa_generated_data) else() set(data_file ${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${data_name}.data) + set(dependency test_suite_bignum_generated_data test_suite_psa_generated_data) endif() add_custom_command( @@ -129,7 +191,7 @@ function(add_test_suite suite_name) ) add_executable(test_suite_${data_name} test_suite_${data_name}.c $) - add_dependencies(test_suite_${data_name} test_suite_generated_data) + add_dependencies(test_suite_${data_name} ${dependency}) target_link_libraries(test_suite_${data_name} ${libs}) # Include test-specific header files from ./include and private header # files (used by some invasive tests) from ../library. Public header @@ -162,9 +224,9 @@ if(MSVC) endif(MSVC) file(GLOB test_suites RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" suites/*.data) -list(APPEND test_suites ${base_generated_data_files}) +list(APPEND test_suites ${all_generated_data_files}) # If the generated .data files are present in the source tree, we just added -# them twice, both through GLOB and through ${base_generated_data_files}. +# them twice, both through GLOB and through ${all_generated_data_files}. list(REMOVE_DUPLICATES test_suites) list(SORT test_suites) foreach(test_suite ${test_suites}) diff --git a/tests/Makefile b/tests/Makefile index 0d08f845d5..2d2d70a8f5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -66,28 +66,49 @@ PYTHON ?= $(shell if type python3 >/dev/null 2>/dev/null; then echo python3; els endif .PHONY: generated_files -GENERATED_DATA_FILES := $(patsubst tests/%,%,$(shell \ +GENERATED_BIGNUM_DATA_FILES := $(patsubst tests/%,%,$(shell \ + $(PYTHON) scripts/generate_bignum_tests.py --list || \ + echo FAILED \ +)) +ifeq ($(GENERATED_BIGNUM_DATA_FILES),FAILED) +$(error "$(PYTHON) scripts/generate_bignum_tests.py --list" failed) +endif +GENERATED_PSA_DATA_FILES := $(patsubst tests/%,%,$(shell \ $(PYTHON) scripts/generate_psa_tests.py --list || \ echo FAILED \ )) -ifeq ($(GENERATED_DATA_FILES),FAILED) +ifeq ($(GENERATED_PSA_DATA_FILES),FAILED) $(error "$(PYTHON) scripts/generate_psa_tests.py --list" failed) endif -GENERATED_FILES := $(GENERATED_DATA_FILES) +GENERATED_FILES := $(GENERATED_PSA_DATA_FILES) $(GENERATED_BIGNUM_DATA_FILES) generated_files: $(GENERATED_FILES) -# generate_psa_tests.py spends more time analyzing inputs than generating -# outputs. Its inputs are the same no matter which files are being generated. +# generate_bignum_tests.py and generate_psa_tests.py spend more time analyzing +# inputs than generating outputs. Its inputs are the same no matter which files +# are being generated. # It's rare not to want all the outputs. So always generate all of its outputs. # Use an intermediate phony dependency so that parallel builds don't run # a separate instance of the recipe for each output file. -.SECONDARY: generated_psa_test_data -$(GENERATED_DATA_FILES): generated_psa_test_data +.SECONDARY: generated_bignum_test_data generated_psa_test_data +$(GENERATED_BIGNUM_DATA_FILES): generated_bignum_test_data +generated_bignum_test_data: scripts/generate_bignum_tests.py +generated_bignum_test_data: ../scripts/mbedtls_dev/bignum_common.py +generated_bignum_test_data: ../scripts/mbedtls_dev/bignum_core.py +generated_bignum_test_data: ../scripts/mbedtls_dev/bignum_mod_raw.py +generated_bignum_test_data: ../scripts/mbedtls_dev/bignum_mod.py +generated_bignum_test_data: ../scripts/mbedtls_dev/test_case.py +generated_bignum_test_data: ../scripts/mbedtls_dev/test_data_generation.py +generated_bignum_test_data: + echo " Gen $(GENERATED_BIGNUM_DATA_FILES)" + $(PYTHON) scripts/generate_bignum_tests.py + +$(GENERATED_PSA_DATA_FILES): generated_psa_test_data generated_psa_test_data: scripts/generate_psa_tests.py generated_psa_test_data: ../scripts/mbedtls_dev/crypto_knowledge.py generated_psa_test_data: ../scripts/mbedtls_dev/macro_collector.py generated_psa_test_data: ../scripts/mbedtls_dev/psa_storage.py generated_psa_test_data: ../scripts/mbedtls_dev/test_case.py +generated_psa_test_data: ../scripts/mbedtls_dev/test_data_generation.py ## The generated file only depends on the options that are present in ## crypto_config.h, not on which options are set. To avoid regenerating this ## file all the time when switching between configurations, don't declare @@ -98,7 +119,7 @@ generated_psa_test_data: ../include/psa/crypto_values.h generated_psa_test_data: ../include/psa/crypto_extra.h generated_psa_test_data: suites/test_suite_psa_crypto_metadata.data generated_psa_test_data: - echo " Gen $(GENERATED_DATA_FILES) ..." + echo " Gen $(GENERATED_PSA_DATA_FILES) ..." $(PYTHON) scripts/generate_psa_tests.py # A test application is built for each suites/test_suite_*.data file. @@ -107,7 +128,7 @@ generated_psa_test_data: DATA_FILES := $(wildcard suites/test_suite_*.data) # Make sure that generated data files are included even if they don't # exist yet when the makefile is parsed. -DATA_FILES += $(filter-out $(DATA_FILES),$(GENERATED_DATA_FILES)) +DATA_FILES += $(filter-out $(DATA_FILES),$(GENERATED_FILES)) APPS = $(basename $(subst suites/,,$(DATA_FILES))) # Construct executable name by adding OS specific suffix $(EXEXT). diff --git a/tests/compat.sh b/tests/compat.sh index d681217127..529c2c5422 100755 --- a/tests/compat.sh +++ b/tests/compat.sh @@ -595,6 +595,20 @@ setup_arguments() G_CLIENT_ARGS="-p $PORT --debug 3 $G_MODE" G_CLIENT_PRIO="NONE:$G_PRIO_MODE:+COMP-NULL:+CURVE-ALL:+SIGN-ALL" + # Newer versions of OpenSSL have a syntax to enable all "ciphers", even + # low-security ones. This covers not just cipher suites but also protocol + # versions. It is necessary, for example, to use (D)TLS 1.0/1.1 on + # OpenSSL 1.1.1f from Ubuntu 20.04. The syntax was only introduced in + # OpenSSL 1.1.0 (21e0c1d23afff48601eb93135defddae51f7e2e3) and I can't find + # a way to discover it from -help, so check the openssl version. + case $($OPENSSL_CMD version) in + "OpenSSL 0"*|"OpenSSL 1.0"*) :;; + *) + O_CLIENT_ARGS="$O_CLIENT_ARGS -cipher ALL@SECLEVEL=0" + O_SERVER_ARGS="$O_SERVER_ARGS -cipher ALL@SECLEVEL=0" + ;; + esac + if [ "X$VERIFY" = "XYES" ]; then M_SERVER_ARGS="$M_SERVER_ARGS ca_file=data_files/test-ca_cat12.crt auth_mode=required" diff --git a/tests/configs/tls13-only.h b/tests/configs/tls13-only.h index 0a22c544b7..963086f316 100644 --- a/tests/configs/tls13-only.h +++ b/tests/configs/tls13-only.h @@ -22,9 +22,11 @@ * limitations under the License. */ +/* Enable TLS 1.3 and core 1.3 features */ #define MBEDTLS_SSL_PROTO_TLS1_3 #define MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +/* Disable TLS 1.2 and 1.2-specific features */ #undef MBEDTLS_SSL_ENCRYPT_THEN_MAC #undef MBEDTLS_SSL_EXTENDED_MASTER_SECRET #undef MBEDTLS_SSL_PROTO_TLS1_2 @@ -32,3 +34,8 @@ #undef MBEDTLS_SSL_DTLS_ANTI_REPLAY #undef MBEDTLS_SSL_DTLS_HELLO_VERIFY #undef MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE +#undef MBEDTLS_SSL_DTLS_CONNECTION_ID +#undef MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT + +/* Enable some invasive tests */ +#define MBEDTLS_TEST_HOOKS diff --git a/tests/data_files/Makefile b/tests/data_files/Makefile index 6187d17bc3..388b0ce413 100644 --- a/tests/data_files/Makefile +++ b/tests/data_files/Makefile @@ -276,8 +276,11 @@ all_final += server5-ss-forgeca.crt server5-othername.crt: server5.key $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions othername_san -days 3650 -sha256 -key $< -out $@ +server5-nonprintable_othername.crt: server5.key + $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS non-printable othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions nonprintable_othername_san -days 3650 -sha256 -key $< -out $@ + server5-unsupported_othername.crt: server5.key - $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS unsupported othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions unsupoported_othername_san -days 3650 -sha256 -key $< -out $@ + $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS unsupported othername SAN" -set_serial 77 -config $(test_ca_config_file) -extensions unsupported_othername_san -days 3650 -sha256 -key $< -out $@ server5-fan.crt: server5.key $(OPENSSL) req -x509 -new -subj "/C=UK/O=Mbed TLS/CN=Mbed TLS FAN" -set_serial 77 -config $(test_ca_config_file) -extensions fan_cert -days 3650 -sha256 -key server5.key -out $@ @@ -881,6 +884,11 @@ server1.req.sha256: server1.key $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA256 all_final += server1.req.sha256 +server1.req.sha256.ext: server1.key + # Generating this with OpenSSL as a comparison point to test we're getting the same result + openssl req -new -out $@ -key $< -subj '/C=NL/O=PolarSSL/CN=PolarSSL Server 1' -sha256 -addext "extendedKeyUsage=serverAuth" +all_final += server1.req.sha256.ext + server1.req.sha384: server1.key $(MBEDTLS_CERT_REQ) output_file=$@ filename=$< subject_name="C=NL,O=PolarSSL,CN=PolarSSL Server 1" md=SHA384 all_final += server1.req.sha384 @@ -1131,6 +1139,108 @@ ecdsa_secp521r1.crt: ecdsa_secp521r1.csr all_final += ecdsa_secp521r1.crt ecdsa_secp521r1.key tls13_certs: ecdsa_secp521r1.crt ecdsa_secp521r1.key +# PKCS7 test data +pkcs7_test_cert_1 = pkcs7-rsa-sha256-1.crt +pkcs7_test_cert_2 = pkcs7-rsa-sha256-2.crt +pkcs7_test_file = pkcs7_data.bin + +$(pkcs7_test_file): + echo -e "Hello\xd" > $@ +all_final += $(pkcs7_test_file) + +pkcs7_data_1.bin: + echo -e "2\xd" > $@ +all_final += pkcs7_data_1.bin + +# Generate signing cert +pkcs7-rsa-sha256-1.crt: + $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 1" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-1.key -out pkcs7-rsa-sha256-1.crt + cat pkcs7-rsa-sha256-1.crt pkcs7-rsa-sha256-1.key > pkcs7-rsa-sha256-1.pem +all_final += pkcs7-rsa-sha256-1.crt + +pkcs7-rsa-sha256-2.crt: + $(OPENSSL) req -x509 -subj="/C=NL/O=PKCS7/CN=PKCS7 Cert 2" -sha256 -nodes -days 365 -newkey rsa:2048 -keyout pkcs7-rsa-sha256-2.key -out pkcs7-rsa-sha256-2.crt + cat pkcs7-rsa-sha256-2.crt pkcs7-rsa-sha256-2.key > pkcs7-rsa-sha256-2.pem +all_final += pkcs7-rsa-sha256-2.crt + +# Convert signing certs to DER for testing PEM-free builds +pkcs7-rsa-sha256-1.der: $(pkcs7_test_cert_1) + $(OPENSSL) x509 -in pkcs7-rsa-sha256-1.crt -out $@ -outform DER +all_final += pkcs7-rsa-sha256-1.der + +pkcs7-rsa-sha256-2.der: $(pkcs7_test_cert_2) + $(OPENSSL) x509 -in pkcs7-rsa-sha256-2.crt -out $@ -outform DER +all_final += pkcs7-rsa-sha256-2.der + +# pkcs7 signature file with CERT +pkcs7_data_cert_signed_sha256.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@ +all_final += pkcs7_data_cert_signed_sha256.der + +# pkcs7 signature file with CERT and sha1 +pkcs7_data_cert_signed_sha1.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha1 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@ +all_final += pkcs7_data_cert_signed_sha1.der + +# pkcs7 signature file with CERT and sha512 +pkcs7_data_cert_signed_sha512.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha512 -signer pkcs7-rsa-sha256-1.pem -noattr -outform DER -out $@ +all_final += pkcs7_data_cert_signed_sha512.der + +# pkcs7 signature file without CERT +pkcs7_data_without_cert_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -nocerts -noattr -outform DER -out $@ +all_final += pkcs7_data_without_cert_signed.der + +# pkcs7 signature file with multiple signers +pkcs7_data_multiple_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -nocerts -noattr -outform DER -out $@ +all_final += pkcs7_data_multiple_signed.der + +# pkcs7 signature file with multiple certificates +pkcs7_data_multiple_certs_signed.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) $(pkcs7_test_cert_2) + $(OPENSSL) smime -sign -binary -in pkcs7_data.bin -out $@ -md sha256 -signer pkcs7-rsa-sha256-1.pem -signer pkcs7-rsa-sha256-2.pem -noattr -outform DER -out $@ +all_final += pkcs7_data_multiple_certs_signed.der + +# pkcs7 signature file with corrupted CERT +pkcs7_data_signed_badcert.der: pkcs7_data_cert_signed_sha256.der + cp pkcs7_data_cert_signed_sha256.der $@ + echo -en '\xa1' | dd of=$@ bs=1 seek=547 conv=notrunc +all_final += pkcs7_data_signed_badcert.der + +# pkcs7 signature file with corrupted signer info +pkcs7_data_signed_badsigner.der: pkcs7_data_cert_signed_sha256.der + cp pkcs7_data_cert_signed_sha256.der $@ + echo -en '\xa1' | dd of=$@ bs=1 seek=918 conv=notrunc +all_final += pkcs7_data_signed_badsigner.der + +# pkcs7 file with version 2 +pkcs7_data_cert_signed_v2.der: pkcs7_data_cert_signed_sha256.der + cp pkcs7_data_cert_signed_sha256.der $@ + echo -en '\x02' | dd of=$@ bs=1 seek=25 conv=notrunc +all_final += pkcs7_data_cert_signed_v2.der + +pkcs7_data_cert_encrypted.der: $(pkcs7_test_file) $(pkcs7_test_cert_1) + $(OPENSSL) smime -encrypt -aes256 -in pkcs7_data.bin -binary -outform DER -out $@ pkcs7-rsa-sha256-1.crt +all_final += pkcs7_data_cert_encrypted.der + +## Negative tests +# For some interesting sizes, what happens if we make them off-by-one? +pkcs7_signerInfo_issuer_invalid_size.der: pkcs7_data_cert_signed_sha256.der + cp $< $@ + echo -en '\x35' | dd of=$@ seek=919 bs=1 conv=notrunc +all_final += pkcs7_signerInfo_issuer_invalid_size.der + +pkcs7_signerInfo_serial_invalid_size.der: pkcs7_data_cert_signed_sha256.der + cp $< $@ + echo -en '\x15' | dd of=$@ seek=973 bs=1 conv=notrunc +all_final += pkcs7_signerInfo_serial_invalid_size.der + +# pkcs7 signature file just with signed data +pkcs7_data_cert_signeddata_sha256.der: pkcs7_data_cert_signed_sha256.der + dd if=pkcs7_data_cert_signed_sha256.der of=$@ skip=19 bs=1 +all_final += pkcs7_data_cert_signeddata_sha256.der + ################################################################ #### Diffie-Hellman parameters ################################################################ diff --git a/tests/data_files/dh.optlen.der b/tests/data_files/dh.optlen.der new file mode 100644 index 0000000000..3c3bf1780e Binary files /dev/null and b/tests/data_files/dh.optlen.der differ diff --git a/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux new file mode 100644 index 0000000000..967f8f5e00 Binary files /dev/null and b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux differ diff --git a/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv new file mode 100644 index 0000000000..ab1b23f66a Binary files /dev/null and b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv differ diff --git a/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_pub b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_pub new file mode 100644 index 0000000000..5397d60f07 Binary files /dev/null and b/tests/data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_pub differ diff --git a/tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv b/tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv new file mode 100644 index 0000000000..db85e01b7d Binary files /dev/null and b/tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv differ diff --git a/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv b/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv new file mode 100644 index 0000000000..6e827ceb9a Binary files /dev/null and b/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv differ diff --git a/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_pub b/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_pub new file mode 100644 index 0000000000..652c0897c8 Binary files /dev/null and b/tests/data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_pub differ diff --git a/tests/data_files/mpi_10 b/tests/data_files/mpi_10 deleted file mode 100644 index ab5e0d35ff..0000000000 --- a/tests/data_files/mpi_10 +++ /dev/null @@ -1 +0,0 @@ -label_1234567890=643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153 diff --git a/tests/data_files/mpi_16 b/tests/data_files/mpi_16 new file mode 100644 index 0000000000..04335d9807 --- /dev/null +++ b/tests/data_files/mpi_16 @@ -0,0 +1 @@ +label_1234567890=1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09 diff --git a/tests/data_files/pkcs7-rsa-sha256-1.crt b/tests/data_files/pkcs7-rsa-sha256-1.crt new file mode 100644 index 0000000000..9e461cd0c6 --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-1.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDSTCCAjGgAwIBAgIUe97d0kRM0c3+XEGoECyJt98ubL8wDQYJKoZIhvcNAQEL +BQAwNDELMAkGA1UEBhMCTkwxDjAMBgNVBAoMBVBLQ1M3MRUwEwYDVQQDDAxQS0NT +NyBDZXJ0IDEwHhcNMjIxMDI4MTYxMDU2WhcNMjMxMDI4MTYxMDU2WjA0MQswCQYD +VQQGEwJOTDEOMAwGA1UECgwFUEtDUzcxFTATBgNVBAMMDFBLQ1M3IENlcnQgMTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMi2z2mJnNHw67TKZFwF5w4N +Lv7dzGHQicvVFaOaNXm5I0O2HsdQBg+07TeHYzJADkJfHTdsfnXClzMU7fS7MMj4 +3QO5/P+VWiRdSRN61uYAVsrBlVKoZdUhhxh8wELJxJ4+OpwXpTS0U82rwMsRO09j +9bMXS57pkCsZENEUlqJ5p0Mmrc/uEL/Z5+uvuzd76bY5WRZdE91XURccra08HTra +xovIAR1htUz2AXi+NoOaiayRq0GePKN9a6iB0lUYxNtovKb3yDYC9pmoaxf7Hnc7 +y+dLuTpJslGuhkKLV0Dhhoux1vq54ocS6Y7DGa2Pyk1zAQxLCcS4BFiWHnzwg1MC +AwEAAaNTMFEwHQYDVR0OBBYEFIru5ZR8xnxd1RWnbip+zTHuUv3IMB8GA1UdIwQY +MBaAFIru5ZR8xnxd1RWnbip+zTHuUv3IMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAIIda5jNRX3r0rCBrKJ+vs1Pk6zIKEQ7Oeq/+p+k6eRUO0b8 +wx4rW0gXeQPeppaaxKLMZXBlA5DxsI1DpML5dcfti/M1bHIYOAISRRqPEd5GVTy8 +1ltCVN249mg06yHdoqjzO1geFIRVesoblO6JMd3xYDe3pxcTIakZNq/Cf/zjld51 +1fcMuLWu4F/1BwiNZa8eQ5Zs1Cy+b3+s+NrgVd2CIrFpZSFyP4EkUXhZXJha6Rf9 +SzmYdz4al7e9EAhURvQlm8wJpFSSkoLBuJtx7Vh6d14KPUU2NB9F2ulp6AbJb+/H +EGd3bAK6IhIrkZmxTAwowESHUJBwuX890tbZcnM= +-----END CERTIFICATE----- diff --git a/tests/data_files/pkcs7-rsa-sha256-1.der b/tests/data_files/pkcs7-rsa-sha256-1.der new file mode 100644 index 0000000000..0d799ea335 Binary files /dev/null and b/tests/data_files/pkcs7-rsa-sha256-1.der differ diff --git a/tests/data_files/pkcs7-rsa-sha256-1.key b/tests/data_files/pkcs7-rsa-sha256-1.key new file mode 100644 index 0000000000..e31159d561 --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-1.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIts9piZzR8Ou0 +ymRcBecODS7+3cxh0InL1RWjmjV5uSNDth7HUAYPtO03h2MyQA5CXx03bH51wpcz +FO30uzDI+N0Dufz/lVokXUkTetbmAFbKwZVSqGXVIYcYfMBCycSePjqcF6U0tFPN +q8DLETtPY/WzF0ue6ZArGRDRFJaieadDJq3P7hC/2efrr7s3e+m2OVkWXRPdV1EX +HK2tPB062saLyAEdYbVM9gF4vjaDmomskatBnjyjfWuogdJVGMTbaLym98g2AvaZ +qGsX+x53O8vnS7k6SbJRroZCi1dA4YaLsdb6ueKHEumOwxmtj8pNcwEMSwnEuARY +lh588INTAgMBAAECggEBAIg+P1B+TurbRMQ11iX5A7wwCsSKPh/vdHneLJAfL0lu ++JcP2piko1iqEZPt3NHRVVyMP8LNbJH3Ardz74p+PkFNXIkZCLlc4hFpGR+V9KWv +eTqsaPXwxR8FYTSoCcHMQCDCUPp/um6qMXCcs4OkMMRVMATfPT+jf28h1p52AUJL +aAoBJfn7gP3WiB0FWq0bRZgSZzNYowE/MhGAQ+DuBGTSASSK3YJcxE94044fBVE8 +EqYKrxoY/x56li5cZ0v9kaURCrvhqCeq2+U5kIkgtvp2l6wF0Mm1du3BLxo2LQEI +Y2j+6BFEV74Mtv48GTwrZcyit787zyo9vVGcviSD5VECgYEA/mgLc5KfF/cQLmM/ +20T4k0edvktkRIJHFUBphowt5Hb0a0wM5C1VM4z3yN3b9ikQK+ZaQXETdPATBXIe +LntX1D1xtbMxdcAfd1FSq8QxAuaPknJZBgtzlpCsx3ZvMnNuzKZN/TU8kR1biwPE +9HaeEG3bouUu+CI/l/DqrBbQRacCgYEAyfiqsLWGhXQ7e3pLk47PDYlMOsjDWPjs +SGcatH1/lIMWyZue4W2IUcFMbpbjA6QWibo3VnOavIRSTn97JNUWYvgc5MmaQ7iX +Iss4m3vJ1LIqx30iUgw3EfDoWdpufEEYssZ/VxJPs3sdmZGALgd3CaqxHJuhuS+U +eVhWzD6LonUCgYBRCbt8GRxsedrBrAPPSO0VnR52W3WZDRavglEa9tQ3jlzVQOhq +VrZpMWJMrb8/bl0kXsApUGeuPDsS5QMQM2IKzXfHNUlwBL8BNvpqlJg4IFFjiOEq +t8MeFv+ymdtZ6sNElUUKf0bHwt5CLfUzGgXHnfb0sKSBjgdL0wYtwyacyQKBgQDJ +NcyG4zEy/srLhtiIFnu8Fo40+hFzL/nlX6JBMc3KHJa1Hy43krF+ET6d5gAffndd +moDKxbzgFksRHPuHhCobSucuHpJq6RjYdvDcJYS7OwxXVRi9+KFcZE52RaBQdWGv +qQTvr7RrMDoa5dN3B8TVgpGT2JBTN02JXjKKo7zkiQKBgCZwKDiXl7qsGidvlFZc +4CEtFsCgnNgdRTzsTL/Pr8q9CBK3BhjZjNzQALF1iGFDC1FdFYFOwI1E3j+MRHJB +rQMF8zbmmlZ6SC5QtqatCSCCKUyrUjD5J+4UfJqWFjiBBdwz+5VJojHw1yijEwl4 +LrS/V2yBrDJVczQQM4psonLF +-----END PRIVATE KEY----- diff --git a/tests/data_files/pkcs7-rsa-sha256-1.pem b/tests/data_files/pkcs7-rsa-sha256-1.pem new file mode 100644 index 0000000000..3795b71887 --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-1.pem @@ -0,0 +1,48 @@ +-----BEGIN CERTIFICATE----- +MIIDSTCCAjGgAwIBAgIUe97d0kRM0c3+XEGoECyJt98ubL8wDQYJKoZIhvcNAQEL +BQAwNDELMAkGA1UEBhMCTkwxDjAMBgNVBAoMBVBLQ1M3MRUwEwYDVQQDDAxQS0NT +NyBDZXJ0IDEwHhcNMjIxMDI4MTYxMDU2WhcNMjMxMDI4MTYxMDU2WjA0MQswCQYD +VQQGEwJOTDEOMAwGA1UECgwFUEtDUzcxFTATBgNVBAMMDFBLQ1M3IENlcnQgMTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMi2z2mJnNHw67TKZFwF5w4N +Lv7dzGHQicvVFaOaNXm5I0O2HsdQBg+07TeHYzJADkJfHTdsfnXClzMU7fS7MMj4 +3QO5/P+VWiRdSRN61uYAVsrBlVKoZdUhhxh8wELJxJ4+OpwXpTS0U82rwMsRO09j +9bMXS57pkCsZENEUlqJ5p0Mmrc/uEL/Z5+uvuzd76bY5WRZdE91XURccra08HTra +xovIAR1htUz2AXi+NoOaiayRq0GePKN9a6iB0lUYxNtovKb3yDYC9pmoaxf7Hnc7 +y+dLuTpJslGuhkKLV0Dhhoux1vq54ocS6Y7DGa2Pyk1zAQxLCcS4BFiWHnzwg1MC +AwEAAaNTMFEwHQYDVR0OBBYEFIru5ZR8xnxd1RWnbip+zTHuUv3IMB8GA1UdIwQY +MBaAFIru5ZR8xnxd1RWnbip+zTHuUv3IMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAIIda5jNRX3r0rCBrKJ+vs1Pk6zIKEQ7Oeq/+p+k6eRUO0b8 +wx4rW0gXeQPeppaaxKLMZXBlA5DxsI1DpML5dcfti/M1bHIYOAISRRqPEd5GVTy8 +1ltCVN249mg06yHdoqjzO1geFIRVesoblO6JMd3xYDe3pxcTIakZNq/Cf/zjld51 +1fcMuLWu4F/1BwiNZa8eQ5Zs1Cy+b3+s+NrgVd2CIrFpZSFyP4EkUXhZXJha6Rf9 +SzmYdz4al7e9EAhURvQlm8wJpFSSkoLBuJtx7Vh6d14KPUU2NB9F2ulp6AbJb+/H +EGd3bAK6IhIrkZmxTAwowESHUJBwuX890tbZcnM= +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIts9piZzR8Ou0 +ymRcBecODS7+3cxh0InL1RWjmjV5uSNDth7HUAYPtO03h2MyQA5CXx03bH51wpcz +FO30uzDI+N0Dufz/lVokXUkTetbmAFbKwZVSqGXVIYcYfMBCycSePjqcF6U0tFPN +q8DLETtPY/WzF0ue6ZArGRDRFJaieadDJq3P7hC/2efrr7s3e+m2OVkWXRPdV1EX +HK2tPB062saLyAEdYbVM9gF4vjaDmomskatBnjyjfWuogdJVGMTbaLym98g2AvaZ +qGsX+x53O8vnS7k6SbJRroZCi1dA4YaLsdb6ueKHEumOwxmtj8pNcwEMSwnEuARY +lh588INTAgMBAAECggEBAIg+P1B+TurbRMQ11iX5A7wwCsSKPh/vdHneLJAfL0lu ++JcP2piko1iqEZPt3NHRVVyMP8LNbJH3Ardz74p+PkFNXIkZCLlc4hFpGR+V9KWv +eTqsaPXwxR8FYTSoCcHMQCDCUPp/um6qMXCcs4OkMMRVMATfPT+jf28h1p52AUJL +aAoBJfn7gP3WiB0FWq0bRZgSZzNYowE/MhGAQ+DuBGTSASSK3YJcxE94044fBVE8 +EqYKrxoY/x56li5cZ0v9kaURCrvhqCeq2+U5kIkgtvp2l6wF0Mm1du3BLxo2LQEI +Y2j+6BFEV74Mtv48GTwrZcyit787zyo9vVGcviSD5VECgYEA/mgLc5KfF/cQLmM/ +20T4k0edvktkRIJHFUBphowt5Hb0a0wM5C1VM4z3yN3b9ikQK+ZaQXETdPATBXIe +LntX1D1xtbMxdcAfd1FSq8QxAuaPknJZBgtzlpCsx3ZvMnNuzKZN/TU8kR1biwPE +9HaeEG3bouUu+CI/l/DqrBbQRacCgYEAyfiqsLWGhXQ7e3pLk47PDYlMOsjDWPjs +SGcatH1/lIMWyZue4W2IUcFMbpbjA6QWibo3VnOavIRSTn97JNUWYvgc5MmaQ7iX +Iss4m3vJ1LIqx30iUgw3EfDoWdpufEEYssZ/VxJPs3sdmZGALgd3CaqxHJuhuS+U +eVhWzD6LonUCgYBRCbt8GRxsedrBrAPPSO0VnR52W3WZDRavglEa9tQ3jlzVQOhq +VrZpMWJMrb8/bl0kXsApUGeuPDsS5QMQM2IKzXfHNUlwBL8BNvpqlJg4IFFjiOEq +t8MeFv+ymdtZ6sNElUUKf0bHwt5CLfUzGgXHnfb0sKSBjgdL0wYtwyacyQKBgQDJ +NcyG4zEy/srLhtiIFnu8Fo40+hFzL/nlX6JBMc3KHJa1Hy43krF+ET6d5gAffndd +moDKxbzgFksRHPuHhCobSucuHpJq6RjYdvDcJYS7OwxXVRi9+KFcZE52RaBQdWGv +qQTvr7RrMDoa5dN3B8TVgpGT2JBTN02JXjKKo7zkiQKBgCZwKDiXl7qsGidvlFZc +4CEtFsCgnNgdRTzsTL/Pr8q9CBK3BhjZjNzQALF1iGFDC1FdFYFOwI1E3j+MRHJB +rQMF8zbmmlZ6SC5QtqatCSCCKUyrUjD5J+4UfJqWFjiBBdwz+5VJojHw1yijEwl4 +LrS/V2yBrDJVczQQM4psonLF +-----END PRIVATE KEY----- diff --git a/tests/data_files/pkcs7-rsa-sha256-2.crt b/tests/data_files/pkcs7-rsa-sha256-2.crt new file mode 100644 index 0000000000..a0df7d93db --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-2.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDSTCCAjGgAwIBAgIUVk1VQCWvWZ4ycHmycg7wDfN8+3wwDQYJKoZIhvcNAQEL +BQAwNDELMAkGA1UEBhMCTkwxDjAMBgNVBAoMBVBLQ1M3MRUwEwYDVQQDDAxQS0NT +NyBDZXJ0IDIwHhcNMjIxMDI4MTYxMDU2WhcNMjMxMDI4MTYxMDU2WjA0MQswCQYD +VQQGEwJOTDEOMAwGA1UECgwFUEtDUzcxFTATBgNVBAMMDFBLQ1M3IENlcnQgMjCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMmVNZZ0/qcT+h/lVNO+gP65 +lERTTudQ15h8QTLjaKhx5SSTLnuUhD0jLbR+ng8PMqdJ8ePkZEh1+7mi9MHzID4Y +c47jH8M+Jc/JdBr6cSjbFd23QHESUjKKmV1IjSHc6Llbxe962z4gEXYjJAMkfr6B +g1iecK3AlnEI4F0BsQfC5dgA4Qce2okvcTuhYgvHtLZ+UN4ca50Kw0o4u5FYdl89 +KDCE4zNp8MaaxGC83xcM4A9XqjHyZ7a2wvACTlmLQ2q/E+RN/8THEel4Y+yv82Uj +j2LqqEaA06dvSdOPdaGz9jUZauqBw7TcuGGVzrrsZ0g/sHXKng9TppehAV/HrJUC +AwEAAaNTMFEwHQYDVR0OBBYEFI5FVrtfLwPXRERcyVX6qBVvfoduMB8GA1UdIwQY +MBaAFI5FVrtfLwPXRERcyVX6qBVvfoduMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAKRl0wgREe6eAduJSV5fs+Ec0s2qs2lHQqt/0JGEIbZBBtka +q1UH9CIMMAd6Kb0kh5GlJT2shg/EAYWoitMwntkeRYTln2k2/B5jux+U5Ph4HyC+ +ad2GqmsoXWDru79rltT7Pv1hS1ofJyQ4Jv88vQA/SuIIRGdTC24VAVgg00JxvDRB +xeqsQ9Pld4ebg4VvqsInnSpmKCcxfWxFhJk/Ax8bK/tV/GnrPiwsvry1j9nZyebS +IyI01/6DwJS2ZhFnsLGyPHFOAFNtomjIdQ6gf2L1wq0qiGOKj/K9IzFNCpCz82a+ +gMgqFzCT5TCZC16kUG2NA2pXAx9O4uppKjRk97U= +-----END CERTIFICATE----- diff --git a/tests/data_files/pkcs7-rsa-sha256-2.der b/tests/data_files/pkcs7-rsa-sha256-2.der new file mode 100644 index 0000000000..fc7a3eabf7 Binary files /dev/null and b/tests/data_files/pkcs7-rsa-sha256-2.der differ diff --git a/tests/data_files/pkcs7-rsa-sha256-2.key b/tests/data_files/pkcs7-rsa-sha256-2.key new file mode 100644 index 0000000000..659c015666 --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-2.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJlTWWdP6nE/of +5VTTvoD+uZREU07nUNeYfEEy42ioceUkky57lIQ9Iy20fp4PDzKnSfHj5GRIdfu5 +ovTB8yA+GHOO4x/DPiXPyXQa+nEo2xXdt0BxElIyipldSI0h3Oi5W8Xvets+IBF2 +IyQDJH6+gYNYnnCtwJZxCOBdAbEHwuXYAOEHHtqJL3E7oWILx7S2flDeHGudCsNK +OLuRWHZfPSgwhOMzafDGmsRgvN8XDOAPV6ox8me2tsLwAk5Zi0NqvxPkTf/ExxHp +eGPsr/NlI49i6qhGgNOnb0nTj3Whs/Y1GWrqgcO03Lhhlc667GdIP7B1yp4PU6aX +oQFfx6yVAgMBAAECggEBAMVHm3w134qQCHfyroPTqtaftDTx+wRyn6yB3iT5XdGM +NZ8H07Pp80kKBo7gY7uFOiNyQKKxQFuR69sPWc3+LI3YzC8IpGslhUfHdjN46gn7 +73hfAVgnf/4qmlEq0cRUOAY/hIUMjUhNhglB9tqEeu3iPjMaTFgfZJwW/czH/QMD +w4zj5XoLgwRkqVvUceu/dBgV8KP5DpON+q8wpfWtjunv7rg5Nc3BVBrpb5SadJ7T +i5TsS+pZQyp+mTvyCI3A1hkr2Vw5tULWO8SPhuEQkdtC/CL+luCUO7L16lU6KhFB +qP5Fduik5skyLCVvAMUkjKcrC22k0gkhOHvfmMhjaAECgYEA68+hAQIiV9ErZGk9 +ZLu+VJHBSPmEQCkUcbviwzoRo8YSyka12TZERy+NJcvmD9deNgFbp8GyZf01XJWH +slSYt6LyInrJrTpv+3q2Vl5GQp0f+39i7MHnwGGKbWsDbSAm+L9yKTJzYJz1O5fo +in06AiyyGPwnXd1cm5bTXVX+dQECgYEA2tdi6DXF8awE23pv4HphPBhXS5hmYP/D +NC7CtP8wQsxjPdiIxkBFFVEaFCC2njq1VhTyJb5noJM4kOIwcoaQ/zgyyxQa0u7w ++CqvAh1WwG+sT/B7vivrtDmmYeyGQapFo5DRIz+MflKAhzDhtnEyT9vLuCdn8J95 +0YvxZJ9+k5UCgYEAh+e7SER9nJUt6AoLWyIlGMKEXlWIFh5W7RG3KIMwJW6D59aG ++fAfu9M5Cx6PsnOSlZeExpOJCOS9O2Xmti2xcqzT1nFkCJWUcqCPtAlTfxLlmuIZ +FpDOy36r9FHnwJ32OAjGd93ex0DOyZDMcfyoURaHcoTo/10UAYwUt0dXhwECgYAI +xad2TWmA1XdgYNkJM36gTQ16v0IjUz084z70yGHj25OC0CIzaDIct6KG+gS39Px9 +1dsa/jXjLuOOkzKD9LbtNBB9KXIl0GQiXnujZw+qKQ/MKISdS99n2wO7WyLKkQu3 +kb+AXTTBf4cdZC04BfORVesll5bIA2x7pNNpSCdnvQKBgG7VXYcPlIV7iAyi2xFa +uN1jccu/AK7xA0G1jz2SHNlpet74LmWR8XsTujJeo8WG1IRFxSky4h/pAP0XWIFO +0LPK7eeDtnFq6y1/DXpI+/9BWX5T/8+4Yk93p37YrBVWKfd21dhrAklQs11m3rlQ +Qn6c/zyvMKSyrCVxo5pTd5Il +-----END PRIVATE KEY----- diff --git a/tests/data_files/pkcs7-rsa-sha256-2.pem b/tests/data_files/pkcs7-rsa-sha256-2.pem new file mode 100644 index 0000000000..b11a00a199 --- /dev/null +++ b/tests/data_files/pkcs7-rsa-sha256-2.pem @@ -0,0 +1,48 @@ +-----BEGIN CERTIFICATE----- +MIIDSTCCAjGgAwIBAgIUVk1VQCWvWZ4ycHmycg7wDfN8+3wwDQYJKoZIhvcNAQEL +BQAwNDELMAkGA1UEBhMCTkwxDjAMBgNVBAoMBVBLQ1M3MRUwEwYDVQQDDAxQS0NT +NyBDZXJ0IDIwHhcNMjIxMDI4MTYxMDU2WhcNMjMxMDI4MTYxMDU2WjA0MQswCQYD +VQQGEwJOTDEOMAwGA1UECgwFUEtDUzcxFTATBgNVBAMMDFBLQ1M3IENlcnQgMjCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMmVNZZ0/qcT+h/lVNO+gP65 +lERTTudQ15h8QTLjaKhx5SSTLnuUhD0jLbR+ng8PMqdJ8ePkZEh1+7mi9MHzID4Y +c47jH8M+Jc/JdBr6cSjbFd23QHESUjKKmV1IjSHc6Llbxe962z4gEXYjJAMkfr6B +g1iecK3AlnEI4F0BsQfC5dgA4Qce2okvcTuhYgvHtLZ+UN4ca50Kw0o4u5FYdl89 +KDCE4zNp8MaaxGC83xcM4A9XqjHyZ7a2wvACTlmLQ2q/E+RN/8THEel4Y+yv82Uj +j2LqqEaA06dvSdOPdaGz9jUZauqBw7TcuGGVzrrsZ0g/sHXKng9TppehAV/HrJUC +AwEAAaNTMFEwHQYDVR0OBBYEFI5FVrtfLwPXRERcyVX6qBVvfoduMB8GA1UdIwQY +MBaAFI5FVrtfLwPXRERcyVX6qBVvfoduMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAKRl0wgREe6eAduJSV5fs+Ec0s2qs2lHQqt/0JGEIbZBBtka +q1UH9CIMMAd6Kb0kh5GlJT2shg/EAYWoitMwntkeRYTln2k2/B5jux+U5Ph4HyC+ +ad2GqmsoXWDru79rltT7Pv1hS1ofJyQ4Jv88vQA/SuIIRGdTC24VAVgg00JxvDRB +xeqsQ9Pld4ebg4VvqsInnSpmKCcxfWxFhJk/Ax8bK/tV/GnrPiwsvry1j9nZyebS +IyI01/6DwJS2ZhFnsLGyPHFOAFNtomjIdQ6gf2L1wq0qiGOKj/K9IzFNCpCz82a+ +gMgqFzCT5TCZC16kUG2NA2pXAx9O4uppKjRk97U= +-----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJlTWWdP6nE/of +5VTTvoD+uZREU07nUNeYfEEy42ioceUkky57lIQ9Iy20fp4PDzKnSfHj5GRIdfu5 +ovTB8yA+GHOO4x/DPiXPyXQa+nEo2xXdt0BxElIyipldSI0h3Oi5W8Xvets+IBF2 +IyQDJH6+gYNYnnCtwJZxCOBdAbEHwuXYAOEHHtqJL3E7oWILx7S2flDeHGudCsNK +OLuRWHZfPSgwhOMzafDGmsRgvN8XDOAPV6ox8me2tsLwAk5Zi0NqvxPkTf/ExxHp +eGPsr/NlI49i6qhGgNOnb0nTj3Whs/Y1GWrqgcO03Lhhlc667GdIP7B1yp4PU6aX +oQFfx6yVAgMBAAECggEBAMVHm3w134qQCHfyroPTqtaftDTx+wRyn6yB3iT5XdGM +NZ8H07Pp80kKBo7gY7uFOiNyQKKxQFuR69sPWc3+LI3YzC8IpGslhUfHdjN46gn7 +73hfAVgnf/4qmlEq0cRUOAY/hIUMjUhNhglB9tqEeu3iPjMaTFgfZJwW/czH/QMD +w4zj5XoLgwRkqVvUceu/dBgV8KP5DpON+q8wpfWtjunv7rg5Nc3BVBrpb5SadJ7T +i5TsS+pZQyp+mTvyCI3A1hkr2Vw5tULWO8SPhuEQkdtC/CL+luCUO7L16lU6KhFB +qP5Fduik5skyLCVvAMUkjKcrC22k0gkhOHvfmMhjaAECgYEA68+hAQIiV9ErZGk9 +ZLu+VJHBSPmEQCkUcbviwzoRo8YSyka12TZERy+NJcvmD9deNgFbp8GyZf01XJWH +slSYt6LyInrJrTpv+3q2Vl5GQp0f+39i7MHnwGGKbWsDbSAm+L9yKTJzYJz1O5fo +in06AiyyGPwnXd1cm5bTXVX+dQECgYEA2tdi6DXF8awE23pv4HphPBhXS5hmYP/D +NC7CtP8wQsxjPdiIxkBFFVEaFCC2njq1VhTyJb5noJM4kOIwcoaQ/zgyyxQa0u7w ++CqvAh1WwG+sT/B7vivrtDmmYeyGQapFo5DRIz+MflKAhzDhtnEyT9vLuCdn8J95 +0YvxZJ9+k5UCgYEAh+e7SER9nJUt6AoLWyIlGMKEXlWIFh5W7RG3KIMwJW6D59aG ++fAfu9M5Cx6PsnOSlZeExpOJCOS9O2Xmti2xcqzT1nFkCJWUcqCPtAlTfxLlmuIZ +FpDOy36r9FHnwJ32OAjGd93ex0DOyZDMcfyoURaHcoTo/10UAYwUt0dXhwECgYAI +xad2TWmA1XdgYNkJM36gTQ16v0IjUz084z70yGHj25OC0CIzaDIct6KG+gS39Px9 +1dsa/jXjLuOOkzKD9LbtNBB9KXIl0GQiXnujZw+qKQ/MKISdS99n2wO7WyLKkQu3 +kb+AXTTBf4cdZC04BfORVesll5bIA2x7pNNpSCdnvQKBgG7VXYcPlIV7iAyi2xFa +uN1jccu/AK7xA0G1jz2SHNlpet74LmWR8XsTujJeo8WG1IRFxSky4h/pAP0XWIFO +0LPK7eeDtnFq6y1/DXpI+/9BWX5T/8+4Yk93p37YrBVWKfd21dhrAklQs11m3rlQ +Qn6c/zyvMKSyrCVxo5pTd5Il +-----END PRIVATE KEY----- diff --git a/tests/data_files/pkcs7_data.bin b/tests/data_files/pkcs7_data.bin new file mode 100644 index 0000000000..40ee264774 --- /dev/null +++ b/tests/data_files/pkcs7_data.bin @@ -0,0 +1 @@ +Hello diff --git a/tests/data_files/pkcs7_data_1.bin b/tests/data_files/pkcs7_data_1.bin new file mode 100644 index 0000000000..78c6baefdd --- /dev/null +++ b/tests/data_files/pkcs7_data_1.bin @@ -0,0 +1 @@ +2 diff --git a/tests/data_files/pkcs7_data_cert_encrypted.der b/tests/data_files/pkcs7_data_cert_encrypted.der new file mode 100644 index 0000000000..b7b1c8331d Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_encrypted.der differ diff --git a/tests/data_files/pkcs7_data_cert_signed_sha1.der b/tests/data_files/pkcs7_data_cert_signed_sha1.der new file mode 100644 index 0000000000..fb1deb0fc6 Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_signed_sha1.der differ diff --git a/tests/data_files/pkcs7_data_cert_signed_sha256.der b/tests/data_files/pkcs7_data_cert_signed_sha256.der new file mode 100644 index 0000000000..8dc2f4c9cd Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_signed_sha256.der differ diff --git a/tests/data_files/pkcs7_data_cert_signed_sha512.der b/tests/data_files/pkcs7_data_cert_signed_sha512.der new file mode 100644 index 0000000000..a4aa587587 Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_signed_sha512.der differ diff --git a/tests/data_files/pkcs7_data_cert_signed_v2.der b/tests/data_files/pkcs7_data_cert_signed_v2.der new file mode 100644 index 0000000000..4f4cb047e0 Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_signed_v2.der differ diff --git a/tests/data_files/pkcs7_data_cert_signeddata_sha256.der b/tests/data_files/pkcs7_data_cert_signeddata_sha256.der new file mode 100644 index 0000000000..cb7d75103d Binary files /dev/null and b/tests/data_files/pkcs7_data_cert_signeddata_sha256.der differ diff --git a/tests/data_files/pkcs7_data_multiple_certs_signed.der b/tests/data_files/pkcs7_data_multiple_certs_signed.der new file mode 100644 index 0000000000..4a237e9d14 Binary files /dev/null and b/tests/data_files/pkcs7_data_multiple_certs_signed.der differ diff --git a/tests/data_files/pkcs7_data_multiple_signed.der b/tests/data_files/pkcs7_data_multiple_signed.der new file mode 100644 index 0000000000..095b80ce1b Binary files /dev/null and b/tests/data_files/pkcs7_data_multiple_signed.der differ diff --git a/tests/data_files/pkcs7_data_signed_badcert.der b/tests/data_files/pkcs7_data_signed_badcert.der new file mode 100644 index 0000000000..ed00f65fa3 Binary files /dev/null and b/tests/data_files/pkcs7_data_signed_badcert.der differ diff --git a/tests/data_files/pkcs7_data_signed_badsigner.der b/tests/data_files/pkcs7_data_signed_badsigner.der new file mode 100644 index 0000000000..aa5447c44d Binary files /dev/null and b/tests/data_files/pkcs7_data_signed_badsigner.der differ diff --git a/tests/data_files/pkcs7_data_without_cert_signed.der b/tests/data_files/pkcs7_data_without_cert_signed.der new file mode 100644 index 0000000000..b47fe927e5 Binary files /dev/null and b/tests/data_files/pkcs7_data_without_cert_signed.der differ diff --git a/tests/data_files/pkcs7_get_signers_info_set-leak-fuzz_pkcs7-4541044530479104.der b/tests/data_files/pkcs7_get_signers_info_set-leak-fuzz_pkcs7-4541044530479104.der new file mode 100644 index 0000000000..51aef0d092 Binary files /dev/null and b/tests/data_files/pkcs7_get_signers_info_set-leak-fuzz_pkcs7-4541044530479104.der differ diff --git a/tests/data_files/pkcs7_get_signers_info_set-missing_free-fuzz_pkcs7-6213931373035520.der b/tests/data_files/pkcs7_get_signers_info_set-missing_free-fuzz_pkcs7-6213931373035520.der new file mode 100644 index 0000000000..ce4fb3bd49 Binary files /dev/null and b/tests/data_files/pkcs7_get_signers_info_set-missing_free-fuzz_pkcs7-6213931373035520.der differ diff --git a/tests/data_files/pkcs7_signerInfo_issuer_invalid_size.der b/tests/data_files/pkcs7_signerInfo_issuer_invalid_size.der new file mode 100644 index 0000000000..898ca6777a Binary files /dev/null and b/tests/data_files/pkcs7_signerInfo_issuer_invalid_size.der differ diff --git a/tests/data_files/pkcs7_signerInfo_serial_invalid_size.der b/tests/data_files/pkcs7_signerInfo_serial_invalid_size.der new file mode 100644 index 0000000000..f4b4e384db Binary files /dev/null and b/tests/data_files/pkcs7_signerInfo_serial_invalid_size.der differ diff --git a/tests/data_files/server1.key_ext_usage.crt b/tests/data_files/server1.key_ext_usage.crt new file mode 100644 index 0000000000..bbe2c356f6 --- /dev/null +++ b/tests/data_files/server1.key_ext_usage.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDVzCCAj+gAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER +MA8GA1UECgwIUG9sYXJTU0wxGTAXBgNVBAMMEFBvbGFyU1NMIFRlc3QgQ0EwHhcN +MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G +A1UECgwIUG9sYXJTU0wxGjAYBgNVBAMMEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/ +uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFD +d185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVf +CrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTr +lZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9w +bp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQAB +o2UwYzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQfdNY/KcF0dEU7BRIsPai9Q1kCpjAf +BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zAWBgNVHSUBAf8EDDAKBggr +BgEFBQcDATANBgkqhkiG9w0BAQUFAAOCAQEAegtCN4EObE69RjW1hKUEQ/InrIsf +poKIgJCh3sck+FYKjcsMhRPBztnZaqjvkLnmCcq0Yv7uUDThHsNuu+NbeVr4flZL +gUoSSdHXYrJ8qDYez6oGoxttoZ33sqD3LQfzWZhDoTyjGUHTiWaA6KidCsWzkhKY +aNXF7O8dHO7k06I2UWt7SKbBm1dPj8OM4285kkQ7KCpG27ABtHePkp9aG66O/ktD +GbZs0AaYpeVnB9v1vSp6xInDCWydDFbmEE0mzAQr285UU07QEpnU1W/2qZHfLxnQ +GiDpR5pxoKXkskj2VuHPZPqbIkv9v2+bjeyXHDRSL7Rj087xhD5uXKb9fw== +-----END CERTIFICATE----- diff --git a/tests/data_files/server1.key_ext_usages.crt b/tests/data_files/server1.key_ext_usages.crt new file mode 100644 index 0000000000..0c3d963eb2 --- /dev/null +++ b/tests/data_files/server1.key_ext_usages.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER +MA8GA1UECgwIUG9sYXJTU0wxGTAXBgNVBAMMEFBvbGFyU1NMIFRlc3QgQ0EwHhcN +MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G +A1UECgwIUG9sYXJTU0wxGjAYBgNVBAMMEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/ +uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFD +d185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVf +CrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTr +lZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9w +bp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQAB +o28wbTAJBgNVHRMEAjAAMB0GA1UdDgQWBBQfdNY/KcF0dEU7BRIsPai9Q1kCpjAf +BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zAgBgNVHSUBAf8EFjAUBggr +BgEFBQcDAwYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBADIT9M10vT5yzMSR +GaaImXjyTRIBK683Vxnq5jqAJ75KzNUC52aiCOfd9/hAMkq3Pj+r6tIsH+jsl5PL +E4iv8GVDlbjA57icTD30XbolL4YPUvZYclxVopfRhTiDa5KJ1lYkUwWAE/Glj66Q +WO7Hihl+GYXap2e7dBZ7hGHdv6J1gRfA1OW6iB23Wl4xb0Y1CGc16yJZwuFbtbwM +w8z8a0XNd2UQTYesYlIvVpVcx2atgkbZwehPWGNCLGngz60fultj7JdLuUHi+r0z +DtjbSPsHDZDAer6ZxjaA4hkcnppacFttC+deD8bQ8+2JjHF6Gb/MBnaYIbOZOBgC +8CPIBjk= +-----END CERTIFICATE----- diff --git a/tests/data_files/server1.req.sha256.ext b/tests/data_files/server1.req.sha256.ext new file mode 100644 index 0000000000..3f26f09ef0 --- /dev/null +++ b/tests/data_files/server1.req.sha256.ext @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICpzCCAY8CAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoMCFBvbGFyU1NMMRow +GAYDVQQDDBFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ +ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ +HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF +W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs +FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/ +DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAmMCQGCSqGSIb3DQEJDjEX +MBUwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAHi0yEGu +Fh5tuLiLuT95UrRnly55+lTY9xchFiKtlcoEdSheybYxqk3JHuSSqojOFKZBlRdk +oG6Azg56/aMHPWyvtCMSRQX4b+FgjeQsm9IfhYNMquQOxyPxm62vjuU3MfZIofXH +hKdI6Ci2CDF4Fyvw50KBWniV38eE9+kjsvDLdXD3ESZJGhjjuFl8ReUiA2wdBTcP +XEZaXUIc6B4tUnlPeqn/2zp4GBqqWzNZx6TXBpApASGG3BEJnM52FVPC7E9p+8YZ +qIGuiF5Cz/rYZkpwffBWIfS2zZakHLm5TB8FgZkWlyReJU9Ihk2Tl/sZ1kllFdYa +xLPnLCL82KFL1Co= +-----END CERTIFICATE REQUEST----- diff --git a/tests/data_files/server5-nonprintable_othername.crt b/tests/data_files/server5-nonprintable_othername.crt new file mode 100644 index 0000000000..9470bbe9cc --- /dev/null +++ b/tests/data_files/server5-nonprintable_othername.crt @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBwTCCAWagAwIBAgIBTTAKBggqhkjOPQQDAjBPMQswCQYDVQQGEwJVSzERMA8G +A1UECgwITWJlZCBUTFMxLTArBgNVBAMMJE1iZWQgVExTIG5vbi1wcmludGFibGUg +b3RoZXJuYW1lIFNBTjAeFw0yMjA5MDYxNTU2NDdaFw0zMjA5MDMxNTU2NDdaME8x +CzAJBgNVBAYTAlVLMREwDwYDVQQKDAhNYmVkIFRMUzEtMCsGA1UEAwwkTWJlZCBU +TFMgbm9uLXByaW50YWJsZSBvdGhlcm5hbWUgU0FOMFkwEwYHKoZIzj0CAQYIKoZI +zj0DAQcDQgAEN8xW2XYJHlpyPsdZLf8gbu58+QaRdNCtFLX3aCJZYpJO5QDYIxH/ +6i/SNF1dFr2KiMJrdw1VzYoqDvoByLTt/6MzMDEwLwYDVR0RBCgwJqAkBggrBgEF +BQcIBKAYMBYGBysGAQQBEQMECzEyM4CBAIGAMzIxMAoGCCqGSM49BAMCA0kAMEYC +IQDATir07PTj5gtf+HAyI+nd27AH9+bdaWdOI2t2bAwUWgIhAO7kvdcsa++yfJdT +3vnWdvcHRIAdXA0kh+mcBMaXk9B0 +-----END CERTIFICATE----- diff --git a/tests/data_files/simplepass.psk b/tests/data_files/simplepass.psk new file mode 100644 index 0000000000..93e7ab4561 --- /dev/null +++ b/tests/data_files/simplepass.psk @@ -0,0 +1 @@ +0a0b0c:010203 diff --git a/tests/data_files/test-ca.opensslconf b/tests/data_files/test-ca.opensslconf index 64347de830..b2c2fa1bcc 100644 --- a/tests/data_files/test-ca.opensslconf +++ b/tests/data_files/test-ca.opensslconf @@ -15,7 +15,10 @@ basicConstraints = CA:true [othername_san] subjectAltName=otherName:1.3.6.1.5.5.7.8.4;SEQ:hw_module_name -[unsupoported_othername_san] +[nonprintable_othername_san] +subjectAltName=otherName:1.3.6.1.5.5.7.8.4;SEQ:nonprintable_hw_module_name + +[unsupported_othername_san] subjectAltName=otherName:1.2.3.4;UTF8:some other identifier [dns_alt_names] @@ -34,6 +37,10 @@ subjectAltName=@alt_names hwtype = OID:1.3.6.1.4.1.17.3 hwserial = OCT:123456 +[nonprintable_hw_module_name] +hwtype = OID:1.3.6.1.4.1.17.3 +hwserial = FORMAT:HEX, OCT:3132338081008180333231 + [v3_any_policy_ca] basicConstraints = CA:true certificatePolicies = 2.5.29.32.0 diff --git a/tests/git-scripts/README.md b/tests/git-scripts/README.md index 29d7501b33..23db168c37 100644 --- a/tests/git-scripts/README.md +++ b/tests/git-scripts/README.md @@ -1,16 +1,16 @@ README for git hooks script =========================== git has a way to run scripts, which are invoked by specific git commands. -The git hooks are located in `/.git/hooks`, and as such are not under version control +The git hooks are located in `/.git/hooks`, and as such are not under version control for more information, see the [git documentation](https://git-scm.com/docs/githooks). -The mbed TLS git hooks are located in `/tests/git-scripts` directory, and one must create a soft link from `/.git/hooks` to `/tesst/git-scripts`, in order to make the hook scripts successfully work. +The Mbed TLS git hooks are located in `/tests/git-scripts` directory, and one must create a soft link from `/.git/hooks` to `/tests/git-scripts`, in order to make the hook scripts successfully work. Example: -Execute the following command to create a link on linux from the mbed TLS `.git/hooks` directory: +Execute the following command to create a link on Linux from the Mbed TLS `.git/hooks` directory: `ln -s ../../tests/git-scripts/pre-push.sh pre-push` -**Note: Currently the mbed TLS git hooks work only on a GNU platform. If using a non-GNU platform, don't enable these hooks!** +**Note: Currently the Mbed TLS git hooks work only on a GNU platform. If using a non-GNU platform, don't enable these hooks!** These scripts can also be used independently. diff --git a/tests/include/spe/crypto_spe.h b/tests/include/spe/crypto_spe.h index f80fd86bdc..1aee8a5f0d 100644 --- a/tests/include/spe/crypto_spe.h +++ b/tests/include/spe/crypto_spe.h @@ -1,7 +1,18 @@ /* - * Copyright (c) 2019-2021, Arm Limited. All rights reserved. + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 * - * SPDX-License-Identifier: BSD-3-Clause + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. * */ diff --git a/tests/include/test/constant_flow.h b/tests/include/test/constant_flow.h index 9626af9e46..f3d676e285 100644 --- a/tests/include/test/constant_flow.h +++ b/tests/include/test/constant_flow.h @@ -46,6 +46,12 @@ * This file contains two implementations: one based on MemorySanitizer, the * other on valgrind's memcheck. If none of them is enabled, dummy macros that * do nothing are defined for convenience. + * + * \note #TEST_CF_SECRET must be called directly from within a .function file, + * not indirectly via a macro defined under tests/include or a function + * under tests/src. This is because we only run Valgrind for constant + * flow on test suites that have greppable annotations inside them (see + * `skip_suites_without_constant_flow` in `tests/scripts/all.sh`). */ #if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN) diff --git a/tests/include/test/drivers/config_test_driver.h b/tests/include/test/drivers/config_test_driver.h index b9ba5fb5f0..6a7fb1f3e4 100644 --- a/tests/include/test/drivers/config_test_driver.h +++ b/tests/include/test/drivers/config_test_driver.h @@ -48,6 +48,7 @@ //#define MBEDTLS_SHA1_C //#define MBEDTLS_SHA384_C //#define MBEDTLS_SHA512_C +//#define MBEDTLS_MD_C //#define MBEDTLS_PEM_PARSE_C //#define MBEDTLS_BASE64_C diff --git a/tests/include/test/drivers/crypto_config_test_driver_extension.h b/tests/include/test/drivers/crypto_config_test_driver_extension.h index 8052a85fbc..fbfe8da7ad 100644 --- a/tests/include/test/drivers/crypto_config_test_driver_extension.h +++ b/tests/include/test/drivers/crypto_config_test_driver_extension.h @@ -54,6 +54,14 @@ #endif #endif +#if defined(PSA_WANT_ALG_ECDH) +#if defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) +#undef MBEDTLS_PSA_ACCEL_ALG_ECDH +#else +#define MBEDTLS_PSA_ACCEL_ALG_ECDH 1 +#endif +#endif + #if defined(PSA_WANT_ALG_MD5) #if defined(MBEDTLS_PSA_ACCEL_ALG_MD5) #undef MBEDTLS_PSA_ACCEL_ALG_MD5 @@ -142,6 +150,14 @@ #endif #endif +#if defined(PSA_WANT_ALG_CHACHA20_POLY1305) +#if defined(MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305) +#undef MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305 +#else +#define MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305 1 +#endif +#endif + #if defined(PSA_WANT_KEY_TYPE_AES) #if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_AES) #undef MBEDTLS_PSA_ACCEL_KEY_TYPE_AES @@ -182,12 +198,18 @@ #endif #endif +#if defined(PSA_WANT_KEY_TYPE_CHACHA20) +#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20) +#undef MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20 +#else +#define MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20 1 +#endif +#endif + #define MBEDTLS_PSA_ACCEL_ALG_CBC_MAC 1 #define MBEDTLS_PSA_ACCEL_ALG_CCM 1 -#define MBEDTLS_PSA_ACCEL_ALG_CHACHA20_POLY1305 1 #define MBEDTLS_PSA_ACCEL_ALG_CMAC 1 #define MBEDTLS_PSA_ACCEL_ALG_ECB_NO_PADDING 1 -#define MBEDTLS_PSA_ACCEL_ALG_ECDH 1 #define MBEDTLS_PSA_ACCEL_ALG_GCM 1 #define MBEDTLS_PSA_ACCEL_ALG_HKDF 1 #define MBEDTLS_PSA_ACCEL_ALG_HKDF_EXTRACT 1 @@ -200,6 +222,7 @@ #define MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS 1 #if defined(MBEDTLS_PSA_ACCEL_ALG_ECDSA) +#if defined(MBEDTLS_PSA_ACCEL_ALG_ECDH) #define MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_256 1 #define MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_384 1 #define MBEDTLS_PSA_ACCEL_ECC_BRAINPOOL_P_R1_512 1 @@ -214,10 +237,10 @@ #define MBEDTLS_PSA_ACCEL_ECC_SECP_R1_384 1 #define MBEDTLS_PSA_ACCEL_ECC_SECP_R1_521 1 #endif +#endif #define MBEDTLS_PSA_ACCEL_KEY_TYPE_DERIVE 1 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_HMAC 1 -#define MBEDTLS_PSA_ACCEL_KEY_TYPE_CHACHA20 1 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_DES 1 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY 1 #define MBEDTLS_PSA_ACCEL_KEY_TYPE_RAW_DATA 1 diff --git a/tests/include/test/drivers/key_agreement.h b/tests/include/test/drivers/key_agreement.h new file mode 100644 index 0000000000..8f28cefda8 --- /dev/null +++ b/tests/include/test/drivers/key_agreement.h @@ -0,0 +1,74 @@ +/* + * Test driver for key agreement functions. + */ +/* Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PSA_CRYPTO_TEST_DRIVERS_KEY_AGREEMENT_H +#define PSA_CRYPTO_TEST_DRIVERS_KEY_AGREEMENT_H + +#include "mbedtls/build_info.h" + +#if defined(PSA_CRYPTO_DRIVER_TEST) +#include + +typedef struct { + /* If non-null, on success, copy this to the output. */ + void *forced_output; + size_t forced_output_length; + /* If not PSA_SUCCESS, return this error code instead of processing the + * function call. */ + psa_status_t forced_status; + /* Count the amount of times one of the signature driver functions is called. */ + unsigned long hits; +} mbedtls_test_driver_key_agreement_hooks_t; + +#define MBEDTLS_TEST_DRIVER_KEY_AGREEMENT_INIT { NULL, 0, PSA_SUCCESS, 0 } +static inline mbedtls_test_driver_key_agreement_hooks_t + mbedtls_test_driver_key_agreement_hooks_init( void ) +{ + const mbedtls_test_driver_key_agreement_hooks_t + v = MBEDTLS_TEST_DRIVER_KEY_AGREEMENT_INIT; + return( v ); +} + +extern mbedtls_test_driver_key_agreement_hooks_t + mbedtls_test_driver_key_agreement_hooks; + +psa_status_t mbedtls_test_transparent_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ); + +psa_status_t mbedtls_test_opaque_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ); + +#endif /*PSA_CRYPTO_DRIVER_TEST */ +#endif /* PSA_CRYPTO_TEST_DRIVERS_KEY_AGREEMENT_H */ diff --git a/tests/include/test/drivers/test_driver.h b/tests/include/test/drivers/test_driver.h index 098b21abff..0a65b40bf8 100644 --- a/tests/include/test/drivers/test_driver.h +++ b/tests/include/test/drivers/test_driver.h @@ -20,6 +20,14 @@ #ifndef PSA_CRYPTO_TEST_DRIVER_H #define PSA_CRYPTO_TEST_DRIVER_H +#if defined(PSA_CRYPTO_DRIVER_TEST) +#ifndef PSA_CRYPTO_DRIVER_PRESENT +#define PSA_CRYPTO_DRIVER_PRESENT +#endif +#ifndef PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT +#define PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT +#endif + #define PSA_CRYPTO_TEST_DRIVER_LOCATION 0x7fffff #include "test/drivers/aead.h" @@ -29,5 +37,7 @@ #include "test/drivers/key_management.h" #include "test/drivers/signature.h" #include "test/drivers/asymmetric_encryption.h" +#include "test/drivers/key_agreement.h" +#endif /* PSA_CRYPTO_DRIVER_TEST */ #endif /* PSA_CRYPTO_TEST_DRIVER_H */ diff --git a/tests/include/test/helpers.h b/tests/include/test/helpers.h index 080b46e101..5f9bde697b 100644 --- a/tests/include/test/helpers.h +++ b/tests/include/test/helpers.h @@ -37,20 +37,7 @@ #define MBEDTLS_TEST_MUTEX_USAGE #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_fprintf fprintf -#define mbedtls_snprintf snprintf -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_exit exit -#define mbedtls_time time -#define mbedtls_time_t time_t -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #include #include @@ -59,6 +46,13 @@ #include "mbedtls/bignum.h" #endif +/** The type of test case arguments that contain binary data. */ +typedef struct data_tag +{ + uint8_t * x; + uint32_t len; +} data_t; + typedef enum { MBEDTLS_TEST_RESULT_SUCCESS = 0, @@ -276,24 +270,59 @@ void mbedtls_test_err_add_check( int high, int low, #endif #if defined(MBEDTLS_BIGNUM_C) -/** Read an MPI from a string. +/** Allocate and populate a core MPI from a test case argument. + * + * This function allocates exactly as many limbs as necessary to fit + * the length of the input. In other words, it preserves leading zeros. + * + * The limb array is allocated with mbedtls_calloc() and must later be + * freed with mbedtls_free(). * - * Like mbedtls_mpi_read_string(), but size the resulting bignum based - * on the number of digits in the string. In particular, construct a - * bignum with 0 limbs for an empty string, and a bignum with leading 0 - * limbs if the string has sufficiently many leading 0 digits. + * \param[in,out] pX The address where a pointer to the allocated limb + * array will be stored. + * \c *pX must be null on entry. + * On exit, \c *pX is null on error or if the number + * of limbs is 0. + * \param[out] plimbs The address where the number of limbs will be stored. + * \param[in] input The test argument to read. + * It is interpreted as a hexadecimal representation + * of a non-negative integer. * - * This is important so that the "0 (null)" and "0 (1 limb)" and - * "leading zeros" test cases do what they claim. + * \return \c 0 on success, an \c MBEDTLS_ERR_MPI_xxx error code otherwise. + */ +int mbedtls_test_read_mpi_core( mbedtls_mpi_uint **pX, size_t *plimbs, + const char *input ); + +/** Read an MPI from a hexadecimal string. + * + * Like mbedtls_mpi_read_string(), but with tighter guarantees around + * edge cases. + * + * - This function guarantees that if \p s begins with '-' then the sign + * bit of the result will be negative, even if the value is 0. + * When this function encounters such a "negative 0", it + * increments #mbedtls_test_case_uses_negative_0. + * - The size of the result is exactly the minimum number of limbs needed + * to fit the digits in the input. In particular, this function constructs + * a bignum with 0 limbs for an empty string, and a bignum with leading 0 + * limbs if the string has sufficiently many leading 0 digits. + * This is important so that the "0 (null)" and "0 (1 limb)" and + * "leading zeros" test cases do what they claim. * * \param[out] X The MPI object to populate. It must be initialized. - * \param radix The radix (2 to 16). - * \param[in] s The null-terminated string to read from. + * \param[in] s The null-terminated hexadecimal string to read from. * * \return \c 0 on success, an \c MBEDTLS_ERR_MPI_xxx error code otherwise. */ -/* Since the library has exactly the desired behavior, this is trivial. */ -int mbedtls_test_read_mpi( mbedtls_mpi *X, int radix, const char *s ); +int mbedtls_test_read_mpi( mbedtls_mpi *X, const char *s ); + +/** Nonzero if the current test case had an input parsed with + * mbedtls_test_read_mpi() that is a negative 0 (`"-"`, `"-0"`, `"-00"`, etc., + * constructing a result with the sign bit set to -1 and the value being + * all-limbs-0, which is not a valid representation in #mbedtls_mpi but is + * tested for robustness). + */ +extern unsigned mbedtls_test_case_uses_negative_0; #endif /* MBEDTLS_BIGNUM_C */ #endif /* TEST_HELPERS_H */ diff --git a/tests/include/test/macros.h b/tests/include/test/macros.h index 8535b93077..695a2433ad 100644 --- a/tests/include/test/macros.h +++ b/tests/include/test/macros.h @@ -28,20 +28,7 @@ #include -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_fprintf fprintf -#define mbedtls_snprintf snprintf -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_exit exit -#define mbedtls_time time -#define mbedtls_time_t time_t -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) #include "mbedtls/memory_buffer_alloc.h" diff --git a/tests/include/test/psa_crypto_helpers.h b/tests/include/test/psa_crypto_helpers.h index 6f42882646..3542950915 100644 --- a/tests/include/test/psa_crypto_helpers.h +++ b/tests/include/test/psa_crypto_helpers.h @@ -189,7 +189,7 @@ psa_status_t mbedtls_test_record_status( psa_status_t status, * * Do a key policy permission extension on key usage policies always involves * permissions of other usage policies - * (like PSA_KEY_USAGE_SIGN_HASH involves PSA_KEY_USAGE_SIGN_MESSGAE). + * (like PSA_KEY_USAGE_SIGN_HASH involves PSA_KEY_USAGE_SIGN_MESSAGE). */ psa_key_usage_t mbedtls_test_update_key_usage_flags( psa_key_usage_t usage_flags ); @@ -277,8 +277,16 @@ psa_key_usage_t mbedtls_test_update_key_usage_flags( psa_key_usage_t usage_flags } \ while( 0 ) +#if !defined(MBEDTLS_MD_C) +#define PSA_INIT_IF_NO_MD( ) PSA_INIT( ) +#define PSA_DONE_IF_NO_MD( ) PSA_DONE( ) +#endif #endif /* MBEDTLS_PSA_CRYPTO_C */ +#if defined(MBEDTLS_MD_C) +#define PSA_INIT_IF_NO_MD( ) ( (void) 0 ) +#define PSA_DONE_IF_NO_MD( ) ( (void) 0 ) +#endif /** \def USE_PSA_INIT * * Call this macro to initialize the PSA subsystem if #MBEDTLS_USE_PSA_CRYPTO diff --git a/tests/include/test/psa_exercise_key.h b/tests/include/test/psa_exercise_key.h index 18333a9372..aa0aeb5afd 100644 --- a/tests/include/test/psa_exercise_key.h +++ b/tests/include/test/psa_exercise_key.h @@ -52,30 +52,6 @@ #undef KNOWN_SUPPORTED_HASH_ALG #endif -/** \def KNOWN_MBEDTLS_SUPPORTED_HASH_ALG - * - * A hash algorithm that is known to be supported by Mbed TLS APIs. - * - * This is used in some smoke tests where the hash algorithm is used as - * part of another algorithm like a signature algorithm and the hashing is - * completed through an Mbed TLS hash API, not the PSA one. - */ -#if defined(MBEDTLS_MD5_C) -#define KNOWN_MBEDTLS_SUPPORTED_HASH_ALG PSA_ALG_MD5 -/* MBEDTLS_RIPEMD160_C omitted. This is necessary for the sake of - * exercise_signature_key() because Mbed TLS doesn't support RIPEMD160 - * in RSA PKCS#1v1.5 signatures. A RIPEMD160-only configuration would be - * implausible anyway. */ -#elif defined(MBEDTLS_SHA1_C) -#define KNOWN_MBEDTLS_SUPPORTED_HASH_ALG PSA_ALG_SHA_1 -#elif defined(MBEDTLS_SHA256_C) -#define KNOWN_MBEDTLS_SUPPORTED_HASH_ALG PSA_ALG_SHA_256 -#elif defined(MBEDTLS_SHA512_C) -#define KNOWN_MBEDTLS_SUPPORTED_HASH_ALG PSA_ALG_SHA_512 -#else -#undef KNOWN_MBEDLTS_SUPPORTED_HASH_ALG -#endif - /** \def KNOWN_SUPPORTED_BLOCK_CIPHER * * A block cipher that is known to be supported. diff --git a/tests/opt-testcases/tls13-compat.sh b/tests/opt-testcases/tls13-compat.sh index 5a71d1c42b..7f9d46fe4a 100755 --- a/tests/opt-testcases/tls13-compat.sh +++ b/tests/opt-testcases/tls13-compat.sh @@ -20,14 +20,14 @@ # Purpose # # List TLS1.3 compat test cases. They are generated by -# `./tests/scripts/generate_tls13_compat_tests.py -a -o tests/opt-testcases/tls13-compat.sh`. +# `./tests/scripts/generate_tls13_compat_tests.py -a -o ./tests/opt-testcases/tls13-compat.sh`. # # PLEASE DO NOT EDIT THIS FILE. IF NEEDED, PLEASE MODIFY `generate_tls13_compat_tests.py` # AND REGENERATE THIS FILE. # requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ @@ -38,12 +38,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ @@ -54,12 +54,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ @@ -70,12 +70,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -87,12 +87,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ @@ -103,12 +103,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ @@ -119,12 +119,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ @@ -135,12 +135,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -152,12 +152,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ @@ -168,12 +168,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ @@ -184,12 +184,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ @@ -200,12 +200,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -217,12 +217,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ @@ -233,12 +233,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ @@ -249,12 +249,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ @@ -265,12 +265,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -282,12 +282,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ @@ -298,12 +298,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ @@ -314,12 +314,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ @@ -330,12 +330,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -347,12 +347,12 @@ run_test "TLS 1.3 O->m: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ @@ -363,12 +363,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ @@ -379,12 +379,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ @@ -395,12 +395,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -412,12 +412,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ @@ -428,12 +428,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ @@ -444,12 +444,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ @@ -460,12 +460,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -477,12 +477,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ @@ -493,12 +493,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ @@ -509,12 +509,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ @@ -525,12 +525,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -542,12 +542,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ @@ -558,12 +558,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ @@ -574,12 +574,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ @@ -590,12 +590,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -607,12 +607,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ @@ -623,12 +623,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ @@ -639,12 +639,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ @@ -655,12 +655,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -672,12 +672,12 @@ run_test "TLS 1.3 O->m: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ @@ -688,12 +688,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ @@ -704,12 +704,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ @@ -720,12 +720,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -737,12 +737,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ @@ -753,12 +753,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ @@ -769,12 +769,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ @@ -785,12 +785,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -802,12 +802,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ @@ -818,12 +818,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ @@ -834,12 +834,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ @@ -850,12 +850,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -867,12 +867,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" \ @@ -883,12 +883,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" \ @@ -899,12 +899,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" \ @@ -915,12 +915,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -932,12 +932,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ @@ -948,12 +948,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ @@ -964,12 +964,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ @@ -980,12 +980,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -997,12 +997,12 @@ run_test "TLS 1.3 O->m: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ @@ -1013,12 +1013,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ @@ -1029,12 +1029,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ @@ -1045,12 +1045,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1062,12 +1062,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ @@ -1078,12 +1078,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ @@ -1094,12 +1094,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ @@ -1110,12 +1110,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1127,12 +1127,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ @@ -1143,12 +1143,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ @@ -1159,12 +1159,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ @@ -1175,12 +1175,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1192,12 +1192,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ @@ -1208,12 +1208,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ @@ -1224,12 +1224,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ @@ -1240,12 +1240,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1257,12 +1257,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ @@ -1273,12 +1273,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ @@ -1289,12 +1289,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ @@ -1305,12 +1305,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1322,12 +1322,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ @@ -1338,12 +1338,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ @@ -1354,12 +1354,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ @@ -1370,12 +1370,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1387,12 +1387,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ @@ -1403,12 +1403,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ @@ -1419,12 +1419,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ @@ -1435,12 +1435,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1452,12 +1452,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ @@ -1468,12 +1468,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ @@ -1484,12 +1484,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ @@ -1500,12 +1500,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1517,12 +1517,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ @@ -1533,12 +1533,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ @@ -1549,12 +1549,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ @@ -1565,12 +1565,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1582,12 +1582,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ @@ -1598,12 +1598,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ @@ -1614,12 +1614,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ @@ -1630,12 +1630,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_openssl_tls1_3 @@ -1647,12 +1647,12 @@ run_test "TLS 1.3 O->m: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1665,12 +1665,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1683,12 +1683,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1701,12 +1701,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -1720,12 +1720,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1738,12 +1738,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1756,12 +1756,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1774,12 +1774,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -1793,12 +1793,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1811,12 +1811,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1829,12 +1829,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1847,12 +1847,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -1866,12 +1866,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1884,12 +1884,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1902,12 +1902,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1920,12 +1920,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -1939,12 +1939,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1957,12 +1957,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1975,12 +1975,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -1993,12 +1993,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2012,12 +2012,12 @@ run_test "TLS 1.3 G->m: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2030,12 +2030,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2048,12 +2048,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2066,12 +2066,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2085,12 +2085,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2103,12 +2103,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2121,12 +2121,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2139,12 +2139,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2158,12 +2158,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2176,12 +2176,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2194,12 +2194,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2212,12 +2212,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2231,12 +2231,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2249,12 +2249,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2267,12 +2267,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2285,12 +2285,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2304,12 +2304,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2322,12 +2322,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2340,12 +2340,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2358,12 +2358,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2377,12 +2377,12 @@ run_test "TLS 1.3 G->m: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2395,12 +2395,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2413,12 +2413,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2431,12 +2431,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2450,12 +2450,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2468,12 +2468,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2486,12 +2486,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2504,12 +2504,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2523,12 +2523,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2541,12 +2541,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2559,12 +2559,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2577,12 +2577,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2596,12 +2596,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2614,12 +2614,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2632,12 +2632,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2650,12 +2650,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2669,12 +2669,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2687,12 +2687,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2705,12 +2705,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2723,12 +2723,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2742,12 +2742,12 @@ run_test "TLS 1.3 G->m: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2760,12 +2760,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2778,12 +2778,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2796,12 +2796,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2815,12 +2815,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2833,12 +2833,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2851,12 +2851,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2869,12 +2869,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2888,12 +2888,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2906,12 +2906,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2924,12 +2924,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2942,12 +2942,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -2961,12 +2961,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2979,12 +2979,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -2997,12 +2997,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3015,12 +3015,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3034,12 +3034,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3052,12 +3052,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3070,12 +3070,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3088,12 +3088,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3107,12 +3107,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3125,12 +3125,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3143,12 +3143,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3161,12 +3161,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3180,12 +3180,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3198,12 +3198,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3216,12 +3216,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3234,12 +3234,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3253,12 +3253,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3271,12 +3271,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3289,12 +3289,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3307,12 +3307,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3326,12 +3326,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3344,12 +3344,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3362,12 +3362,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3380,12 +3380,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3399,12 +3399,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3417,12 +3417,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3435,12 +3435,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -3453,12 +3453,12 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_gnutls_tls1_3 @@ -3472,13 +3472,13 @@ run_test "TLS 1.3 G->m: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -C "received HelloRetryRequest message" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3495,7 +3495,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3512,7 +3512,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3529,7 +3529,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -3547,7 +3547,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3564,7 +3564,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3581,7 +3581,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3598,7 +3598,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -3616,7 +3616,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3633,7 +3633,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3650,7 +3650,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3667,7 +3667,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -3685,7 +3685,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3702,7 +3702,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3719,7 +3719,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3736,7 +3736,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -3754,7 +3754,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3771,7 +3771,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3788,7 +3788,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3805,7 +3805,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -3823,7 +3823,7 @@ run_test "TLS 1.3 m->O: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3840,7 +3840,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp384r1_sha384 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3857,7 +3857,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp521r1_sha512 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3874,7 +3874,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ @@ -3892,7 +3892,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3909,7 +3909,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp384r1_sha384 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3926,7 +3926,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp521r1_sha512 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3943,7 +3943,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ @@ -3961,7 +3961,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3978,7 +3978,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp384r1_sha384 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -3995,7 +3995,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp521r1_sha512 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4012,7 +4012,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ @@ -4030,7 +4030,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4047,7 +4047,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp384r1_sha384 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4064,7 +4064,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp521r1_sha512 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4081,7 +4081,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ @@ -4099,7 +4099,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4116,7 +4116,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp384r1_sha384 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4133,7 +4133,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp521r1_sha512 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4150,7 +4150,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ @@ -4168,7 +4168,7 @@ run_test "TLS 1.3 m->O: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4185,7 +4185,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha25 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4202,7 +4202,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha38 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4219,7 +4219,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha51 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -4237,7 +4237,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4254,7 +4254,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha25 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4271,7 +4271,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha38 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4288,7 +4288,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha51 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -4306,7 +4306,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4323,7 +4323,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha25 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4340,7 +4340,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha38 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4357,7 +4357,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha51 requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -4375,7 +4375,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4392,7 +4392,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4409,7 +4409,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4426,7 +4426,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -4444,7 +4444,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4461,7 +4461,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4478,7 +4478,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_CHACHA20_POLY1305_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4495,7 +4495,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -4513,7 +4513,7 @@ run_test "TLS 1.3 m->O: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4530,7 +4530,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4547,7 +4547,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4564,7 +4564,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -4582,7 +4582,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4599,7 +4599,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4616,7 +4616,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4633,7 +4633,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -4651,7 +4651,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4668,7 +4668,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4685,7 +4685,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4702,7 +4702,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -4720,7 +4720,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4737,7 +4737,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4754,7 +4754,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4771,7 +4771,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -4789,7 +4789,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4806,7 +4806,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4823,7 +4823,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4840,7 +4840,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -4858,7 +4858,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4875,7 +4875,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4892,7 +4892,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4909,7 +4909,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -4927,7 +4927,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4944,7 +4944,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4961,7 +4961,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -4978,7 +4978,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -4996,7 +4996,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5013,7 +5013,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5030,7 +5030,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5047,7 +5047,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -5065,7 +5065,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5082,7 +5082,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5099,7 +5099,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5116,7 +5116,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -5134,7 +5134,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5151,7 +5151,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp384r1.crt -key data_files/ecdsa_secp384r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp384r1_sha384 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5168,7 +5168,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp521r1.crt -key data_files/ecdsa_secp521r1.key -ciphersuites TLS_AES_128_CCM_8_SHA256 -sigalgs ecdsa_secp521r1_sha512 -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -5185,7 +5185,7 @@ run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->O: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -5205,7 +5205,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5224,7 +5224,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5243,7 +5243,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5262,7 +5262,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -5282,7 +5282,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5301,7 +5301,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5320,7 +5320,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5339,7 +5339,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -5359,7 +5359,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5378,7 +5378,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5397,7 +5397,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5416,7 +5416,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -5436,7 +5436,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5455,7 +5455,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5474,7 +5474,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5493,7 +5493,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -5513,7 +5513,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5532,7 +5532,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5551,7 +5551,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5570,7 +5570,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -5590,7 +5590,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5609,7 +5609,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5628,7 +5628,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5647,7 +5647,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ @@ -5667,7 +5667,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5686,7 +5686,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5705,7 +5705,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5724,7 +5724,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ @@ -5744,7 +5744,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5763,7 +5763,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5782,7 +5782,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5801,7 +5801,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ @@ -5821,7 +5821,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5840,7 +5840,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5859,7 +5859,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5878,7 +5878,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ @@ -5898,7 +5898,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5917,7 +5917,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5936,7 +5936,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5955,7 +5955,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ @@ -5975,7 +5975,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -5994,7 +5994,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6013,7 +6013,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6032,7 +6032,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -6052,7 +6052,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6071,7 +6071,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6090,7 +6090,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6109,7 +6109,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -6129,7 +6129,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6148,7 +6148,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6167,7 +6167,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6186,7 +6186,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -6206,7 +6206,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6225,7 +6225,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6244,7 +6244,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6263,7 +6263,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -6283,7 +6283,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6302,7 +6302,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6321,7 +6321,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+CHACHA20-POLY1305:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6340,7 +6340,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -6360,7 +6360,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6379,7 +6379,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6398,7 +6398,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6417,7 +6417,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -6437,7 +6437,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6456,7 +6456,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6475,7 +6475,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6494,7 +6494,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -6514,7 +6514,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6533,7 +6533,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6552,7 +6552,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6571,7 +6571,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -6591,7 +6591,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6610,7 +6610,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6629,7 +6629,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6648,7 +6648,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -6668,7 +6668,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6687,7 +6687,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6706,7 +6706,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6725,7 +6725,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -6745,7 +6745,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6764,7 +6764,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6783,7 +6783,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6802,7 +6802,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -6822,7 +6822,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6841,7 +6841,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6860,7 +6860,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6879,7 +6879,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -6899,7 +6899,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6918,7 +6918,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6937,7 +6937,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6956,7 +6956,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -6976,7 +6976,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -6995,7 +6995,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -7014,7 +7014,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -7033,7 +7033,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -7053,7 +7053,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -7072,7 +7072,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp384r1.crt --x509keyfile data_files/ecdsa_secp384r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP384R1-SHA384:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -7091,7 +7091,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp521r1.crt --x509keyfile data_files/ecdsa_secp521r1.key --priority=NONE:+AES-128-CCM-8:+SHA256:+AEAD:+SIGN-ECDSA-SECP521R1-SHA512:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -7110,7 +7110,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -7127,11 +7127,11 @@ run_test "TLS 1.3 m->G: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7141,7 +7141,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7151,11 +7151,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7165,7 +7165,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7175,11 +7175,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7189,7 +7189,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7199,12 +7199,12 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -7215,7 +7215,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7225,11 +7225,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7239,7 +7239,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7249,11 +7249,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7263,7 +7263,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7273,11 +7273,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7287,7 +7287,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7297,12 +7297,12 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -7313,7 +7313,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7323,11 +7323,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7337,7 +7337,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7347,11 +7347,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7361,7 +7361,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7371,11 +7371,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7385,7 +7385,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7395,12 +7395,12 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -7411,7 +7411,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7421,11 +7421,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7435,7 +7435,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7445,11 +7445,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7459,7 +7459,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7469,11 +7469,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7483,7 +7483,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7493,12 +7493,12 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -7509,7 +7509,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7519,11 +7519,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7533,7 +7533,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7543,11 +7543,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7557,7 +7557,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7567,11 +7567,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-GCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7581,7 +7581,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7591,12 +7591,12 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -7607,7 +7607,7 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-GCM-SHA256 ( id=4865 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1301 ) - TLS1-3-AES-128-GCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7617,11 +7617,11 @@ run_test "TLS 1.3 m->m: AES_128_GCM_SHA256,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7631,7 +7631,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7641,11 +7641,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp384r1_sha384 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7655,7 +7655,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7665,11 +7665,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp521r1_sha512 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7679,7 +7679,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7689,12 +7689,12 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ @@ -7705,7 +7705,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7715,11 +7715,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp256r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7729,7 +7729,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7739,11 +7739,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp384r1_sha384 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7753,7 +7753,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7763,11 +7763,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp521r1_sha512 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7777,7 +7777,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7787,12 +7787,12 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ @@ -7803,7 +7803,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7813,11 +7813,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp384r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7827,7 +7827,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7837,11 +7837,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp384r1_sha384 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7851,7 +7851,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7861,11 +7861,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp521r1_sha512 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7875,7 +7875,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7885,12 +7885,12 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ @@ -7901,7 +7901,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -7911,11 +7911,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,secp521r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7925,7 +7925,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -7935,11 +7935,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp384r1_sha384 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7949,7 +7949,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -7959,11 +7959,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp521r1_sha512 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -7973,7 +7973,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -7983,12 +7983,12 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ @@ -7999,7 +7999,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8009,11 +8009,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x25519,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8023,7 +8023,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8033,11 +8033,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp384r1_sha384 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8047,7 +8047,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8057,11 +8057,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-256-GCM-SHA384 sig_algs=ecdsa_secp521r1_sha512 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8071,7 +8071,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8081,12 +8081,12 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ @@ -8097,7 +8097,7 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-256-GCM-SHA384 ( id=4866 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1302 ) - TLS1-3-AES-256-GCM-SHA384" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8107,11 +8107,11 @@ run_test "TLS 1.3 m->m: AES_256_GCM_SHA384,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8121,7 +8121,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8131,11 +8131,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp256r1_sha25 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8145,7 +8145,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8155,11 +8155,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp384r1_sha38 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8169,7 +8169,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8179,12 +8179,12 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,ecdsa_secp521r1_sha51 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -8195,7 +8195,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8205,11 +8205,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp256r1,rsa_pss_rsae_sha256" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8219,7 +8219,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8229,11 +8229,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp256r1_sha25 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8243,7 +8243,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8253,11 +8253,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp384r1_sha38 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8267,7 +8267,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8277,12 +8277,12 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,ecdsa_secp521r1_sha51 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -8293,7 +8293,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8303,11 +8303,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp384r1,rsa_pss_rsae_sha256" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8317,7 +8317,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha25 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8327,11 +8327,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp256r1_sha25 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8341,7 +8341,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha38 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8351,11 +8351,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp384r1_sha38 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8365,7 +8365,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha51 -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8375,12 +8375,12 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,ecdsa_secp521r1_sha51 requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -8391,7 +8391,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8401,11 +8401,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,secp521r1,rsa_pss_rsae_sha256" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8415,7 +8415,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8425,11 +8425,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp256r1_sha256" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8439,7 +8439,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8449,11 +8449,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp384r1_sha384" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8463,7 +8463,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8473,12 +8473,12 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,ecdsa_secp521r1_sha512" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -8489,7 +8489,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8499,11 +8499,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8513,7 +8513,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8523,11 +8523,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8537,7 +8537,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8547,11 +8547,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-CHACHA20-POLY1305-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8561,7 +8561,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8571,12 +8571,12 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -8587,7 +8587,7 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-CHACHA20-POLY1305-SHA256 ( id=4867 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1303 ) - TLS1-3-CHACHA20-POLY1305-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8597,11 +8597,11 @@ run_test "TLS 1.3 m->m: CHACHA20_POLY1305_SHA256,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8611,7 +8611,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8621,11 +8621,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8635,7 +8635,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8645,11 +8645,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8659,7 +8659,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8669,12 +8669,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -8685,7 +8685,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8695,11 +8695,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8709,7 +8709,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8719,11 +8719,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8733,7 +8733,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8743,11 +8743,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8757,7 +8757,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8767,12 +8767,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -8783,7 +8783,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8793,11 +8793,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8807,7 +8807,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8817,11 +8817,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8831,7 +8831,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8841,11 +8841,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8855,7 +8855,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8865,12 +8865,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -8881,7 +8881,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8891,11 +8891,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8905,7 +8905,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -8915,11 +8915,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8929,7 +8929,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -8939,11 +8939,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -8953,7 +8953,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -8963,12 +8963,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -8979,7 +8979,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -8989,11 +8989,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9003,7 +9003,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9013,11 +9013,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9027,7 +9027,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9037,11 +9037,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9051,7 +9051,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9061,12 +9061,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -9077,7 +9077,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-SHA256 ( id=4868 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1304 ) - TLS1-3-AES-128-CCM-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9087,11 +9087,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_SHA256,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9101,7 +9101,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9111,11 +9111,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9125,7 +9125,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9135,11 +9135,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9149,7 +9149,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9159,12 +9159,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ @@ -9175,7 +9175,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9185,11 +9185,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp256r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9199,7 +9199,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9209,11 +9209,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9223,7 +9223,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9233,11 +9233,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9247,7 +9247,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9257,12 +9257,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ @@ -9273,7 +9273,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9283,11 +9283,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp384r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9297,7 +9297,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9307,11 +9307,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9321,7 +9321,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9331,11 +9331,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9345,7 +9345,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9355,12 +9355,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ @@ -9371,7 +9371,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9381,11 +9381,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,secp521r1,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9395,7 +9395,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9405,11 +9405,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9419,7 +9419,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9429,11 +9429,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9443,7 +9443,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9453,12 +9453,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ @@ -9469,7 +9469,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9479,11 +9479,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x25519,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9493,7 +9493,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x403" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0403 )" \ @@ -9503,11 +9503,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp256r1_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ "$P_SRV crt_file=data_files/ecdsa_secp384r1.crt key_file=data_files/ecdsa_secp384r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp384r1_sha384 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9517,7 +9517,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x503" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0503 )" \ @@ -9527,11 +9527,11 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp384r1_sha384" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ "$P_SRV crt_file=data_files/ecdsa_secp521r1.crt key_file=data_files/ecdsa_secp521r1.key debug_level=4 force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256 sig_algs=ecdsa_secp521r1_sha512 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -9541,7 +9541,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x603" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0603 )" \ @@ -9551,12 +9551,12 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,ecdsa_secp521r1_sha512" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_X509_RSASSA_PSS_SUPPORT run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ @@ -9567,7 +9567,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ -s "server hello, chosen ciphersuite: TLS1-3-AES-128-CCM-8-SHA256 ( id=4869 )" \ -s "received signature algorithm: 0x804" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "server hello, chosen ciphersuite: ( 1305 ) - TLS1-3-AES-128-CCM-8-SHA256" \ -c "Certificate Verify: Signature algorithm ( 0804 )" \ @@ -9577,7 +9577,7 @@ run_test "TLS 1.3 m->m: AES_128_CCM_8_SHA256,x448,rsa_pss_rsae_sha256" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp256r1 -> secp384r1" \ @@ -9586,12 +9586,12 @@ run_test "TLS 1.3 O->m: HRR secp256r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp256r1 -> secp521r1" \ @@ -9600,12 +9600,12 @@ run_test "TLS 1.3 O->m: HRR secp256r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp256r1 -> x25519" \ @@ -9614,12 +9614,12 @@ run_test "TLS 1.3 O->m: HRR secp256r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp256r1 -> x448" \ @@ -9628,12 +9628,12 @@ run_test "TLS 1.3 O->m: HRR secp256r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp384r1 -> secp256r1" \ @@ -9642,12 +9642,12 @@ run_test "TLS 1.3 O->m: HRR secp384r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp384r1 -> secp521r1" \ @@ -9656,12 +9656,12 @@ run_test "TLS 1.3 O->m: HRR secp384r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp384r1 -> x25519" \ @@ -9670,12 +9670,12 @@ run_test "TLS 1.3 O->m: HRR secp384r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp384r1 -> x448" \ @@ -9684,12 +9684,12 @@ run_test "TLS 1.3 O->m: HRR secp384r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp521r1 -> secp256r1" \ @@ -9698,12 +9698,12 @@ run_test "TLS 1.3 O->m: HRR secp521r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp521r1 -> secp384r1" \ @@ -9712,12 +9712,12 @@ run_test "TLS 1.3 O->m: HRR secp521r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp521r1 -> x25519" \ @@ -9726,12 +9726,12 @@ run_test "TLS 1.3 O->m: HRR secp521r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR secp521r1 -> x448" \ @@ -9740,12 +9740,12 @@ run_test "TLS 1.3 O->m: HRR secp521r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x25519 -> secp256r1" \ @@ -9754,12 +9754,12 @@ run_test "TLS 1.3 O->m: HRR x25519 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x25519 -> secp384r1" \ @@ -9768,12 +9768,12 @@ run_test "TLS 1.3 O->m: HRR x25519 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x25519 -> secp521r1" \ @@ -9782,12 +9782,12 @@ run_test "TLS 1.3 O->m: HRR x25519 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x25519 -> x448" \ @@ -9796,12 +9796,12 @@ run_test "TLS 1.3 O->m: HRR x25519 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x448 -> secp256r1" \ @@ -9810,12 +9810,12 @@ run_test "TLS 1.3 O->m: HRR x448 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x448 -> secp384r1" \ @@ -9824,12 +9824,12 @@ run_test "TLS 1.3 O->m: HRR x448 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x448 -> secp521r1" \ @@ -9838,12 +9838,12 @@ run_test "TLS 1.3 O->m: HRR x448 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_openssl_tls1_3 run_test "TLS 1.3 O->m: HRR x448 -> x25519" \ @@ -9852,12 +9852,12 @@ run_test "TLS 1.3 O->m: HRR x448 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9868,12 +9868,12 @@ run_test "TLS 1.3 G->m: HRR secp256r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9884,12 +9884,12 @@ run_test "TLS 1.3 G->m: HRR secp256r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9900,12 +9900,12 @@ run_test "TLS 1.3 G->m: HRR secp256r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9916,12 +9916,12 @@ run_test "TLS 1.3 G->m: HRR secp256r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9932,12 +9932,12 @@ run_test "TLS 1.3 G->m: HRR secp384r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9948,12 +9948,12 @@ run_test "TLS 1.3 G->m: HRR secp384r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9964,12 +9964,12 @@ run_test "TLS 1.3 G->m: HRR secp384r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9980,12 +9980,12 @@ run_test "TLS 1.3 G->m: HRR secp384r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -9996,12 +9996,12 @@ run_test "TLS 1.3 G->m: HRR secp521r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10012,12 +10012,12 @@ run_test "TLS 1.3 G->m: HRR secp521r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10028,12 +10028,12 @@ run_test "TLS 1.3 G->m: HRR secp521r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10044,12 +10044,12 @@ run_test "TLS 1.3 G->m: HRR secp521r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10060,12 +10060,12 @@ run_test "TLS 1.3 G->m: HRR x25519 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10076,12 +10076,12 @@ run_test "TLS 1.3 G->m: HRR x25519 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10092,12 +10092,12 @@ run_test "TLS 1.3 G->m: HRR x25519 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10108,12 +10108,12 @@ run_test "TLS 1.3 G->m: HRR x25519 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x448" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10124,12 +10124,12 @@ run_test "TLS 1.3 G->m: HRR x448 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp256r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10140,12 +10140,12 @@ run_test "TLS 1.3 G->m: HRR x448 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp384r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10156,12 +10156,12 @@ run_test "TLS 1.3 G->m: HRR x448 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: secp521r1" requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_gnutls_tls1_3 requires_gnutls_next_no_ticket @@ -10172,13 +10172,13 @@ run_test "TLS 1.3 G->m: HRR x448 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -s "HRR selected_group: x25519" requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp256r1 -> secp384r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10195,7 +10195,7 @@ run_test "TLS 1.3 m->O: HRR secp256r1 -> secp384r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp256r1 -> secp521r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10212,7 +10212,7 @@ run_test "TLS 1.3 m->O: HRR secp256r1 -> secp521r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp256r1 -> x25519" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10229,7 +10229,7 @@ run_test "TLS 1.3 m->O: HRR secp256r1 -> x25519" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp256r1 -> x448" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10246,7 +10246,7 @@ run_test "TLS 1.3 m->O: HRR secp256r1 -> x448" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp384r1 -> secp256r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10263,7 +10263,7 @@ run_test "TLS 1.3 m->O: HRR secp384r1 -> secp256r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp384r1 -> secp521r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10280,7 +10280,7 @@ run_test "TLS 1.3 m->O: HRR secp384r1 -> secp521r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp384r1 -> x25519" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10297,7 +10297,7 @@ run_test "TLS 1.3 m->O: HRR secp384r1 -> x25519" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp384r1 -> x448" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10314,7 +10314,7 @@ run_test "TLS 1.3 m->O: HRR secp384r1 -> x448" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp521r1 -> secp256r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10331,7 +10331,7 @@ run_test "TLS 1.3 m->O: HRR secp521r1 -> secp256r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp521r1 -> secp384r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10348,7 +10348,7 @@ run_test "TLS 1.3 m->O: HRR secp521r1 -> secp384r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp521r1 -> x25519" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10365,7 +10365,7 @@ run_test "TLS 1.3 m->O: HRR secp521r1 -> x25519" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR secp521r1 -> x448" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10382,7 +10382,7 @@ run_test "TLS 1.3 m->O: HRR secp521r1 -> x448" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x25519 -> secp256r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10399,7 +10399,7 @@ run_test "TLS 1.3 m->O: HRR x25519 -> secp256r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x25519 -> secp384r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10416,7 +10416,7 @@ run_test "TLS 1.3 m->O: HRR x25519 -> secp384r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x25519 -> secp521r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10433,7 +10433,7 @@ run_test "TLS 1.3 m->O: HRR x25519 -> secp521r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x25519 -> x448" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X448 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10450,7 +10450,7 @@ run_test "TLS 1.3 m->O: HRR x25519 -> x448" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x448 -> secp256r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10467,7 +10467,7 @@ run_test "TLS 1.3 m->O: HRR x448 -> secp256r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x448 -> secp384r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-384 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10484,7 +10484,7 @@ run_test "TLS 1.3 m->O: HRR x448 -> secp384r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x448 -> secp521r1" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups P-521 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10501,7 +10501,7 @@ run_test "TLS 1.3 m->O: HRR x448 -> secp521r1" \ requires_openssl_tls1_3 requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->O: HRR x448 -> x25519" \ "$O_NEXT_SRV_NO_CERT -cert data_files/ecdsa_secp256r1.crt -key data_files/ecdsa_secp256r1.key -groups X25519 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ @@ -10520,7 +10520,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp256r1 -> secp384r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10539,7 +10539,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp256r1 -> secp521r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10558,7 +10558,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp256r1 -> x25519" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10577,7 +10577,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp256r1 -> x448" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10596,7 +10596,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp384r1 -> secp256r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10615,7 +10615,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp384r1 -> secp521r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10634,7 +10634,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp384r1 -> x25519" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10653,7 +10653,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp384r1 -> x448" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10672,7 +10672,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp521r1 -> secp256r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10691,7 +10691,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp521r1 -> secp384r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10710,7 +10710,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp521r1 -> x25519" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10729,7 +10729,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR secp521r1 -> x448" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10748,7 +10748,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x25519 -> secp256r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10767,7 +10767,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x25519 -> secp384r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10786,7 +10786,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x25519 -> secp521r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10805,7 +10805,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x25519 -> x448" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X448:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10824,7 +10824,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x448 -> secp256r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP256R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10843,7 +10843,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x448 -> secp384r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP384R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10862,7 +10862,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x448 -> secp521r1" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-SECP521R1:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10881,7 +10881,7 @@ requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->G: HRR x448 -> x25519" \ "$G_NEXT_SRV_NO_CERT --http --disable-client-cert --debug=4 --x509certfile data_files/ecdsa_secp256r1.crt --x509keyfile data_files/ecdsa_secp256r1.key --priority=NONE:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+GROUP-X25519:+VERS-TLS1.3:%NO_TICKETS" \ @@ -10897,11 +10897,11 @@ run_test "TLS 1.3 m->G: HRR x448 -> x25519" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp256r1 -> secp384r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -10909,7 +10909,7 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp256r1 ( 17 )" \ -c "NamedGroup: secp384r1 ( 18 )" \ @@ -10920,11 +10920,11 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> secp384r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp256r1 -> secp521r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -10932,7 +10932,7 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp256r1 ( 17 )" \ -c "NamedGroup: secp521r1 ( 19 )" \ @@ -10943,11 +10943,11 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> secp521r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp256r1 -> x25519" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -10955,7 +10955,7 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp256r1 ( 17 )" \ -c "NamedGroup: x25519 ( 1d )" \ @@ -10966,11 +10966,11 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> x25519" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp256r1 -> x448" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -10978,7 +10978,7 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp256r1 ( 17 )" \ -c "NamedGroup: x448 ( 1e )" \ @@ -10989,11 +10989,11 @@ run_test "TLS 1.3 m->m: HRR secp256r1 -> x448" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp384r1 -> secp256r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11001,7 +11001,7 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp384r1 ( 18 )" \ -c "NamedGroup: secp256r1 ( 17 )" \ @@ -11012,11 +11012,11 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> secp256r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp384r1 -> secp521r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11024,7 +11024,7 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp384r1 ( 18 )" \ -c "NamedGroup: secp521r1 ( 19 )" \ @@ -11035,11 +11035,11 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> secp521r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp384r1 -> x25519" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11047,7 +11047,7 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp384r1 ( 18 )" \ -c "NamedGroup: x25519 ( 1d )" \ @@ -11058,11 +11058,11 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> x25519" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp384r1 -> x448" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11070,7 +11070,7 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp384r1 ( 18 )" \ -c "NamedGroup: x448 ( 1e )" \ @@ -11081,11 +11081,11 @@ run_test "TLS 1.3 m->m: HRR secp384r1 -> x448" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp521r1 -> secp256r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11093,7 +11093,7 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp521r1 ( 19 )" \ -c "NamedGroup: secp256r1 ( 17 )" \ @@ -11104,11 +11104,11 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> secp256r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp521r1 -> secp384r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11116,7 +11116,7 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp521r1 ( 19 )" \ -c "NamedGroup: secp384r1 ( 18 )" \ @@ -11127,11 +11127,11 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> secp384r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp521r1 -> x25519" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11139,7 +11139,7 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp521r1 ( 19 )" \ -c "NamedGroup: x25519 ( 1d )" \ @@ -11150,11 +11150,11 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> x25519" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR secp521r1 -> x448" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11162,7 +11162,7 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: secp521r1 ( 19 )" \ -c "NamedGroup: x448 ( 1e )" \ @@ -11173,11 +11173,11 @@ run_test "TLS 1.3 m->m: HRR secp521r1 -> x448" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x25519 -> secp256r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11185,7 +11185,7 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x25519 ( 1d )" \ -c "NamedGroup: secp256r1 ( 17 )" \ @@ -11196,11 +11196,11 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp256r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x25519 -> secp384r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11208,7 +11208,7 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x25519 ( 1d )" \ -c "NamedGroup: secp384r1 ( 18 )" \ @@ -11219,11 +11219,11 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp384r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x25519 -> secp521r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11231,7 +11231,7 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x25519 ( 1d )" \ -c "NamedGroup: secp521r1 ( 19 )" \ @@ -11242,11 +11242,11 @@ run_test "TLS 1.3 m->m: HRR x25519 -> secp521r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x25519 -> x448" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x448 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11254,7 +11254,7 @@ run_test "TLS 1.3 m->m: HRR x25519 -> x448" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x448(001e)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x25519 ( 1d )" \ -c "NamedGroup: x448 ( 1e )" \ @@ -11265,11 +11265,11 @@ run_test "TLS 1.3 m->m: HRR x25519 -> x448" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x448 -> secp256r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp256r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11277,7 +11277,7 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp256r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp256r1(0017)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x448 ( 1e )" \ -c "NamedGroup: secp256r1 ( 17 )" \ @@ -11288,11 +11288,11 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp256r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x448 -> secp384r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp384r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11300,7 +11300,7 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp384r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp384r1(0018)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x448 ( 1e )" \ -c "NamedGroup: secp384r1 ( 18 )" \ @@ -11311,11 +11311,11 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp384r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x448 -> secp521r1" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=secp521r1 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11323,7 +11323,7 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp521r1" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: secp521r1(0019)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x448 ( 1e )" \ -c "NamedGroup: secp521r1 ( 19 )" \ @@ -11334,11 +11334,11 @@ run_test "TLS 1.3 m->m: HRR x448 -> secp521r1" \ requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_DEBUG_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE run_test "TLS 1.3 m->m: HRR x448 -> x25519" \ "$P_SRV crt_file=data_files/ecdsa_secp256r1.crt key_file=data_files/ecdsa_secp256r1.key debug_level=4 sig_algs=ecdsa_secp256r1_sha256 curves=x25519 force_version=tls13 tls13_kex_modes=ephemeral cookies=0 tickets=0" \ @@ -11346,7 +11346,7 @@ run_test "TLS 1.3 m->m: HRR x448 -> x25519" \ 0 \ -s "Protocol is TLSv1.3" \ -s "got named group: x25519(001d)" \ - -s "Verifying peer X.509 certificate... ok" \ + -s "Certificate verification was skipped" \ -c "Protocol is TLSv1.3" \ -c "NamedGroup: x448 ( 1e )" \ -c "NamedGroup: x25519 ( 1d )" \ diff --git a/tests/opt-testcases/tls13-kex-modes.sh b/tests/opt-testcases/tls13-kex-modes.sh new file mode 100755 index 0000000000..974d513d8e --- /dev/null +++ b/tests/opt-testcases/tls13-kex-modes.sh @@ -0,0 +1,3173 @@ +#!/bin/sh + +# tls13-kex-modes.sh +# +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# DO NOT ADD NEW TEST CASES INTO THIS FILE. The left cases will be generated by +# scripts in future(#6280) + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: all/psk, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -s "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: all/psk, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: all/psk, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -s "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_ephemeral, fail, no common kex mode" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_all, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -s "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/ephemeral_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/ephemeral_all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/ephemeral_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk_or_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_or_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: all/psk_or_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -S "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_ephemeral group(secp256r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "write selected_group: secp256r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_ephemeral group(secp384r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "write selected_group: secp384r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_ephemeral group(secp521r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "write selected_group: secp521r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_ephemeral group(x25519) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "write selected_group: x25519" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: psk_ephemeral group(x448) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X448 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "write selected_group: x448" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk, fail, no common kex mode" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: O->m: all/psk, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -s "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: O->m: all/psk, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: O->m: all/psk, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_all, fail, key id mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/ephemeral_all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/ephemeral_all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/all, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/all, good, key id mismatch, dhe." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/all, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: ephemeral_all/psk_or_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_or_ephemeral, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Pre shared key found" \ + -S "No matched PSK or ticket" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -s "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: all/psk_or_ephemeral, fail, key material mismatch" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "Invalid binder." \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: psk_ephemeral group(secp256r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups P-256 \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "write selected_group: secp256r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: psk_ephemeral group(secp384r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp384r1 \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "write selected_group: secp384r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: psk_ephemeral group(secp521r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp521r1 \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "write selected_group: secp521r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: psk_ephemeral group(x25519) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X25519 \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "write selected_group: x25519" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: O->m: psk_ephemeral group(x448) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X448 \ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 0 \ + -s "write selected_group: x448" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3 O->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \ + "$O_NEXT_CLI_NO_CERT -tls1_3 -msg -allow_no_dhe_kex -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70 -groups P-256:P-384" \ + 0 \ + -s "write selected_group: secp384r1" \ + -s "HRR selected_group: secp384r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_gnutls_tls1_3 +requires_gnutls_next_no_ticket +requires_gnutls_next_disable_tls13_compat +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3 G->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \ + "$G_NEXT_CLI_NO_CERT --debug=4 --single-key-share --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1 --pskusername Client_identity --pskkey 6162636465666768696a6b6c6d6e6f70 localhost" \ + 0 \ + -s "write selected_group: secp384r1" \ + -s "HRR selected_group: secp384r1" \ + -S "key exchange mode: psk$" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + + +# Add psk test cases for mbedtls client code + +# MbedTls->MbedTLS kinds of tls13_kex_modes +# PSK mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->m: psk/psk, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->m: psk/psk, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->m: psk/psk, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/psk_ephemeral, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/ephemeral, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/ephemeral_all, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/psk_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/psk_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/psk_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk/all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +# psk_ephemeral mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_ephemeral/all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +# ephemeral mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/psk, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 1 \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/psk_ephemeral, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 1 \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/ephemeral_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/psk_all, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 1 \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +# ephemeral_all mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "key exchange mode: ephemeral" \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all,good,key id mismatch,fallback" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "key exchange mode: ephemeral" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/all, good, key id mismatch, fallback" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "key exchange mode: ephemeral" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: ephemeral_all/all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +# psk_all mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/ephemeral, fail - no common kex mode" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/ephemeral_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/ephemeral_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/psk_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: psk_all/all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +# all mode in client +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_ephemeral, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_ephemeral, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/ephemeral, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/ephemeral_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/ephemeral_all, good, key id mismatch, fallback" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/ephemeral_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_all, fail, key id mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "ClientHello message misses mandatory extensions." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/psk_all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/all, good" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/all, good, key id mismatch, fallback" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \ + 0 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "No matched PSK or ticket" \ + -s "key exchange mode: ephemeral" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->m: all/all, fail, key material mismatch" \ + "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \ + 1 \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Invalid binder." + +#OPENSSL-SERVER psk mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->O: psk/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->O: psk/ephemeral_all, fail - no common kex mode" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 1 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer" + +#OPENSSL-SERVER psk_all mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: psk_all/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: psk_all/ephemeral_all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 ok" + +#OPENSSL-SERVER psk_ephemeral mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: psk_ephemeral/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: psk_ephemeral/ephemeral_all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 ok" + +#OPENSSL-SERVER ephemeral mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: ephemeral/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: ephemeral/ephemeral_all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 ok" + +#OPENSSL-SERVER ephemeral_all mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: ephemeral_all/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "<= write client hello" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: ephemeral_all/ephemeral_all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "<= write client hello" \ + -c "HTTP/1.0 200 ok" + +#OPENSSL-SERVER all mode +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: all/all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "<= write client hello" \ + -c "HTTP/1.0 200 ok" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->O: all/ephemeral_all, good" \ + "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \ + "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "<= write client hello" \ + -c "HTTP/1.0 200 ok" + +#GNUTLS-SERVER psk mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->G: psk/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk$" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: m->G: psk/ephemeral_all, fail - no common kex mode" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \ + 1 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer" + +#GNUTLS-SERVER psk_all mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: psk_all/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: psk_all/ephemeral_all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +#GNUTLS-SERVER psk_ephemeral mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: psk_ephemeral/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: psk_ephemeral/ephemeral_all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +#GNUTLS-SERVER ephemeral mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: ephemeral/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: ephemeral/ephemeral_all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \ + 0 \ + -c "Selected key exchange mode: ephemeral" \ + -c "HTTP/1.0 200 OK" + +#GNUTLS-SERVER ephemeral_all mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: ephemeral_all/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: ephemeral_all/ephemeral_all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +#GNUTLS-SERVER all mode +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: all/all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: m->G: all/ephemeral_all, good" \ + "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \ + "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \ + 0 \ + -c "=> write client hello" \ + -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \ + -c "client hello, adding psk_key_exchange_modes extension" \ + -c "client hello, adding PSK binder list" \ + -s "Parsing extension 'PSK Key Exchange Modes/45'" \ + -s "Parsing extension 'Pre Shared Key/41'" \ + -c "<= write client hello" \ + -c "Selected key exchange mode: psk_ephemeral" \ + -c "HTTP/1.0 200 OK" diff --git a/tests/opt-testcases/tls13-misc.sh b/tests/opt-testcases/tls13-misc.sh new file mode 100755 index 0000000000..ed428480c4 --- /dev/null +++ b/tests/opt-testcases/tls13-misc.sh @@ -0,0 +1,346 @@ +#!/bin/sh + +# tls13-misc.sh +# +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + +run_test "TLS 1.3: PSK: No valid ciphersuite. G->m" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-CIPHER-ALL:+AES-256-GCM:+AEAD:+SHA384:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched ciphersuite" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + +run_test "TLS 1.3: PSK: No valid ciphersuite. O->m" \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -ciphersuites TLS_AES_256_GCM_SHA384\ + -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "No matched ciphersuite" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Multiple PSKs: valid ticket, reconnect with ticket" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 tickets=8" \ + "$P_CLI force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 2" \ + -s "sent selected_identity: 0" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: ephemeral$" \ + -S "ticket is not authentic" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Multiple PSKs: invalid ticket, reconnect with PSK" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 tickets=8 dummy_ticket=1" \ + "$P_CLI force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 2" \ + -s "sent selected_identity: 1" \ + -s "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: ephemeral$" \ + -s "ticket is not authentic" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, ticket authentication failed." \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=1" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -s "ticket is not authentic" \ + -S "ticket is expired" \ + -S "Invalid ticket start time" \ + -S "Ticket age exceeds limitation" \ + -S "Ticket age outside tolerance window" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, ticket expired." \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=2" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "ticket is not authentic" \ + -s "ticket is expired" \ + -S "Invalid ticket start time" \ + -S "Ticket age exceeds limitation" \ + -S "Ticket age outside tolerance window" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, invalid start time." \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=3" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "ticket is not authentic" \ + -S "ticket is expired" \ + -s "Invalid ticket start time" \ + -S "Ticket age exceeds limitation" \ + -S "Ticket age outside tolerance window" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, ticket expired. too old" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=4" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "ticket is not authentic" \ + -S "ticket is expired" \ + -S "Invalid ticket start time" \ + -s "Ticket age exceeds limitation" \ + -S "Ticket age outside tolerance window" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, age outside tolerance window, too young." \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=5" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "ticket is not authentic" \ + -S "ticket is expired" \ + -S "Invalid ticket start time" \ + -S "Ticket age exceeds limitation" \ + -s "Ticket age outside tolerance window" + +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \ + MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED +run_test "TLS 1.3 m->m: Session resumption failure, age outside tolerance window, too old." \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=6" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Pre-configured PSK number = 1" \ + -S "sent selected_identity:" \ + -s "key exchange mode: ephemeral" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: psk$" \ + -S "ticket is not authentic" \ + -S "ticket is expired" \ + -S "Invalid ticket start time" \ + -S "Ticket age exceeds limitation" \ + -s "Ticket age outside tolerance window" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3: G->m: ephemeral_all/psk, fail, no common kex mode" \ + "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 1 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -S "Found PSK KEX MODE" \ + -S "key exchange mode: psk$" \ + -S "key exchange mode: psk_ephemeral" \ + -S "key exchange mode: ephemeral" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C \ + MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +requires_all_configs_disabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: PSK: configured psk only, good." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:+GROUP-ALL \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "key exchange mode: psk$" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C \ + MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +requires_all_configs_disabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: PSK: configured psk_ephemeral only, good." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:+GROUP-ALL \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "found psk key exchange modes extension" \ + -s "found pre_shared_key extension" \ + -s "Found PSK_EPHEMERAL KEX MODE" \ + -s "Found PSK KEX MODE" \ + -s "key exchange mode: psk_ephemeral$" + +requires_gnutls_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C \ + MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED +requires_all_configs_disabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: G->m: PSK: configured ephemeral only, good." \ + "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \ + "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:+GROUP-ALL \ + --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \ + localhost" \ + 0 \ + -s "key exchange mode: ephemeral$" + +# skip the basic check now cause it will randomly trigger the anti-replay protection in gnutls_server +# Add it back once we fix the issue +skip_next_test +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_EARLY_DATA +requires_any_configs_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3 m->G: EarlyData: basic check, good" \ + "$G_NEXT_SRV -d 10 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:+ECDHE-PSK:+PSK --earlydata --disable-client-cert" \ + "$P_CLI debug_level=4 early_data=1 reco_mode=1 reconnect=1 reco_delay=2" \ + 1 \ + -c "Reconnecting with saved session" \ + -c "NewSessionTicket: early_data(42) extension received." \ + -c "ClientHello: early_data(42) extension exists." \ + -c "EncryptedExtensions: early_data(42) extension received." \ + -c "EncryptedExtensions: early_data(42) extension exists." \ + -s "Parsing extension 'Early Data/42' (0 bytes)" \ + -s "Sending extension Early Data/42 (0 bytes)" \ + -s "early data accepted" + +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_EARLY_DATA +requires_any_configs_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3 m->G: EarlyData: no early_data in NewSessionTicket, good" \ + "$G_NEXT_SRV -d 10 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:+ECDHE-PSK:+PSK --disable-client-cert" \ + "$P_CLI debug_level=4 early_data=1 reco_mode=1 reconnect=1 reco_delay=2" \ + 0 \ + -c "Reconnecting with saved session" \ + -C "NewSessionTicket: early_data(42) extension received." \ + -c "ClientHello: early_data(42) extension does not exist." \ + -C "EncryptedExtensions: early_data(42) extension received." \ + -C "EncryptedExtensions: early_data(42) extension exists." + +#TODO: OpenSSL tests don't work now. It might be openssl options issue, cause GnuTLS has worked. +skip_next_test +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_EARLY_DATA +requires_any_configs_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED +run_test "TLS 1.3, ext PSK, early data" \ + "$O_NEXT_SRV_EARLY_DATA -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \ + "$P_CLI debug_level=5 force_version=tls13 tls13_kex_modes=psk early_data=1 psk=010203 psk_identity=0a0b0c" \ + 1 \ + -c "Reconnecting with saved session" \ + -c "NewSessionTicket: early_data(42) extension received." \ + -c "ClientHello: early_data(42) extension exists." \ + -c "EncryptedExtensions: early_data(42) extension received." \ + -c "EncryptedExtensions: early_data(42) extension ( ignored )." + diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh index 458fe8f5bb..cadedb1bd1 100755 --- a/tests/scripts/all.sh +++ b/tests/scripts/all.sh @@ -120,6 +120,9 @@ # Treat uninitialised variables as errors. set -e -o pipefail -u +# Enable ksh/bash extended file matching patterns +shopt -s extglob + pre_check_environment () { if [ -d library -a -d include -a -d tests ]; then :; else echo "Must be run from mbed TLS root" >&2 @@ -295,7 +298,7 @@ cleanup() -iname CMakeCache.txt -o \ -path './cmake/*.cmake' \) -exec rm -f {} \+ # Recover files overwritten by in-tree CMake builds - rm -f include/Makefile include/mbedtls/Makefile programs/*/Makefile + rm -f include/Makefile include/mbedtls/Makefile programs/!(fuzz)/Makefile # Remove any artifacts from the component_test_cmake_as_subdirectory test. rm -rf programs/test/cmake_subproject/build @@ -314,7 +317,9 @@ cleanup() # Restore files that may have been clobbered by the job for x in $files_to_back_up; do - cp -p "$x$backup_suffix" "$x" + if [[ -e "$x$backup_suffix" ]]; then + cp -p "$x$backup_suffix" "$x" + fi done } @@ -982,6 +987,8 @@ component_test_psa_crypto_client () { scripts/config.py unset MBEDTLS_PSA_CRYPTO_C scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C scripts/config.py set MBEDTLS_PSA_CRYPTO_CLIENT + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE make msg "test: default config - PSA_CRYPTO_C + PSA_CRYPTO_CLIENT, make" @@ -1208,19 +1215,11 @@ component_test_crypto_full_no_md () { scripts/config.py crypto_full scripts/config.py unset MBEDTLS_MD_C # Direct dependencies - scripts/config.py unset MBEDTLS_ECJPAKE_C scripts/config.py unset MBEDTLS_HKDF_C scripts/config.py unset MBEDTLS_HMAC_DRBG_C - scripts/config.py unset MBEDTLS_PK_C - scripts/config.py unset MBEDTLS_PKCS1_V15 - scripts/config.py unset MBEDTLS_PKCS1_V21 - scripts/config.py unset MBEDTLS_PKCS5_C - scripts/config.py unset MBEDTLS_PKCS12_C + scripts/config.py unset MBEDTLS_PKCS7_C # Indirect dependencies scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC - scripts/config.py unset MBEDTLS_PK_PARSE_C - scripts/config.py unset MBEDTLS_PK_WRITE_C - scripts/config.py unset MBEDTLS_RSA_C make msg "test: crypto_full minus MD" @@ -1247,9 +1246,12 @@ component_test_full_no_cipher () { scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C scripts/config.py unset MBEDTLS_SSL_DTLS_ANTI_REPLAY scripts/config.py unset MBEDTLS_SSL_DTLS_CONNECTION_ID + scripts/config.py unset MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3 scripts/config.py unset MBEDTLS_SSL_SRV_C scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE make msg "test: full minus CIPHER" @@ -1272,12 +1274,196 @@ component_test_crypto_full_no_cipher () { scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE make msg "test: crypto_full minus CIPHER" make test } +component_test_tls1_2_default_stream_cipher_only () { + msg "build: default with only stream cipher" + + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Disable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC + # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Enable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py set MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only stream cipher" + make test + + # Not running ssl-opt.sh because most tests require a non-NULL ciphersuite. +} + +component_test_tls1_2_default_stream_cipher_only_use_psa () { + msg "build: default with only stream cipher use psa" + + scripts/config.py set MBEDTLS_USE_PSA_CRYPTO + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C) + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Disable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC + # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Enable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py set MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only stream cipher use psa" + make test + + # Not running ssl-opt.sh because most tests require a non-NULL ciphersuite. +} + +component_test_tls1_2_default_cbc_legacy_cipher_only () { + msg "build: default with only CBC-legacy cipher" + + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C) + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py set MBEDTLS_CIPHER_MODE_CBC + # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only CBC-legacy cipher" + make test + + msg "test: default with only CBC-legacy cipher - ssl-opt.sh (subset)" + tests/ssl-opt.sh -f "TLS 1.2" +} + +component_test_tls1_2_deafult_cbc_legacy_cipher_only_use_psa () { + msg "build: default with only CBC-legacy cipher use psa" + + scripts/config.py set MBEDTLS_USE_PSA_CRYPTO + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C) + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py set MBEDTLS_CIPHER_MODE_CBC + # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only CBC-legacy cipher use psa" + make test + + msg "test: default with only CBC-legacy cipher use psa - ssl-opt.sh (subset)" + tests/ssl-opt.sh -f "TLS 1.2" +} + +component_test_tls1_2_default_cbc_legacy_cbc_etm_cipher_only () { + msg "build: default with only CBC-legacy and CBC-EtM ciphers" + + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C) + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py set MBEDTLS_CIPHER_MODE_CBC + # Enable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py set MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only CBC-legacy and CBC-EtM ciphers" + make test + + msg "test: default with only CBC-legacy and CBC-EtM ciphers - ssl-opt.sh (subset)" + tests/ssl-opt.sh -f "TLS 1.2" +} + +component_test_tls1_2_default_cbc_legacy_cbc_etm_cipher_only_use_psa () { + msg "build: default with only CBC-legacy and CBC-EtM ciphers use psa" + + scripts/config.py set MBEDTLS_USE_PSA_CRYPTO + # Disable AEAD (controlled by the presence of one of GCM_C, CCM_C, CHACHAPOLY_C) + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, ARIA, Camellia, DES)) + scripts/config.py set MBEDTLS_CIPHER_MODE_CBC + # Enable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC) + scripts/config.py set MBEDTLS_SSL_ENCRYPT_THEN_MAC + # Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_CIPHER)) + scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER + # Modules that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + make + + msg "test: default with only CBC-legacy and CBC-EtM ciphers use psa" + make test + + msg "test: default with only CBC-legacy and CBC-EtM ciphers use psa - ssl-opt.sh (subset)" + tests/ssl-opt.sh -f "TLS 1.2" +} + +# We're not aware of any other (open source) implementation of EC J-PAKE in TLS +# that we could use for interop testing. However, we now have sort of two +# implementations ourselves: one using PSA, the other not. At least test that +# these two interoperate with each other. +component_test_tls1_2_ecjpake_compatibility() { + msg "build: TLS1.2 server+client w/ EC-JPAKE w/o USE_PSA" + scripts/config.py set MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED + make -C programs ssl/ssl_server2 ssl/ssl_client2 + cp programs/ssl/ssl_server2 s2_no_use_psa + cp programs/ssl/ssl_client2 c2_no_use_psa + + msg "build: TLS1.2 server+client w/ EC-JPAKE w/ USE_PSA" + scripts/config.py set MBEDTLS_USE_PSA_CRYPTO + make clean + make -C programs ssl/ssl_server2 ssl/ssl_client2 + make -C programs test/udp_proxy test/query_compile_time_config + + msg "test: server w/o USE_PSA - client w/ USE_PSA" + P_SRV=../s2_no_use_psa tests/ssl-opt.sh -f ECJPAKE + msg "test: client w/o USE_PSA - server w/ USE_PSA" + P_CLI=../c2_no_use_psa tests/ssl-opt.sh -f ECJPAKE + + rm s2_no_use_psa c2_no_use_psa +} + component_test_psa_external_rng_use_psa_crypto () { msg "build: full + PSA_CRYPTO_EXTERNAL_RNG + USE_PSA_CRYPTO minus CTR_DRBG" scripts/config.py full @@ -1383,12 +1569,15 @@ component_test_psa_collect_statuses () { component_test_full_cmake_clang () { msg "build: cmake, full config, clang" # ~ 50s scripts/config.py full - CC=clang cmake -D CMAKE_BUILD_TYPE:String=Release -D ENABLE_TESTING=On . + CC=clang CXX=clang cmake -D CMAKE_BUILD_TYPE:String=Release -D ENABLE_TESTING=On -D TEST_CPP=1 . make msg "test: main suites (full config, clang)" # ~ 5s make test + msg "test: cpp_dummy_build (full config, clang)" # ~ 1s + programs/test/cpp_dummy_build + msg "test: psa_constant_names (full config, clang)" # ~ 1s tests/scripts/test_psa_constant_names.py @@ -1402,6 +1591,17 @@ component_test_full_cmake_clang () { env OPENSSL_CMD="$OPENSSL_NEXT" tests/compat.sh -e '^$' -f 'ARIA\|CHACHA' } +skip_suites_without_constant_flow () { + # Skip the test suites that don't have any constant-flow annotations. + # This will need to be adjusted if we ever start declaring things as + # secret from macros or functions inside tests/include or tests/src. + SKIP_TEST_SUITES=$( + git -C tests/suites grep -L TEST_CF_ 'test_suite_*.function' | + sed 's/test_suite_//; s/\.function$//' | + tr '\n' ,) + export SKIP_TEST_SUITES +} + component_test_memsan_constant_flow () { # This tests both (1) accesses to undefined memory, and (2) branches or # memory access depending on secret values. To distinguish between those: @@ -1453,12 +1653,13 @@ component_test_valgrind_constant_flow () { scripts/config.py full scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO + skip_suites_without_constant_flow cmake -D CMAKE_BUILD_TYPE:String=Release . make # this only shows a summary of the results (how many of each type) # details are left in Testing//DynamicAnalysis.xml - msg "test: main suites (full minus MBEDTLS_USE_PSA_CRYPTO, valgrind + constant flow)" + msg "test: some suites (full minus MBEDTLS_USE_PSA_CRYPTO, valgrind + constant flow)" make memcheck } @@ -1475,12 +1676,13 @@ component_test_valgrind_constant_flow_psa () { msg "build: cmake release GCC, full config with constant flow testing" scripts/config.py full scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND + skip_suites_without_constant_flow cmake -D CMAKE_BUILD_TYPE:String=Release . make # this only shows a summary of the results (how many of each type) # details are left in Testing//DynamicAnalysis.xml - msg "test: main suites (valgrind + constant flow)" + msg "test: some suites (valgrind + constant flow)" make memcheck } @@ -1558,6 +1760,37 @@ component_build_crypto_full () { are_empty_libraries library/libmbedx509.* library/libmbedtls.* } +component_test_crypto_for_psa_service () { + msg "build: make, config for PSA crypto service" + scripts/config.py crypto + scripts/config.py set MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER + # Disable things that are not needed for just cryptography, to + # reach a configuration that would be typical for a PSA cryptography + # service providing all implemented PSA algorithms. + # System stuff + scripts/config.py unset MBEDTLS_ERROR_C + scripts/config.py unset MBEDTLS_TIMING_C + scripts/config.py unset MBEDTLS_VERSION_FEATURES + # Crypto stuff with no PSA interface + scripts/config.py unset MBEDTLS_BASE64_C + # Keep MBEDTLS_CIPHER_C because psa_crypto_cipher, CCM and GCM need it. + scripts/config.py unset MBEDTLS_HKDF_C # PSA's HKDF is independent + # Keep MBEDTLS_MD_C because deterministic ECDSA needs it for HMAC_DRBG. + scripts/config.py unset MBEDTLS_NIST_KW_C + scripts/config.py unset MBEDTLS_PEM_PARSE_C + scripts/config.py unset MBEDTLS_PEM_WRITE_C + scripts/config.py unset MBEDTLS_PKCS12_C + scripts/config.py unset MBEDTLS_PKCS5_C + # MBEDTLS_PK_PARSE_C and MBEDTLS_PK_WRITE_C are actually currently needed + # in PSA code to work with RSA keys. We don't require users to set those: + # they will be reenabled in build_info.h. + scripts/config.py unset MBEDTLS_PK_C + scripts/config.py unset MBEDTLS_PK_PARSE_C + scripts/config.py unset MBEDTLS_PK_WRITE_C + make CFLAGS='-O1 -Werror' all test + are_empty_libraries library/libmbedx509.* library/libmbedtls.* +} + component_build_crypto_baremetal () { msg "build: make, crypto only, baremetal config" scripts/config.py crypto_baremetal @@ -1580,51 +1813,76 @@ support_build_baremetal () { ! grep -q -F time.h /usr/include/x86_64-linux-gnu/sys/types.h } -component_test_depends_curves () { - msg "test/build: curves.pl (gcc)" # ~ 4 min - tests/scripts/curves.pl +# depends.py family of tests +component_test_depends_py_cipher_id () { + msg "test/build: depends.py cipher_id (gcc)" + tests/scripts/depends.py cipher_id --unset-use-psa } -component_test_depends_curves_psa () { - msg "test/build: curves.pl with MBEDTLS_USE_PSA_CRYPTO defined (gcc)" - scripts/config.py set MBEDTLS_USE_PSA_CRYPTO - tests/scripts/curves.pl +component_test_depends_py_cipher_chaining () { + msg "test/build: depends.py cipher_chaining (gcc)" + tests/scripts/depends.py cipher_chaining --unset-use-psa } -component_test_depends_hashes () { - msg "test/build: depends-hashes.pl (gcc)" # ~ 2 min - tests/scripts/depends-hashes.pl +component_test_depends_py_cipher_padding () { + msg "test/build: depends.py cipher_padding (gcc)" + tests/scripts/depends.py cipher_padding --unset-use-psa } -component_test_depends_hashes_psa () { - msg "test/build: depends-hashes.pl with MBEDTLS_USE_PSA_CRYPTO defined (gcc)" - scripts/config.py set MBEDTLS_USE_PSA_CRYPTO - tests/scripts/depends-hashes.pl +component_test_depends_py_curves () { + msg "test/build: depends.py curves (gcc)" + tests/scripts/depends.py curves --unset-use-psa } -component_test_depends_pkalgs () { - msg "test/build: depends-pkalgs.pl (gcc)" # ~ 2 min - tests/scripts/depends-pkalgs.pl +component_test_depends_py_hashes () { + msg "test/build: depends.py hashes (gcc)" + tests/scripts/depends.py hashes --unset-use-psa } -component_test_depends_pkalgs_psa () { - msg "test/build: depends-pkalgs.pl with MBEDTLS_USE_PSA_CRYPTO defined (gcc)" - scripts/config.py set MBEDTLS_USE_PSA_CRYPTO - tests/scripts/depends-pkalgs.pl +component_test_depends_py_kex () { + msg "test/build: depends.py kex (gcc)" + tests/scripts/depends.py kex --unset-use-psa } -component_build_key_exchanges () { - msg "test/build: key-exchanges (gcc)" # ~ 1 min - tests/scripts/key-exchanges.pl +component_test_depends_py_pkalgs () { + msg "test/build: depends.py pkalgs (gcc)" + tests/scripts/depends.py pkalgs --unset-use-psa } -component_test_make_cxx () { - msg "build: Unix make, full, gcc + g++" - scripts/config.py full - make TEST_CPP=1 lib programs +# PSA equivalents of the depends.py tests +component_test_depends_py_cipher_id_psa () { + msg "test/build: depends.py cipher_id (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py cipher_id +} - msg "test: cpp_dummy_build" - programs/test/cpp_dummy_build +component_test_depends_py_cipher_chaining_psa () { + msg "test/build: depends.py cipher_chaining (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py cipher_chaining +} + +component_test_depends_py_cipher_padding_psa () { + msg "test/build: depends.py cipher_padding (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py cipher_padding +} + +component_test_depends_py_curves_psa () { + msg "test/build: depends.py curves (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py curves +} + +component_test_depends_py_hashes_psa () { + msg "test/build: depends.py hashes (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py hashes +} + +component_test_depends_py_kex_psa () { + msg "test/build: depends.py kex (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py kex +} + +component_test_depends_py_pkalgs_psa () { + msg "test/build: depends.py pkalgs (gcc) with MBEDTLS_USE_PSA_CRYPTO defined" + tests/scripts/depends.py pkalgs } component_build_module_alt () { @@ -1676,6 +1934,8 @@ component_test_no_use_psa_crypto_full_cmake_asan() { scripts/config.py unset MBEDTLS_PSA_ITS_FILE_C scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . make @@ -1724,7 +1984,7 @@ component_test_psa_crypto_config_accel_ecdsa () { scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" - make CFLAGS="$ASAN_CFLAGS -O -Werror -I../tests/include -I../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + make CFLAGS="$ASAN_CFLAGS -O -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" not grep mbedtls_ecdsa_ library/ecdsa.o @@ -1732,6 +1992,38 @@ component_test_psa_crypto_config_accel_ecdsa () { make test } +component_test_psa_crypto_config_accel_ecdh () { + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated ECDH" + + # Disable ALG_STREAM_CIPHER and ALG_ECB_NO_PADDING to avoid having + # partial support for cipher operations in the driver test library. + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING + + loc_accel_list="ALG_ECDH KEY_TYPE_ECC_KEY_PAIR KEY_TYPE_ECC_PUBLIC_KEY" + loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' ) + make -C tests libtestdriver1.a CFLAGS=" $ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS" + + scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS + scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG + scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO + scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3 + scripts/config.py unset MBEDTLS_ECDH_C + scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED + scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED + scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED + scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED + scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED + + loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" + make CFLAGS="$ASAN_CFLAGS -O -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + + not grep mbedtls_ecdh_ library/ecdh.o + + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated ECDH" + make test +} + component_test_psa_crypto_config_accel_rsa_signature () { msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated RSA signature" @@ -1765,6 +2057,8 @@ component_test_psa_crypto_config_accel_rsa_signature () { scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA1_C scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA512_C + # We need to define either MD_C or all of the PSA_WANT_ALG_SHAxxx. + scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_MD_C # We need PEM parsing in the test library as well to support the import # of PEM encoded RSA keys. scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_PEM_PARSE_C @@ -1777,6 +2071,7 @@ component_test_psa_crypto_config_accel_rsa_signature () { # Restore test driver base configuration scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA1_C scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA512_C + scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_MD_C scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_PEM_PARSE_C scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_BASE64_C @@ -1803,7 +2098,7 @@ component_test_psa_crypto_config_accel_rsa_signature () { scripts/config.py unset MBEDTLS_SSL_CBC_RECORD_SPLITTING loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" - make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" not grep mbedtls_rsa_rsassa_pkcs1_v15_sign library/rsa.o not grep mbedtls_rsa_rsassa_pss_sign_ext library/rsa.o @@ -1832,14 +2127,8 @@ component_test_psa_crypto_config_accel_hash () { # Don't unset MBEDTLS_SHA256_C as it is needed by PSA crypto core. scripts/config.py unset MBEDTLS_SHA384_C scripts/config.py unset MBEDTLS_SHA512_C - # Unset MBEDTLS_SSL_PROTO_SSL3, MBEDTLS_SSL_PROTO_TLS1 and MBEDTLS_SSL_PROTO_TLS1_1 as they depend on MBEDTLS_SHA1_C - scripts/config.py unset MBEDTLS_SSL_PROTO_SSL3 - scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1 - scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_1 - # Unset MBEDTLS_SSL_CBC_RECORD_SPLITTING as it depends on MBEDTLS_SSL_PROTO_TLS1 in the default configuration. - scripts/config.py unset MBEDTLS_SSL_CBC_RECORD_SPLITTING loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" - make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" not grep mbedtls_sha512_init library/sha512.o not grep mbedtls_sha1_init library/sha1.o @@ -1848,6 +2137,105 @@ component_test_psa_crypto_config_accel_hash () { make test } +# Auxiliary function to build config for hashes with and without drivers +config_psa_crypto_hash_use_psa () { + DRIVER_ONLY="$1" + # start with config full for maximum coverage (also enables USE_PSA) + scripts/config.py full + # enable support for drivers and configuring PSA-only algorithms + scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG + scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS + if [ "$DRIVER_ONLY" -eq 1 ]; then + # disable the built-in implementation of hashes + scripts/config.py unset MBEDTLS_MD5_C + scripts/config.py unset MBEDTLS_RIPEMD160_C + scripts/config.py unset MBEDTLS_SHA1_C + scripts/config.py unset MBEDTLS_SHA224_C + scripts/config.py unset MBEDTLS_SHA256_C # see external RNG below + scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT + scripts/config.py unset MBEDTLS_SHA384_C + scripts/config.py unset MBEDTLS_SHA512_C + scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT + fi + # Use an external RNG as currently internal RNGs depend on entropy.c + # which in turn hard-depends on SHA256_C (or SHA512_C). + # See component_test_psa_external_rng_no_drbg_use_psa. + scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG + scripts/config.py unset MBEDTLS_ENTROPY_C + scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED # depends on ENTROPY_C + scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT # depends on former + # Also unset MD_C and things that depend on it; + # see component_test_crypto_full_no_md. + if [ "$DRIVER_ONLY" -eq 1 ]; then + scripts/config.py unset MBEDTLS_MD_C + fi + scripts/config.py unset MBEDTLS_HKDF_C # has independent PSA implementation + scripts/config.py unset MBEDTLS_HMAC_DRBG_C + scripts/config.py unset MBEDTLS_PKCS7_C + scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_DETERMINISTIC_ECDSA +} + +# Note that component_test_psa_crypto_config_reference_hash_use_psa +# is related to this component and both components need to be kept in sync. +# For details please see comments for component_test_psa_crypto_config_reference_hash_use_psa. +component_test_psa_crypto_config_accel_hash_use_psa () { + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated hash and USE_PSA" + + # Disable ALG_STREAM_CIPHER and ALG_ECB_NO_PADDING to avoid having + # partial support for cipher operations in the driver test library. + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING + + loc_accel_list="ALG_MD5 ALG_RIPEMD160 ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512" + loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' ) + make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS" + + config_psa_crypto_hash_use_psa 1 + + loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" + make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" all + + # There's a risk of something getting re-enabled via config_psa.h; + # make sure it did not happen. + not grep mbedtls_md library/md.o + not grep mbedtls_md5 library/md5.o + not grep mbedtls_sha1 library/sha1.o + not grep mbedtls_sha256 library/sha256.o + not grep mbedtls_sha512 library/sha512.o + not grep mbedtls_ripemd160 library/ripemd160.o + + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated hash and USE_PSA" + make test + + msg "test: ssl-opt.sh, MBEDTLS_PSA_CRYPTO_CONFIG with accelerated hash and USE_PSA" + tests/ssl-opt.sh + + msg "test: compat.sh, MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA" + tests/compat.sh +} + +# This component provides reference configuration for test_psa_crypto_config_accel_hash_use_psa +# without accelerated hash. The outcome from both components are used by the analyze_outcomes.py +# script to find regression in test coverage when accelerated hash is used (tests and ssl-opt). +# Both components need to be kept in sync. +component_test_psa_crypto_config_reference_hash_use_psa() { + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA" + + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING + + config_psa_crypto_hash_use_psa 0 + + make + + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA" + make test + + msg "test: ssl-opt.sh, MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA" + tests/ssl-opt.sh +} + component_test_psa_crypto_config_accel_cipher () { msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated cipher" @@ -1876,11 +2264,46 @@ component_test_psa_crypto_config_accel_cipher () { scripts/config.py unset MBEDTLS_DES_C loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" - make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" not grep mbedtls_des* library/des.o - msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated hash" + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated cipher" + make test +} + +component_test_psa_crypto_config_accel_aead () { + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated AEAD" + + # Disable ALG_STREAM_CIPHER and ALG_ECB_NO_PADDING to avoid having + # partial support for cipher operations in the driver test library. + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING + + loc_accel_list="ALG_GCM ALG_CCM ALG_CHACHA20_POLY1305 KEY_TYPE_AES KEY_TYPE_CHACHA20 KEY_TYPE_ARIA KEY_TYPE_CAMELLIA" + loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' ) + make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS" + + scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS + scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG + + scripts/config.py unset MBEDTLS_GCM_C + scripts/config.py unset MBEDTLS_CCM_C + scripts/config.py unset MBEDTLS_CHACHAPOLY_C + # Features that depend on AEAD + scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION + scripts/config.py unset MBEDTLS_SSL_TICKET_C + + loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )" + make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" + + # There's a risk of something getting re-enabled via config_psa.h + # make sure it did not happen. + not grep mbedtls_ccm library/ccm.o + not grep mbedtls_gcm library/gcm.o + not grep mbedtls_chachapoly library/chachapoly.o + + msg "test: MBEDTLS_PSA_CRYPTO_CONFIG with accelerated AEAD" make test } @@ -1911,25 +2334,6 @@ component_test_psa_crypto_config_chachapoly_disabled() { make test } -# This should be renamed to test and updated once the accelerator ECDSA code is in place and ready to test. -component_build_psa_accel_alg_ecdsa() { - # full plus MBEDTLS_PSA_CRYPTO_CONFIG with PSA_WANT_ALG_ECDSA - # without MBEDTLS_ECDSA_C - # PSA_WANT_ALG_ECDSA and PSA_WANT_ALG_DETERMINISTIC_ECDSA are already - # set in include/psa/crypto_config.h - msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_ECDSA without MBEDTLS_ECDSA_C" - scripts/config.py full - scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG - scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS - scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO - scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3 - scripts/config.py unset MBEDTLS_ECDSA_C - scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED - scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED - # Need to define the correct symbol and include the test driver header path in order to build with the test driver - make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_ECDSA -DMBEDTLS_PSA_ACCEL_ALG_DETERMINISTIC_ECDSA -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" -} - # This should be renamed to test and updated once the accelerator ECDH code is in place and ready to test. component_build_psa_accel_alg_ecdh() { # full plus MBEDTLS_PSA_CRYPTO_CONFIG with PSA_WANT_ALG_ECDH @@ -2025,6 +2429,9 @@ component_build_psa_accel_alg_md5() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_MD5 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2044,6 +2451,9 @@ component_build_psa_accel_alg_ripemd160() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RIPEMD160 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2063,6 +2473,9 @@ component_build_psa_accel_alg_sha1() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_1 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2081,6 +2494,7 @@ component_build_psa_accel_alg_sha224() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_224 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2118,6 +2532,9 @@ component_build_psa_accel_alg_sha384() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_384 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2137,6 +2554,9 @@ component_build_psa_accel_alg_sha512() { scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384 + scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS + scripts/config.py unset MBEDTLS_LMS_C + scripts/config.py unset MBEDTLS_LMS_PRIVATE # Need to define the correct symbol and include the test driver header path in order to build with the test driver make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_512 -I../tests/include -O2" LDFLAGS="$ASAN_CFLAGS" } @@ -2251,6 +2671,7 @@ component_test_no_platform () { scripts/config.py unset MBEDTLS_PLATFORM_PRINTF_ALT scripts/config.py unset MBEDTLS_PLATFORM_FPRINTF_ALT scripts/config.py unset MBEDTLS_PLATFORM_SNPRINTF_ALT + scripts/config.py unset MBEDTLS_PLATFORM_VSNPRINTF_ALT scripts/config.py unset MBEDTLS_PLATFORM_TIME_ALT scripts/config.py unset MBEDTLS_PLATFORM_EXIT_ALT scripts/config.py unset MBEDTLS_PLATFORM_SETBUF_ALT @@ -2390,21 +2811,20 @@ component_test_variable_ssl_in_out_buffer_len () { tests/compat.sh } -component_test_variable_ssl_in_out_buffer_len_CID () { - msg "build: MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH and MBEDTLS_SSL_DTLS_CONNECTION_ID enabled (ASan build)" - scripts/config.py set MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH - scripts/config.py set MBEDTLS_SSL_DTLS_CONNECTION_ID +component_test_dtls_cid_legacy () { + msg "build: MBEDTLS_SSL_DTLS_CONNECTION_ID (legacy) enabled (ASan build)" + scripts/config.py set MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT 1 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . make - msg "test: MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH and MBEDTLS_SSL_DTLS_CONNECTION_ID" + msg "test: MBEDTLS_SSL_DTLS_CONNECTION_ID (legacy)" make test - msg "test: ssl-opt.sh, MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH and MBEDTLS_SSL_DTLS_CONNECTION_ID enabled" + msg "test: ssl-opt.sh, MBEDTLS_SSL_DTLS_CONNECTION_ID (legacy) enabled" tests/ssl-opt.sh - msg "test: compat.sh, MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH and MBEDTLS_SSL_DTLS_CONNECTION_ID enabled" + msg "test: compat.sh, MBEDTLS_SSL_DTLS_CONNECTION_ID (legacy) enabled" tests/compat.sh } @@ -2870,6 +3290,7 @@ component_build_armcc () { scripts/config.py baremetal # armc[56] don't support SHA-512 intrinsics scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT + scripts/config.py set MBEDTLS_HAVE_ASM make CC="$ARMC5_CC" AR="$ARMC5_AR" WARNING_CFLAGS='--strict --c99' lib @@ -2878,43 +3299,124 @@ component_build_armcc () { make clean + # Compile with -O1 since some Arm inline assembly is disabled for -O0. + # ARM Compiler 6 - Target ARMv7-A - armc6_build_test "--target=arm-arm-none-eabi -march=armv7-a" + armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-a" # ARM Compiler 6 - Target ARMv7-M - armc6_build_test "--target=arm-arm-none-eabi -march=armv7-m" + armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m" + + # ARM Compiler 6 - Target ARMv7-M+DSP + armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m+dsp" # ARM Compiler 6 - Target ARMv8-A - AArch32 - armc6_build_test "--target=arm-arm-none-eabi -march=armv8.2-a" + armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8.2-a" # ARM Compiler 6 - Target ARMv8-M - armc6_build_test "--target=arm-arm-none-eabi -march=armv8-m.main" + armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8-m.main" # ARM Compiler 6 - Target ARMv8.2-A - AArch64 - armc6_build_test "--target=aarch64-arm-none-eabi -march=armv8.2-a+crypto" + armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8.2-a+crypto" } component_test_tls13_only () { msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3, without MBEDTLS_SSL_PROTO_TLS1_2" + scripts/config.py set MBEDTLS_SSL_EARLY_DATA make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" - msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without MBEDTLS_SSL_PROTO_TLS1_2" - if_build_succeeded make test + msg "test: TLS 1.3 only, all key exchange modes enabled" + make test - msg "ssl-opt.sh (TLS 1.3)" - if_build_succeeded tests/ssl-opt.sh + msg "ssl-opt.sh: TLS 1.3 only, all key exchange modes enabled" + tests/ssl-opt.sh } -component_test_tls13_only_with_hooks () { - msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 and MBEDTLS_TEST_HOOKS, without MBEDTLS_SSL_PROTO_TLS1_2" - scripts/config.py set MBEDTLS_TEST_HOOKS +component_test_tls13_only_psk () { + msg "build: TLS 1.3 only from default, only PSK key exchange mode" + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED + scripts/config.py unset MBEDTLS_ECDH_C + scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C + scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT + scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION + scripts/config.py unset MBEDTLS_ECDSA_C + scripts/config.py unset MBEDTLS_PKCS1_V21 + scripts/config.py unset MBEDTLS_PKCS7_C + scripts/config.py set MBEDTLS_SSL_EARLY_DATA make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" - msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without MBEDTLS_SSL_PROTO_TLS1_2" - if_build_succeeded make test + msg "test_suite_ssl: TLS 1.3 only, only PSK key exchange mode enabled" + cd tests; ./test_suite_ssl; cd .. - msg "ssl-opt.sh (TLS 1.3)" - if_build_succeeded tests/ssl-opt.sh + msg "ssl-opt.sh: TLS 1.3 only, only PSK key exchange mode enabled" + tests/ssl-opt.sh +} + +component_test_tls13_only_ephemeral () { + msg "build: TLS 1.3 only from default, only ephemeral key exchange mode" + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED + scripts/config.py unset MBEDTLS_SSL_EARLY_DATA + make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" + + msg "test_suite_ssl: TLS 1.3 only, only ephemeral key exchange mode" + cd tests; ./test_suite_ssl; cd .. + + msg "ssl-opt.sh: TLS 1.3 only, only ephemeral key exchange mode" + tests/ssl-opt.sh +} + +component_test_tls13_only_psk_ephemeral () { + msg "build: TLS 1.3 only from default, only PSK ephemeral key exchange mode" + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C + scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT + scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION + scripts/config.py unset MBEDTLS_ECDSA_C + scripts/config.py unset MBEDTLS_PKCS1_V21 + scripts/config.py unset MBEDTLS_PKCS7_C + scripts/config.py set MBEDTLS_SSL_EARLY_DATA + make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" + + msg "test_suite_ssl: TLS 1.3 only, only PSK ephemeral key exchange mode" + cd tests; ./test_suite_ssl; cd .. + + msg "ssl-opt.sh: TLS 1.3 only, only PSK ephemeral key exchange mode" + tests/ssl-opt.sh +} + +component_test_tls13_only_psk_all () { + msg "build: TLS 1.3 only from default, without ephemeral key exchange mode" + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C + scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT + scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION + scripts/config.py unset MBEDTLS_ECDSA_C + scripts/config.py unset MBEDTLS_PKCS1_V21 + scripts/config.py unset MBEDTLS_PKCS7_C + scripts/config.py set MBEDTLS_SSL_EARLY_DATA + make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" + + msg "test_suite_ssl: TLS 1.3 only, PSK and PSK ephemeral key exchange modes" + cd tests; ./test_suite_ssl; cd .. + + msg "ssl-opt.sh: TLS 1.3 only, PSK and PSK ephemeral key exchange modes" + tests/ssl-opt.sh +} + +component_test_tls13_only_ephemeral_all () { + msg "build: TLS 1.3 only from default, without PSK key exchange mode" + scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED + scripts/config.py set MBEDTLS_SSL_EARLY_DATA + make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'" + + msg "test_suite_ssl: TLS 1.3 only, ephemeral and PSK ephemeral key exchange modes" + cd tests; ./test_suite_ssl; cd .. + + msg "ssl-opt.sh: TLS 1.3 only, ephemeral and PSK ephemeral key exchange modes" + tests/ssl-opt.sh } component_test_tls13 () { @@ -2922,6 +3424,7 @@ component_test_tls13 () { scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3 scripts/config.py set MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE scripts/config.py set MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 1 + scripts/config.py set MBEDTLS_SSL_EARLY_DATA CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . make msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding" @@ -2935,6 +3438,7 @@ component_test_tls13_no_compatibility_mode () { scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3 scripts/config.py unset MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE scripts/config.py set MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 1 + scripts/config.py set MBEDTLS_SSL_EARLY_DATA CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . make msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding" @@ -2943,46 +3447,6 @@ component_test_tls13_no_compatibility_mode () { tests/ssl-opt.sh } -component_test_tls13_with_padding () { - msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with padding" - scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3 - scripts/config.py set MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE - scripts/config.py set MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 16 - CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . - make - msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with padding" - make test - msg "ssl-opt.sh (TLS 1.3 with padding)" - tests/ssl-opt.sh -} - -component_test_tls13_with_ecp_restartable () { - msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with ecp_restartable" - scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3 - scripts/config.py set MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE - scripts/config.py set MBEDTLS_ECP_RESTARTABLE - CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . - make - msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with ecp_restartable" - make test - msg "ssl-opt.sh (TLS 1.3 with ecp_restartable)" - tests/ssl-opt.sh -} - -component_test_tls13_with_everest () { - msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with Everest" - scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3 - scripts/config.py set MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE - scripts/config.py set MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED - scripts/config.py unset MBEDTLS_ECP_RESTARTABLE - CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan . - make - msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, with Everest" - make test - msg "ssl-opt.sh (TLS 1.3 with everest)" - tests/ssl-opt.sh -} - component_build_mingw () { msg "build: Windows cross build - mingw64, make (Link Library)" # ~ 30s make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 lib programs @@ -3025,30 +3489,43 @@ component_test_memsan () { component_test_valgrind () { msg "build: Release (clang)" + # default config, in particular without MBEDTLS_USE_PSA_CRYPTO CC=clang cmake -D CMAKE_BUILD_TYPE:String=Release . make - msg "test: main suites valgrind (Release)" + msg "test: main suites, Valgrind (default config)" make memcheck # Optional parts (slow; currently broken on OS X because programs don't # seem to receive signals under valgrind on OS X). + # These optional parts don't run on the CI. if [ "$MEMORY" -gt 0 ]; then - msg "test: ssl-opt.sh --memcheck (Release)" + msg "test: ssl-opt.sh --memcheck (default config)" tests/ssl-opt.sh --memcheck fi if [ "$MEMORY" -gt 1 ]; then - msg "test: compat.sh --memcheck (Release)" + msg "test: compat.sh --memcheck (default config)" tests/compat.sh --memcheck fi if [ "$MEMORY" -gt 0 ]; then - msg "test: context-info.sh --memcheck (Release)" + msg "test: context-info.sh --memcheck (default config)" tests/context-info.sh --memcheck fi } +component_test_valgrind_psa () { + msg "build: Release, full (clang)" + # full config, in particular with MBEDTLS_USE_PSA_CRYPTO + scripts/config.py full + CC=clang cmake -D CMAKE_BUILD_TYPE:String=Release . + make + + msg "test: main suites, Valgrind (full config)" + make memcheck +} + support_test_cmake_out_of_source () { distrib_id="" distrib_ver="" diff --git a/tests/scripts/analyze_outcomes.py b/tests/scripts/analyze_outcomes.py index d06a0596f3..bb44396534 100755 --- a/tests/scripts/analyze_outcomes.py +++ b/tests/scripts/analyze_outcomes.py @@ -9,6 +9,7 @@ import argparse import sys import traceback +import re import check_test_cases @@ -60,6 +61,37 @@ def analyze_coverage(results, outcomes): # fixed this branch to have full coverage of test cases. results.warning('Test case not executed: {}', key) +def analyze_driver_vs_reference(outcomes, component_ref, component_driver, ignored_tests): + """Check that all tests executed in the reference component are also + executed in the corresponding driver component. + Skip test suites provided in ignored_tests list. + """ + available = check_test_cases.collect_available_test_cases() + result = True + + for key in available: + # Skip ignored test suites + test_suite = key.split(';')[0] # retrieve test suit name + test_suite = test_suite.split('.')[0] # retrieve main part of test suit name + if test_suite in ignored_tests: + continue + # Continue if test was not executed by any component + hits = outcomes[key].hits() if key in outcomes else 0 + if hits == 0: + continue + # Search for tests that run in reference component and not in driver component + driver_test_passed = False + reference_test_passed = False + for entry in outcomes[key].successes: + if component_driver in entry: + driver_test_passed = True + if component_ref in entry: + reference_test_passed = True + if(driver_test_passed is False and reference_test_passed is True): + print('{}: driver: skipped/failed; reference: passed'.format(key)) + result = False + return result + def analyze_outcomes(outcomes): """Run all analyses on the given outcome collection.""" results = Results() @@ -87,20 +119,75 @@ def read_outcome_file(outcome_file): outcomes[key].failures.append(setup) return outcomes -def analyze_outcome_file(outcome_file): - """Analyze the given outcome file.""" +def do_analyze_coverage(outcome_file, args): + """Perform coverage analysis.""" + del args # unused outcomes = read_outcome_file(outcome_file) - return analyze_outcomes(outcomes) + results = analyze_outcomes(outcomes) + return results.error_count == 0 + +def do_analyze_driver_vs_reference(outcome_file, args): + """Perform driver vs reference analyze.""" + ignored_tests = ['test_suite_' + x for x in args['ignored_suites']] + + outcomes = read_outcome_file(outcome_file) + return analyze_driver_vs_reference(outcomes, args['component_ref'], + args['component_driver'], ignored_tests) + +# List of tasks with a function that can handle this task and additional arguments if required +TASKS = { + 'analyze_coverage': { + 'test_function': do_analyze_coverage, + 'args': {}}, + 'analyze_driver_vs_reference_hash': { + 'test_function': do_analyze_driver_vs_reference, + 'args': { + 'component_ref': 'test_psa_crypto_config_reference_hash_use_psa', + 'component_driver': 'test_psa_crypto_config_accel_hash_use_psa', + 'ignored_suites': ['shax', 'mdx', # the software implementations that are being excluded + 'md', # the legacy abstraction layer that's being excluded + ]}} +} def main(): try: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('outcomes', metavar='OUTCOMES.CSV', help='Outcome file to analyze') + parser.add_argument('task', default='all', nargs='?', + help='Analysis to be done. By default, run all tasks. ' + 'With one or more TASK, run only those. ' + 'TASK can be the name of a single task or ' + 'comma/space-separated list of tasks. ') + parser.add_argument('--list', action='store_true', + help='List all available tasks and exit.') options = parser.parse_args() - results = analyze_outcome_file(options.outcomes) - if results.error_count > 0: + + if options.list: + for task in TASKS: + print(task) + sys.exit(0) + + result = True + + if options.task == 'all': + tasks = TASKS.keys() + else: + tasks = re.split(r'[, ]+', options.task) + + for task in tasks: + if task not in TASKS: + print('Error: invalid task: {}'.format(task)) + sys.exit(1) + + for task in TASKS: + if task in tasks: + if not TASKS[task]['test_function'](options.outcomes, TASKS[task]['args']): + result = False + + if result is False: sys.exit(1) + print("SUCCESS :-)") except Exception: # pylint: disable=broad-except # Print the backtrace and exit explicitly with our chosen status. traceback.print_exc() diff --git a/tests/scripts/basic-build-test.sh b/tests/scripts/basic-build-test.sh index 31beb1c213..a96254fd55 100755 --- a/tests/scripts/basic-build-test.sh +++ b/tests/scripts/basic-build-test.sh @@ -1,6 +1,6 @@ #!/bin/sh -# basic-build-tests.sh +# basic-build-test.sh # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 @@ -36,7 +36,7 @@ # # This script has been written to be generic and should work on any shell. # -# Usage: basic-build-tests.sh +# Usage: basic-build-test.sh # # Abort on errors (and uninitiliased variables) diff --git a/tests/scripts/basic-in-docker.sh b/tests/scripts/basic-in-docker.sh index 50bcb05b3a..1f65710c8a 100755 --- a/tests/scripts/basic-in-docker.sh +++ b/tests/scripts/basic-in-docker.sh @@ -40,6 +40,6 @@ for compiler in clang gcc; do run_in_docker -e OSSL_NO_DTLS=1 tests/compat.sh run_in_docker tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl' run_in_docker tests/scripts/test-ref-configs.pl - run_in_docker tests/scripts/curves.pl - run_in_docker tests/scripts/key-exchanges.pl + run_in_docker tests/scripts/depends.py curves + run_in_docker tests/scripts/depends.py kex done diff --git a/tests/scripts/check-generated-files.sh b/tests/scripts/check-generated-files.sh index 1736f24d25..3006ec7bf3 100755 --- a/tests/scripts/check-generated-files.sh +++ b/tests/scripts/check-generated-files.sh @@ -126,4 +126,5 @@ check scripts/generate_ssl_debug_helpers.py library/ssl_debug_helpers_generated. # the step that creates or updates these files. check scripts/generate_visualc_files.pl visualc/VS2010 check scripts/generate_psa_constants.py programs/psa/psa_constant_names_generated.c +check tests/scripts/generate_bignum_tests.py $(tests/scripts/generate_bignum_tests.py --list) check tests/scripts/generate_psa_tests.py $(tests/scripts/generate_psa_tests.py --list) diff --git a/tests/scripts/check-python-files.sh b/tests/scripts/check-python-files.sh index dbf0365325..35319d3e1d 100755 --- a/tests/scripts/check-python-files.sh +++ b/tests/scripts/check-python-files.sh @@ -67,7 +67,7 @@ elif [ "$1" = "--can-mypy" ]; then fi echo 'Running pylint ...' -$PYTHON -m pylint -j 2 scripts/mbedtls_dev/*.py scripts/*.py tests/scripts/*.py || { +$PYTHON -m pylint scripts/mbedtls_dev/*.py scripts/*.py tests/scripts/*.py || { echo >&2 "pylint reported errors" ret=1 } diff --git a/tests/scripts/check_files.py b/tests/scripts/check_files.py index a0f5e1f538..42f2e82c99 100755 --- a/tests/scripts/check_files.py +++ b/tests/scripts/check_files.py @@ -34,6 +34,9 @@ except ImportError: pass +import scripts_path # pylint: disable=unused-import +from mbedtls_dev import build_tree + class FileIssueTracker: """Base class for file-wide issue tracking. @@ -119,6 +122,7 @@ def output_file_issues(self, logger): r'tests/data_files/.*\.req\.[^/]+\Z', r'tests/data_files/.*malformed[^/]+\Z', r'tests/data_files/format_pkcs12\.fmt\Z', + r'tests/data_files/pkcs7_data.*\.bin\Z', ] BINARY_FILE_PATH_RE = re.compile('|'.join(BINARY_FILE_PATH_RE_LIST)) @@ -338,7 +342,7 @@ def __init__(self, log_file): """Instantiate the sanity checker. Check files under the current directory. Write a report of issues to log_file.""" - self.check_repo_path() + build_tree.check_repo_path() self.logger = None self.setup_logger(log_file) self.issues_to_check = [ @@ -353,11 +357,6 @@ def __init__(self, log_file): MergeArtifactIssueTracker(), ] - @staticmethod - def check_repo_path(): - if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): - raise Exception("Must be run from Mbed TLS root") - def setup_logger(self, log_file, level=logging.INFO): self.logger = logging.getLogger() self.logger.setLevel(level) diff --git a/tests/scripts/check_names.py b/tests/scripts/check_names.py index 96117a2c94..920537e3f0 100755 --- a/tests/scripts/check_names.py +++ b/tests/scripts/check_names.py @@ -56,10 +56,15 @@ import subprocess import logging +import scripts_path # pylint: disable=unused-import +from mbedtls_dev import build_tree + + # 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 @@ -218,7 +223,7 @@ class CodeParser(): """ def __init__(self, log): self.log = log - self.check_repo_path() + build_tree.check_repo_path() # Memo for storing "glob expression": set(filepaths) self.files = {} @@ -227,15 +232,6 @@ def __init__(self, log): # Note that "*" can match directory separators in exclude lists. self.excluded_files = ["*/bn_mul", "*/compat-2.x.h"] - @staticmethod - def check_repo_path(): - """ - Check that the current working directory is the project root, and throw - an exception if not. - """ - if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): - raise Exception("This script must be run from Mbed TLS root") - def comprehensive_parse(self): """ Comprehensive ("default") function to call each parsing function and @@ -249,14 +245,17 @@ def comprehensive_parse(self): .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", @@ -279,25 +278,30 @@ def comprehensive_parse(self): "library/*.c", "3rdparty/everest/library/everest.c", "3rdparty/everest/library/x25519.c" - ]) + ], ["library/psa_crypto_driver_wrappers.c"]) symbols = self.parse_symbols() # 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, @@ -625,7 +629,7 @@ def parse_symbols(self): self.log.info("Compiling...") symbols = [] - # Back up the config and atomically compile with the full configratuion. + # Back up the config and atomically compile with the full configuration. shutil.copy( "include/mbedtls/mbedtls_config.h", "include/mbedtls/mbedtls_config.h.bak" @@ -741,7 +745,8 @@ def perform_checks(self, quiet=False): 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 +830,10 @@ def check_for_typos(self): 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*") @@ -884,7 +892,7 @@ def main(): parser.add_argument( "-q", "--quiet", action="store_true", - help="hide unnecessary text, explanations, and highlighs" + help="hide unnecessary text, explanations, and highlights" ) args = parser.parse_args() diff --git a/tests/scripts/curves.pl b/tests/scripts/curves.pl deleted file mode 100755 index fcaca9141b..0000000000 --- a/tests/scripts/curves.pl +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env perl - -# curves.pl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Purpose -# -# The purpose of this test script is to validate that the library works -# when only a single curve is enabled. In particular, this validates that -# curve-specific code is guarded by the proper preprocessor conditionals, -# both in the library and in tests. -# -# Since this script only tests builds with a single curve, it can't detect -# bugs that are only triggered when multiple curves are present. We do -# also test in many configurations where all curves are enabled, as well -# as a few configurations in configs/*.h with a restricted subset of curves. -# -# Here are some known test gaps that could be addressed by testing all -# 2^n combinations of support for n curves, which is impractical: -# * There could be product bugs when curves A and B are enabled but not C. -# For example, a MAX_SIZE calculation that forgets B, where -# size(A) < size(B) < size(C). -# * For test cases that require three or more curves, validate that they're -# not missing dependencies. This is extremely rare. (For test cases that -# require curves A and B but are missing a dependency on B, this is -# detected in the A-only build.) -# Usage: tests/scripts/curves.pl -# -# This script should be executed from the root of the project directory. -# -# Only curves that are enabled in mbedtls_config.h will be tested. -# -# For best effect, run either with cmake disabled, or cmake enabled in a mode -# that includes -Werror. - -use warnings; -use strict; - --d 'library' && -d 'include' && -d 'tests' or die "Must be run from root\n"; - -my $sed_cmd = 's/^#define \(MBEDTLS_ECP_DP.*_ENABLED\)/\1/p'; -my $config_h = 'include/mbedtls/mbedtls_config.h'; -my @curves = split( /\s+/, `sed -n -e '$sed_cmd' $config_h` ); - -# Determine which curves support ECDSA by checking the dependencies of -# ECDSA in check_config.h. -my %curve_supports_ecdsa = (); -{ - local $/ = ""; - local *CHECK_CONFIG; - open(CHECK_CONFIG, '<', 'include/mbedtls/check_config.h') - or die "open include/mbedtls/check_config.h: $!"; - while (my $stanza = ) { - if ($stanza =~ /\A#if defined\(MBEDTLS_ECDSA_C\)/) { - for my $curve ($stanza =~ /(?<=\()MBEDTLS_ECP_DP_\w+_ENABLED(?=\))/g) { - $curve_supports_ecdsa{$curve} = 1; - } - last; - } - } - close(CHECK_CONFIG); -} - -system( "cp $config_h $config_h.bak" ) and die; -sub abort { - system( "mv $config_h.bak $config_h" ) and warn "$config_h not restored\n"; - # use an exit code between 1 and 124 for git bisect (die returns 255) - warn $_[0]; - exit 1; -} - -# Disable all the curves. We'll then re-enable them one by one. -for my $curve (@curves) { - system( "scripts/config.pl unset $curve" ) - and abort "Failed to disable $curve\n"; -} -# Depends on a specific curve. Also, ignore error if it wasn't enabled. -system( "scripts/config.pl unset MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED" ); -system( "scripts/config.pl unset MBEDTLS_ECJPAKE_C" ); - -# Test with only $curve enabled, for each $curve. -for my $curve (@curves) { - system( "make clean" ) and die; - - print "\n******************************************\n"; - print "* Testing with only curve: $curve\n"; - print "******************************************\n"; - $ENV{MBEDTLS_TEST_CONFIGURATION} = "$curve"; - - system( "scripts/config.pl set $curve" ) - and abort "Failed to enable $curve\n"; - - my $ecdsa = $curve_supports_ecdsa{$curve} ? "set" : "unset"; - for my $dep (qw(MBEDTLS_ECDSA_C - MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED - MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)) { - system( "scripts/config.pl $ecdsa $dep" ) - and abort "Failed to $ecdsa $dep\n"; - } - - system( "CFLAGS='-Werror -Wall -Wextra' make" ) - and abort "Failed to build: only $curve\n"; - system( "make test" ) - and abort "Failed test suite: only $curve\n"; - - system( "scripts/config.pl unset $curve" ) - and abort "Failed to disable $curve\n"; -} - -system( "mv $config_h.bak $config_h" ) and die "$config_h not restored\n"; -system( "make clean" ) and die; -exit 0; diff --git a/tests/scripts/depends-hashes.pl b/tests/scripts/depends-hashes.pl deleted file mode 100755 index 68297a6a2e..0000000000 --- a/tests/scripts/depends-hashes.pl +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env perl - -# depends-hashes.pl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Purpose -# -# To test the code dependencies on individual hashes in each test suite. This -# is a verification step to ensure we don't ship test suites that do not work -# for some build options. -# -# The process is: -# for each possible hash -# build the library and test suites with the hash disabled -# execute the test suites -# -# And any test suite with the wrong dependencies will fail. -# -# Usage: tests/scripts/depends-hashes.pl -# -# This script should be executed from the root of the project directory. -# -# For best effect, run either with cmake disabled, or cmake enabled in a mode -# that includes -Werror. - -use warnings; -use strict; - --d 'library' && -d 'include' && -d 'tests' or die "Must be run from root\n"; - -my $config_h = 'include/mbedtls/mbedtls_config.h'; - -# as many SSL options depend on specific hashes, -# and SSL is not in the test suites anyways, -# disable it to avoid dependency issues -my $ssl_sed_cmd = 's/^#define \(MBEDTLS_SSL.*\)/\1/p'; -my @ssl = split( /\s+/, `sed -n -e '$ssl_sed_cmd' $config_h` ); - -# Each element of this array holds list of configuration options that -# should be tested together. Certain options depend on each other and -# separating them would generate invalid configurations. -my @hash_configs = ( - ['unset MBEDTLS_MD5_C'], - ['unset MBEDTLS_SHA512_C', 'unset MBEDTLS_SHA384_C '], - ['unset MBEDTLS_SHA384_C'], - ['unset MBEDTLS_SHA256_C', 'unset MBEDTLS_SHA224_C'], - ['unset MBEDTLS_SHA1_C'], -); - -system( "cp $config_h $config_h.bak" ) and die; -sub abort { - system( "mv $config_h.bak $config_h" ) and warn "$config_h not restored\n"; - # use an exit code between 1 and 124 for git bisect (die returns 255) - warn $_[0]; - exit 1; -} - -for my $hash_config (@hash_configs) { - system( "cp $config_h.bak $config_h" ) and die "$config_h not restored\n"; - system( "make clean" ) and die; - - my $hash_config_string = join(', ', @$hash_config); - - print "\n******************************************\n"; - print "* Testing hash options: $hash_config_string\n"; - print "******************************************\n"; - $ENV{MBEDTLS_TEST_CONFIGURATION} = "-$hash_config_string"; - - for my $hash (@$hash_config) { - system( "scripts/config.py $hash" ) - and abort "Failed to $hash\n"; - } - - for my $opt (@ssl) { - system( "scripts/config.py unset $opt" ) - and abort "Failed to disable $opt\n"; - } - - system( "CFLAGS='-Werror -Wall -Wextra' make lib" ) - and abort "Failed to build lib: $hash_config_string\n"; - system( "cd tests && make" ) and abort "Failed to build tests: $hash_config_string\n"; - system( "make test" ) and abort "Failed test suite: $hash_config_string\n"; -} - -system( "mv $config_h.bak $config_h" ) and die "$config_h not restored\n"; -system( "make clean" ) and die; -exit 0; diff --git a/tests/scripts/depends-pkalgs.pl b/tests/scripts/depends-pkalgs.pl deleted file mode 100755 index 6eb726927e..0000000000 --- a/tests/scripts/depends-pkalgs.pl +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env perl - -# depends-pkalgs.pl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Purpose -# -# To test the code dependencies on individual PK algs (those that can be used -# from the PK layer, so currently signature and encryption but not key -# exchange) in each test suite. This is a verification step to ensure we don't -# ship test suites that do not work for some build options. -# -# The process is: -# for each possible PK alg -# build the library and test suites with that alg disabled -# execute the test suites -# -# And any test suite with the wrong dependencies will fail. -# -# Usage: tests/scripts/depends-pkalgs.pl -# -# This script should be executed from the root of the project directory. -# -# For best effect, run either with cmake disabled, or cmake enabled in a mode -# that includes -Werror. - -use warnings; -use strict; - --d 'library' && -d 'include' && -d 'tests' or die "Must be run from root\n"; - -my $config_h = 'include/mbedtls/mbedtls_config.h'; - -# Some algorithms can't be disabled on their own as others depend on them, so -# we list those reverse-dependencies here to keep check_config.h happy. -my %algs = ( - 'MBEDTLS_ECDSA_C' => ['MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED'], - 'MBEDTLS_ECP_C' => ['MBEDTLS_ECDSA_C', - 'MBEDTLS_ECDH_C', - 'MBEDTLS_ECJPAKE_C', - 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED'], - 'MBEDTLS_X509_RSASSA_PSS_SUPPORT' => [], - 'MBEDTLS_PKCS1_V21' => ['MBEDTLS_X509_RSASSA_PSS_SUPPORT'], - 'MBEDTLS_PKCS1_V15' => ['MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'], - 'MBEDTLS_RSA_C' => ['MBEDTLS_X509_RSASSA_PSS_SUPPORT', - 'MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'], -); - -system( "cp $config_h $config_h.bak" ) and die; -sub abort { - system( "mv $config_h.bak $config_h" ) and warn "$config_h not restored\n"; - # use an exit code between 1 and 124 for git bisect (die returns 255) - warn $_[0]; - exit 1; -} - -while( my ($alg, $extras) = each %algs ) { - system( "cp $config_h.bak $config_h" ) and die "$config_h not restored\n"; - system( "make clean" ) and die; - - print "\n******************************************\n"; - print "* Testing without alg: $alg\n"; - print "******************************************\n"; - $ENV{MBEDTLS_TEST_CONFIGURATION} = "-$alg"; - - system( "scripts/config.py unset $alg" ) - and abort "Failed to disable $alg\n"; - for my $opt (@$extras) { - system( "scripts/config.py unset $opt" ) - and abort "Failed to disable $opt\n"; - } - - system( "CFLAGS='-Werror -Wall -Wextra' make lib" ) - and abort "Failed to build lib: $alg\n"; - system( "cd tests && make" ) and abort "Failed to build tests: $alg\n"; - system( "make test" ) and abort "Failed test suite: $alg\n"; -} - -system( "mv $config_h.bak $config_h" ) and die "$config_h not restored\n"; -system( "make clean" ) and die; -exit 0; diff --git a/tests/scripts/depends.py b/tests/scripts/depends.py new file mode 100755 index 0000000000..0d6ec94c80 --- /dev/null +++ b/tests/scripts/depends.py @@ -0,0 +1,564 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2022, Arm Limited, All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is part of Mbed TLS (https://tls.mbed.org) + +""" +Test Mbed TLS with a subset of algorithms. + +This script can be divided into several steps: + +First, include/mbedtls/mbedtls_config.h or a different config file passed +in the arguments is parsed to extract any configuration options (collect_config_symbols). + +Then, test domains (groups of jobs, tests) are built based on predefined data +collected in the DomainData class. Here, each domain has five major traits: +- domain name, can be used to run only specific tests via command-line; +- configuration building method, described in detail below; +- list of symbols passed to the configuration building method; +- commands to be run on each job (only build, build and test, or any other custom); +- optional list of symbols to be excluded from testing. + +The configuration building method can be one of the three following: + +- ComplementaryDomain - build a job for each passed symbol by disabling a single + symbol and its reverse dependencies (defined in REVERSE_DEPENDENCIES); + +- ExclusiveDomain - build a job where, for each passed symbol, only this particular + one is defined and other symbols from the list are unset. For each job look for + any non-standard symbols to set/unset in EXCLUSIVE_GROUPS. These are usually not + direct dependencies, but rather non-trivial results of other configs missing. Then + look for any unset symbols and handle their reverse dependencies. + Examples of EXCLUSIVE_GROUPS usage: + - MBEDTLS_SHA256 job turns off all hashes except SHA256, however, when investigating + reverse dependencies, SHA224 is found to depend on SHA256, so it is disabled, + and then SHA256 is found to depend on SHA224, so it is also disabled. To handle + this, there's a field in EXCLUSIVE_GROUPS that states that in a SHA256 test SHA224 + should also be enabled before processing reverse dependencies: + 'MBEDTLS_SHA256_C': ['+MBEDTLS_SHA224_C'] + - MBEDTLS_SHA512_C job turns off all hashes except SHA512. MBEDTLS_SSL_COOKIE_C + requires either SHA256 or SHA384 to work, so it also has to be disabled. + This is not a dependency on SHA512_C, but a result of an exclusive domain + config building method. Relevant field: + 'MBEDTLS_SHA512_C': ['-MBEDTLS_SSL_COOKIE_C'], + +- DualDomain - combination of the two above - both complementary and exclusive domain + job generation code will be run. Currently only used for hashes. + +Lastly, the collected jobs are executed and (optionally) tested, with +error reporting and coloring as configured in options. Each test starts with +a full config without a couple of slowing down or unnecessary options +(see set_reference_config), then the specific job config is derived. +""" +import argparse +import os +import re +import shutil +import subprocess +import sys +import traceback + +class Colors: # pylint: disable=too-few-public-methods + """Minimalistic support for colored output. +Each field of an object of this class is either None if colored output +is not possible or not desired, or a pair of strings (start, stop) such +that outputting start switches the text color to the desired color and +stop switches the text color back to the default.""" + red = None + green = None + bold_red = None + bold_green = None + def __init__(self, options=None): + """Initialize color profile according to passed options.""" + if not options or options.color in ['no', 'never']: + want_color = False + elif options.color in ['yes', 'always']: + want_color = True + else: + want_color = sys.stderr.isatty() + if want_color: + # Assume ANSI compatible terminal + normal = '\033[0m' + self.red = ('\033[31m', normal) + self.green = ('\033[32m', normal) + self.bold_red = ('\033[1;31m', normal) + self.bold_green = ('\033[1;32m', normal) +NO_COLORS = Colors(None) + +def log_line(text, prefix='depends.py:', suffix='', color=None): + """Print a status message.""" + if color is not None: + prefix = color[0] + prefix + suffix = suffix + color[1] + sys.stderr.write(prefix + ' ' + text + suffix + '\n') + sys.stderr.flush() + +def log_command(cmd): + """Print a trace of the specified command. +cmd is a list of strings: a command name and its arguments.""" + log_line(' '.join(cmd), prefix='+') + +def backup_config(options): + """Back up the library configuration file (mbedtls_config.h). +If the backup file already exists, it is presumed to be the desired backup, +so don't make another backup.""" + if os.path.exists(options.config_backup): + options.own_backup = False + else: + options.own_backup = True + shutil.copy(options.config, options.config_backup) + +def restore_config(options): + """Restore the library configuration file (mbedtls_config.h). +Remove the backup file if it was saved earlier.""" + if options.own_backup: + shutil.move(options.config_backup, options.config) + else: + shutil.copy(options.config_backup, options.config) + +def run_config_py(options, args): + """Run scripts/config.py with the specified arguments.""" + cmd = ['scripts/config.py'] + if options.config != 'include/mbedtls/mbedtls_config.h': + cmd += ['--file', options.config] + cmd += args + log_command(cmd) + subprocess.check_call(cmd) + +def set_reference_config(options): + """Change the library configuration file (mbedtls_config.h) to the reference state. +The reference state is the one from which the tested configurations are +derived.""" + # Turn off options that are not relevant to the tests and slow them down. + run_config_py(options, ['full']) + run_config_py(options, ['unset', 'MBEDTLS_TEST_HOOKS']) + if options.unset_use_psa: + run_config_py(options, ['unset', 'MBEDTLS_USE_PSA_CRYPTO']) + +def collect_config_symbols(options): + """Read the list of settings from mbedtls_config.h. +Return them in a generator.""" + with open(options.config, encoding="utf-8") as config_file: + rx = re.compile(r'\s*(?://\s*)?#define\s+(\w+)\s*(?:$|/[/*])') + for line in config_file: + m = re.match(rx, line) + if m: + yield m.group(1) + +class Job: + """A job builds the library in a specific configuration and runs some tests.""" + def __init__(self, name, config_settings, commands): + """Build a job object. +The job uses the configuration described by config_settings. This is a +dictionary where the keys are preprocessor symbols and the values are +booleans or strings. A boolean indicates whether or not to #define the +symbol. With a string, the symbol is #define'd to that value. +After setting the configuration, the job runs the programs specified by +commands. This is a list of lists of strings; each list of string is a +command name and its arguments and is passed to subprocess.call with +shell=False.""" + self.name = name + self.config_settings = config_settings + self.commands = commands + + def announce(self, colors, what): + '''Announce the start or completion of a job. +If what is None, announce the start of the job. +If what is True, announce that the job has passed. +If what is False, announce that the job has failed.''' + if what is True: + log_line(self.name + ' PASSED', color=colors.green) + elif what is False: + log_line(self.name + ' FAILED', color=colors.red) + else: + log_line('starting ' + self.name) + + def configure(self, options): + '''Set library configuration options as required for the job.''' + set_reference_config(options) + for key, value in sorted(self.config_settings.items()): + if value is True: + args = ['set', key] + elif value is False: + args = ['unset', key] + else: + args = ['set', key, value] + run_config_py(options, args) + + def test(self, options): + '''Run the job's build and test commands. +Return True if all the commands succeed and False otherwise. +If options.keep_going is false, stop as soon as one command fails. Otherwise +run all the commands, except that if the first command fails, none of the +other commands are run (typically, the first command is a build command +and subsequent commands are tests that cannot run if the build failed).''' + built = False + success = True + for command in self.commands: + log_command(command) + ret = subprocess.call(command) + if ret != 0: + if command[0] not in ['make', options.make_command]: + log_line('*** [{}] Error {}'.format(' '.join(command), ret)) + if not options.keep_going or not built: + return False + success = False + built = True + return success + +# If the configuration option A requires B, make sure that +# B in REVERSE_DEPENDENCIES[A]. +# All the information here should be contained in check_config.h. This +# file includes a copy because it changes rarely and it would be a pain +# to extract automatically. +REVERSE_DEPENDENCIES = { + 'MBEDTLS_AES_C': ['MBEDTLS_CTR_DRBG_C', + 'MBEDTLS_NIST_KW_C'], + 'MBEDTLS_CHACHA20_C': ['MBEDTLS_CHACHAPOLY_C'], + 'MBEDTLS_ECDSA_C': ['MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED'], + 'MBEDTLS_ECP_C': ['MBEDTLS_ECDSA_C', + 'MBEDTLS_ECDH_C', + 'MBEDTLS_ECJPAKE_C', + 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', + 'MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED', + 'MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED'], + 'MBEDTLS_ECP_DP_SECP256R1_ENABLED': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], + 'MBEDTLS_PKCS1_V21': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT'], + 'MBEDTLS_PKCS1_V15': ['MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'], + 'MBEDTLS_RSA_C': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT', + 'MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED', + 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED'], + 'MBEDTLS_SHA256_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', + 'MBEDTLS_ENTROPY_FORCE_SHA256', + 'MBEDTLS_SHA224_C', + 'MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT', + 'MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY', + 'MBEDTLS_LMS_C', + 'MBEDTLS_LMS_PRIVATE'], + 'MBEDTLS_SHA512_C': ['MBEDTLS_SHA384_C', + 'MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT', + 'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY'], + 'MBEDTLS_SHA224_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', + 'MBEDTLS_ENTROPY_FORCE_SHA256', + 'MBEDTLS_SHA256_C', + 'MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT', + 'MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY'], + 'MBEDTLS_X509_RSASSA_PSS_SUPPORT': [] +} + +# If an option is tested in an exclusive test, alter the following defines. +# These are not necessarily dependencies, but just minimal required changes +# if a given define is the only one enabled from an exclusive group. +EXCLUSIVE_GROUPS = { + 'MBEDTLS_SHA256_C': ['+MBEDTLS_SHA224_C'], + 'MBEDTLS_SHA384_C': ['+MBEDTLS_SHA512_C'], + 'MBEDTLS_SHA512_C': ['-MBEDTLS_SSL_COOKIE_C', + '-MBEDTLS_SSL_PROTO_TLS1_3'], + 'MBEDTLS_ECP_DP_CURVE448_ENABLED': ['-MBEDTLS_ECDSA_C', + '-MBEDTLS_ECDSA_DETERMINISTIC', + '-MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', + '-MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', + '-MBEDTLS_ECJPAKE_C', + '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], + 'MBEDTLS_ECP_DP_CURVE25519_ENABLED': ['-MBEDTLS_ECDSA_C', + '-MBEDTLS_ECDSA_DETERMINISTIC', + '-MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', + '-MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', + '-MBEDTLS_ECJPAKE_C', + '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], + 'MBEDTLS_ARIA_C': ['-MBEDTLS_CMAC_C'], + 'MBEDTLS_CAMELLIA_C': ['-MBEDTLS_CMAC_C'], + 'MBEDTLS_CHACHA20_C': ['-MBEDTLS_CMAC_C', '-MBEDTLS_CCM_C', '-MBEDTLS_GCM_C'], + 'MBEDTLS_DES_C': ['-MBEDTLS_CCM_C', + '-MBEDTLS_GCM_C', + '-MBEDTLS_SSL_TICKET_C', + '-MBEDTLS_SSL_CONTEXT_SERIALIZATION'], +} +def handle_exclusive_groups(config_settings, symbol): + """For every symbol tested in an exclusive group check if there are other +defines to be altered. """ + for dep in EXCLUSIVE_GROUPS.get(symbol, []): + unset = dep.startswith('-') + dep = dep[1:] + config_settings[dep] = not unset + +def turn_off_dependencies(config_settings): + """For every option turned off config_settings, also turn off what depends on it. +An option O is turned off if config_settings[O] is False.""" + for key, value in sorted(config_settings.items()): + if value is not False: + continue + for dep in REVERSE_DEPENDENCIES.get(key, []): + config_settings[dep] = False + +class BaseDomain: # pylint: disable=too-few-public-methods, unused-argument + """A base class for all domains.""" + def __init__(self, symbols, commands, exclude): + """Initialize the jobs container""" + self.jobs = [] + +class ExclusiveDomain(BaseDomain): # pylint: disable=too-few-public-methods + """A domain consisting of a set of conceptually-equivalent settings. +Establish a list of configuration symbols. For each symbol, run a test job +with this symbol set and the others unset.""" + def __init__(self, symbols, commands, exclude=None): + """Build a domain for the specified list of configuration symbols. +The domain contains a set of jobs that enable one of the elements +of symbols and disable the others. +Each job runs the specified commands. +If exclude is a regular expression, skip generated jobs whose description +would match this regular expression.""" + super().__init__(symbols, commands, exclude) + base_config_settings = {} + for symbol in symbols: + base_config_settings[symbol] = False + for symbol in symbols: + description = symbol + if exclude and re.match(exclude, description): + continue + config_settings = base_config_settings.copy() + config_settings[symbol] = True + handle_exclusive_groups(config_settings, symbol) + turn_off_dependencies(config_settings) + job = Job(description, config_settings, commands) + self.jobs.append(job) + +class ComplementaryDomain(BaseDomain): # pylint: disable=too-few-public-methods + """A domain consisting of a set of loosely-related settings. +Establish a list of configuration symbols. For each symbol, run a test job +with this symbol unset. +If exclude is a regular expression, skip generated jobs whose description +would match this regular expression.""" + def __init__(self, symbols, commands, exclude=None): + """Build a domain for the specified list of configuration symbols. +Each job in the domain disables one of the specified symbols. +Each job runs the specified commands.""" + super().__init__(symbols, commands, exclude) + for symbol in symbols: + description = '!' + symbol + if exclude and re.match(exclude, description): + continue + config_settings = {symbol: False} + turn_off_dependencies(config_settings) + job = Job(description, config_settings, commands) + self.jobs.append(job) + +class DualDomain(ExclusiveDomain, ComplementaryDomain): # pylint: disable=too-few-public-methods + """A domain that contains both the ExclusiveDomain and BaseDomain tests. +Both parent class __init__ calls are performed in any order and +each call adds respective jobs. The job array initialization is done once in +BaseDomain, before the parent __init__ calls.""" + +class CipherInfo: # pylint: disable=too-few-public-methods + """Collect data about cipher.h.""" + def __init__(self): + self.base_symbols = set() + with open('include/mbedtls/cipher.h', encoding="utf-8") as fh: + for line in fh: + m = re.match(r' *MBEDTLS_CIPHER_ID_(\w+),', line) + if m and m.group(1) not in ['NONE', 'NULL', '3DES']: + self.base_symbols.add('MBEDTLS_' + m.group(1) + '_C') + +class DomainData: + """A container for domains and jobs, used to structurize testing.""" + def config_symbols_matching(self, regexp): + """List the mbedtls_config.h settings matching regexp.""" + return [symbol for symbol in self.all_config_symbols + if re.match(regexp, symbol)] + + def __init__(self, options): + """Gather data about the library and establish a list of domains to test.""" + build_command = [options.make_command, 'CFLAGS=-Werror'] + build_and_test = [build_command, [options.make_command, 'test']] + self.all_config_symbols = set(collect_config_symbols(options)) + # Find hash modules by name. + hash_symbols = self.config_symbols_matching(r'MBEDTLS_(MD|RIPEMD|SHA)[0-9]+_C\Z') + # Find elliptic curve enabling macros by name. + curve_symbols = self.config_symbols_matching(r'MBEDTLS_ECP_DP_\w+_ENABLED\Z') + # Find key exchange enabling macros by name. + key_exchange_symbols = self.config_symbols_matching(r'MBEDTLS_KEY_EXCHANGE_\w+_ENABLED\Z') + # Find cipher IDs (block permutations and stream ciphers --- chaining + # and padding modes are exercised separately) information by parsing + # cipher.h, as the information is not readily available in mbedtls_config.h. + cipher_info = CipherInfo() + # Find block cipher chaining and padding mode enabling macros by name. + cipher_chaining_symbols = self.config_symbols_matching(r'MBEDTLS_CIPHER_MODE_\w+\Z') + cipher_padding_symbols = self.config_symbols_matching(r'MBEDTLS_CIPHER_PADDING_\w+\Z') + self.domains = { + # Cipher IDs, chaining modes and padding modes. Run the test suites. + 'cipher_id': ExclusiveDomain(cipher_info.base_symbols, + build_and_test), + 'cipher_chaining': ExclusiveDomain(cipher_chaining_symbols, + build_and_test), + 'cipher_padding': ExclusiveDomain(cipher_padding_symbols, + build_and_test), + # Elliptic curves. Run the test suites. + 'curves': ExclusiveDomain(curve_symbols, build_and_test), + # Hash algorithms. Exclude three groups: + # - Exclusive domain of MD, RIPEMD, SHA1 (obsolete); + # - Exclusive domain of SHA224 (tested with and depends on SHA256); + # - Complementary domain of SHA224 and SHA384 - tested with and depend + # on SHA256 and SHA512, respectively. + 'hashes': DualDomain(hash_symbols, build_and_test, + exclude=r'MBEDTLS_(MD|RIPEMD|SHA1_)' \ + '|MBEDTLS_SHA224_'\ + '|!MBEDTLS_(SHA224_|SHA384_)'), + # Key exchange types. Only build the library and the sample + # programs. + 'kex': ExclusiveDomain(key_exchange_symbols, + [build_command + ['lib'], + build_command + ['-C', 'programs']]), + 'pkalgs': ComplementaryDomain(['MBEDTLS_ECDSA_C', + 'MBEDTLS_ECP_C', + 'MBEDTLS_PKCS1_V21', + 'MBEDTLS_PKCS1_V15', + 'MBEDTLS_RSA_C', + 'MBEDTLS_X509_RSASSA_PSS_SUPPORT'], + build_and_test), + } + self.jobs = {} + for domain in self.domains.values(): + for job in domain.jobs: + self.jobs[job.name] = job + + def get_jobs(self, name): + """Return the list of jobs identified by the given name. +A name can either be the name of a domain or the name of one specific job.""" + if name in self.domains: + return sorted(self.domains[name].jobs, key=lambda job: job.name) + else: + return [self.jobs[name]] + +def run(options, job, colors=NO_COLORS): + """Run the specified job (a Job instance).""" + subprocess.check_call([options.make_command, 'clean']) + job.announce(colors, None) + job.configure(options) + success = job.test(options) + job.announce(colors, success) + return success + +def run_tests(options, domain_data): + """Run the desired jobs. +domain_data should be a DomainData instance that describes the available +domains and jobs. +Run the jobs listed in options.tasks.""" + if not hasattr(options, 'config_backup'): + options.config_backup = options.config + '.bak' + colors = Colors(options) + jobs = [] + failures = [] + successes = [] + for name in options.tasks: + jobs += domain_data.get_jobs(name) + backup_config(options) + try: + for job in jobs: + success = run(options, job, colors=colors) + if not success: + if options.keep_going: + failures.append(job.name) + else: + return False + else: + successes.append(job.name) + restore_config(options) + except: + # Restore the configuration, except in stop-on-error mode if there + # was an error, where we leave the failing configuration up for + # developer convenience. + if options.keep_going: + restore_config(options) + raise + if successes: + log_line('{} passed'.format(' '.join(successes)), color=colors.bold_green) + if failures: + log_line('{} FAILED'.format(' '.join(failures)), color=colors.bold_red) + return False + else: + return True + +def main(): + try: + parser = argparse.ArgumentParser( + formatter_class=argparse.RawDescriptionHelpFormatter, + description= + "Test Mbed TLS with a subset of algorithms.\n\n" + "Example usage:\n" + r"./tests/scripts/depends.py \!MBEDTLS_SHA1_C MBEDTLS_SHA256_C""\n" + "./tests/scripts/depends.py MBEDTLS_AES_C hashes\n" + "./tests/scripts/depends.py cipher_id cipher_chaining\n") + parser.add_argument('--color', metavar='WHEN', + help='Colorize the output (always/auto/never)', + choices=['always', 'auto', 'never'], default='auto') + parser.add_argument('-c', '--config', metavar='FILE', + help='Configuration file to modify', + default='include/mbedtls/mbedtls_config.h') + parser.add_argument('-C', '--directory', metavar='DIR', + help='Change to this directory before anything else', + default='.') + parser.add_argument('-k', '--keep-going', + help='Try all configurations even if some fail (default)', + action='store_true', dest='keep_going', default=True) + parser.add_argument('-e', '--no-keep-going', + help='Stop as soon as a configuration fails', + action='store_false', dest='keep_going') + parser.add_argument('--list-jobs', + help='List supported jobs and exit', + action='append_const', dest='list', const='jobs') + parser.add_argument('--list-domains', + help='List supported domains and exit', + action='append_const', dest='list', const='domains') + parser.add_argument('--make-command', metavar='CMD', + help='Command to run instead of make (e.g. gmake)', + action='store', default='make') + parser.add_argument('--unset-use-psa', + help='Unset MBEDTLS_USE_PSA_CRYPTO before any test', + action='store_true', dest='unset_use_psa') + parser.add_argument('tasks', metavar='TASKS', nargs='*', + help='The domain(s) or job(s) to test (default: all).', + default=True) + options = parser.parse_args() + os.chdir(options.directory) + domain_data = DomainData(options) + if options.tasks is True: + options.tasks = sorted(domain_data.domains.keys()) + if options.list: + for arg in options.list: + for domain_name in sorted(getattr(domain_data, arg).keys()): + print(domain_name) + sys.exit(0) + else: + sys.exit(0 if run_tests(options, domain_data) else 1) + except Exception: # pylint: disable=broad-except + traceback.print_exc() + sys.exit(3) + +if __name__ == '__main__': + main() diff --git a/tests/scripts/generate-afl-tests.sh b/tests/scripts/generate-afl-tests.sh index 7c9f432ae4..a640b566dd 100755 --- a/tests/scripts/generate-afl-tests.sh +++ b/tests/scripts/generate-afl-tests.sh @@ -6,7 +6,7 @@ # # Usage: generate-afl-tests.sh # - should be the path to one of the test suite files -# such as 'test_suite_mpi.data' +# such as 'test_suite_rsa.data' # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 diff --git a/tests/scripts/generate_bignum_tests.py b/tests/scripts/generate_bignum_tests.py new file mode 100755 index 0000000000..0b84711861 --- /dev/null +++ b/tests/scripts/generate_bignum_tests.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python3 +"""Generate test data for bignum functions. + +With no arguments, generate all test data. With non-option arguments, +generate only the specified files. + +Class structure: + +Child classes of test_data_generation.BaseTarget (file targets) represent an output +file. These indicate where test cases will be written to, for all subclasses of +this target. Multiple file targets should not reuse a `target_basename`. + +Each subclass derived from a file target can either be: + - A concrete class, representing a test function, which generates test cases. + - An abstract class containing shared methods and attributes, not associated + with a test function. An example is BignumOperation, which provides + common features used for bignum binary operations. + +Both concrete and abstract subclasses can be derived from, to implement +additional test cases (see BignumCmp and BignumCmpAbs for examples of deriving +from abstract and concrete classes). + + +Adding test case generation for a function: + +A subclass representing the test function should be added, deriving from a +file target such as BignumTarget. This test class must set/implement the +following: + - test_function: the function name from the associated .function file. + - test_name: a descriptive name or brief summary to refer to the test + function. + - arguments(): a method to generate the list of arguments required for the + test_function. + - generate_function_tests(): a method to generate TestCases for the function. + This should create instances of the class with required input data, and + call `.create_test_case()` to yield the TestCase. + +Additional details and other attributes/methods are given in the documentation +of BaseTarget in test_data_generation.py. +""" + +# Copyright The Mbed TLS Contributors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys + +from abc import ABCMeta +from typing import List + +import scripts_path # pylint: disable=unused-import +from mbedtls_dev import test_case +from mbedtls_dev import test_data_generation +from mbedtls_dev import bignum_common +# Import modules containing additional test classes +# Test function classes in these modules will be registered by +# the framework +from mbedtls_dev import bignum_core, bignum_mod_raw, bignum_mod # pylint: disable=unused-import + +class BignumTarget(test_data_generation.BaseTarget): + #pylint: disable=too-few-public-methods + """Target for bignum (legacy) test case generation.""" + target_basename = 'test_suite_bignum.generated' + + +class BignumOperation(bignum_common.OperationCommon, BignumTarget, + metaclass=ABCMeta): + #pylint: disable=abstract-method + """Common features for bignum operations in legacy tests.""" + unique_combinations_only = True + input_values = [ + "", "0", "-", "-0", + "7b", "-7b", + "0000000000000000123", "-0000000000000000123", + "1230000000000000000", "-1230000000000000000" + ] + + def description_suffix(self) -> str: + #pylint: disable=no-self-use # derived classes need self + """Text to add at the end of the test case description.""" + return "" + + def description(self) -> str: + """Generate a description for the test case. + + If not set, case_description uses the form A `symbol` B, where symbol + is used to represent the operation. Descriptions of each value are + generated to provide some context to the test case. + """ + if not self.case_description: + self.case_description = "{} {} {}".format( + self.value_description(self.arg_a), + self.symbol, + self.value_description(self.arg_b) + ) + description_suffix = self.description_suffix() + if description_suffix: + self.case_description += " " + description_suffix + return super().description() + + @staticmethod + def value_description(val) -> str: + """Generate a description of the argument val. + + This produces a simple description of the value, which is used in test + case naming to add context. + """ + if val == "": + return "0 (null)" + if val == "-": + return "negative 0 (null)" + if val == "0": + return "0 (1 limb)" + + if val[0] == "-": + tmp = "negative" + val = val[1:] + else: + tmp = "positive" + if val[0] == "0": + tmp += " with leading zero limb" + elif len(val) > 10: + tmp = "large " + tmp + return tmp + + +class BignumCmp(BignumOperation): + """Test cases for bignum value comparison.""" + count = 0 + test_function = "mpi_cmp_mpi" + test_name = "MPI compare" + input_cases = [ + ("-2", "-3"), + ("-2", "-2"), + ("2b4", "2b5"), + ("2b5", "2b6") + ] + + def __init__(self, val_a, val_b) -> None: + super().__init__(val_a, val_b) + self._result = int(self.int_a > self.int_b) - int(self.int_a < self.int_b) + self.symbol = ["<", "==", ">"][self._result + 1] + + def result(self) -> List[str]: + return [str(self._result)] + + +class BignumCmpAbs(BignumCmp): + """Test cases for absolute bignum value comparison.""" + count = 0 + test_function = "mpi_cmp_abs" + test_name = "MPI compare (abs)" + + def __init__(self, val_a, val_b) -> None: + super().__init__(val_a.strip("-"), val_b.strip("-")) + + +class BignumAdd(BignumOperation): + """Test cases for bignum value addition.""" + count = 0 + symbol = "+" + test_function = "mpi_add_mpi" + test_name = "MPI add" + input_cases = bignum_common.combination_pairs( + [ + "1c67967269c6", "9cde3", + "-1c67967269c6", "-9cde3", + ] + ) + + def __init__(self, val_a: str, val_b: str) -> None: + super().__init__(val_a, val_b) + self._result = self.int_a + self.int_b + + def description_suffix(self) -> str: + if (self.int_a >= 0 and self.int_b >= 0): + return "" # obviously positive result or 0 + if (self.int_a <= 0 and self.int_b <= 0): + return "" # obviously negative result or 0 + # The sign of the result is not obvious, so indicate it + return ", result{}0".format('>' if self._result > 0 else + '<' if self._result < 0 else '=') + + def result(self) -> List[str]: + return [bignum_common.quote_str("{:x}".format(self._result))] + +if __name__ == '__main__': + # Use the section of the docstring relevant to the CLI as description + test_data_generation.main(sys.argv[1:], "\n".join(__doc__.splitlines()[:4])) diff --git a/tests/scripts/generate_psa_tests.py b/tests/scripts/generate_psa_tests.py index 3d23edda68..b271048433 100755 --- a/tests/scripts/generate_psa_tests.py +++ b/tests/scripts/generate_psa_tests.py @@ -20,22 +20,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -import argparse import enum -import os -import posixpath import re import sys -from typing import Callable, Dict, FrozenSet, Iterable, Iterator, List, Optional, TypeVar +from typing import Callable, Dict, FrozenSet, Iterable, Iterator, List, Optional import scripts_path # pylint: disable=unused-import -from mbedtls_dev import build_tree from mbedtls_dev import crypto_knowledge from mbedtls_dev import macro_collector from mbedtls_dev import psa_storage from mbedtls_dev import test_case - -T = TypeVar('T') #pylint: disable=invalid-name +from mbedtls_dev import test_data_generation def psa_want_symbol(name: str) -> str: @@ -85,7 +80,7 @@ def automatic_dependencies(*expressions: str) -> List[str]: # A temporary hack: at the time of writing, not all dependency symbols # are implemented yet. Skip test cases for which the dependency symbols are # not available. Once all dependency symbols are available, this hack must -# be removed so that a bug in the dependency symbols proprely leads to a test +# be removed so that a bug in the dependency symbols properly leads to a test # failure. def read_implemented_dependencies(filename: str) -> FrozenSet[str]: return frozenset(symbol @@ -464,7 +459,7 @@ def __init__( """Prepare to generate a key. * `usage` : The usage flags used for the key. - * `without_implicit_usage`: Flag to defide to apply the usage extension + * `without_implicit_usage`: Flag to define to apply the usage extension """ usage_flags = set(usage) if not without_implicit_usage: @@ -488,7 +483,7 @@ def __init__( ) -> None: """Prepare to generate test data - * `description` : used for the the test case names + * `description` : used for the test case names * `expected_usage`: the usage flags generated as the expected usage flags in the test cases. CAn differ from the usage flags stored in the keys because of the usage flags extension. @@ -897,35 +892,11 @@ def generate_all_keys(self) -> Iterator[StorageTestData]: yield from super().generate_all_keys() yield from self.all_keys_for_implicit_usage() -class TestGenerator: - """Generate test data.""" - - def __init__(self, options) -> None: - self.test_suite_directory = self.get_option(options, 'directory', - 'tests/suites') - self.info = Information() - - @staticmethod - def get_option(options, name: str, default: T) -> T: - value = getattr(options, name, None) - return default if value is None else value - - def filename_for(self, basename: str) -> str: - """The location of the data file with the specified base name.""" - return posixpath.join(self.test_suite_directory, basename + '.data') - - def write_test_data_file(self, basename: str, - test_cases: Iterable[test_case.TestCase]) -> None: - """Write the test cases to a .data file. - - The output file is ``basename + '.data'`` in the test suite directory. - """ - filename = self.filename_for(basename) - test_case.write_data_file(filename, test_cases) - +class PSATestGenerator(test_data_generation.TestGenerator): + """Test generator subclass including PSA targets and info.""" # Note that targets whose names contain 'test_format' have their content # validated by `abi_check.py`. - TARGETS = { + targets = { 'test_suite_psa_crypto_generate_key.generated': lambda info: KeyGenerate(info).test_cases_for_key_generation(), 'test_suite_psa_crypto_not_supported.generated': @@ -938,44 +909,12 @@ def write_test_data_file(self, basename: str, lambda info: StorageFormatV0(info).all_test_cases(), } #type: Dict[str, Callable[[Information], Iterable[test_case.TestCase]]] - def generate_target(self, name: str) -> None: - test_cases = self.TARGETS[name](self.info) - self.write_test_data_file(name, test_cases) - -def main(args): - """Command line entry point.""" - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--list', action='store_true', - help='List available targets and exit') - parser.add_argument('--list-for-cmake', action='store_true', - help='Print \';\'-separated list of available targets and exit') - parser.add_argument('--directory', metavar='DIR', - help='Output directory (default: tests/suites)') - parser.add_argument('targets', nargs='*', metavar='TARGET', - help='Target file to generate (default: all; "-": none)') - options = parser.parse_args(args) - build_tree.chdir_to_root() - generator = TestGenerator(options) - if options.list: - for name in sorted(generator.TARGETS): - print(generator.filename_for(name)) - return - # List in a cmake list format (i.e. ';'-separated) - if options.list_for_cmake: - print(';'.join(generator.filename_for(name) - for name in sorted(generator.TARGETS)), end='') - return - if options.targets: - # Allow "-" as a special case so you can run - # ``generate_psa_tests.py - $targets`` and it works uniformly whether - # ``$targets`` is empty or not. - options.targets = [os.path.basename(re.sub(r'\.data\Z', r'', target)) - for target in options.targets - if target != '-'] - else: - options.targets = sorted(generator.TARGETS) - for target in options.targets: - generator.generate_target(target) + def __init__(self, options): + super().__init__(options) + self.info = Information() + + def generate_target(self, name: str, *target_args) -> None: + super().generate_target(name, self.info) if __name__ == '__main__': - main(sys.argv[1:]) + test_data_generation.main(sys.argv[1:], __doc__, PSATestGenerator) diff --git a/tests/scripts/generate_test_code.py b/tests/scripts/generate_test_code.py index f5750aacfa..938f24cf4f 100755 --- a/tests/scripts/generate_test_code.py +++ b/tests/scripts/generate_test_code.py @@ -126,33 +126,39 @@ This script replaces following fields in the template and generates the test source file: -$test_common_helpers <-- All common code from helpers.function - is substituted here. -$functions_code <-- Test functions are substituted here - from the input test_suit_xyz.function - file. C preprocessor checks are generated - for the build dependencies specified - in the input file. This script also - generates wrappers for the test - functions with code to expand the - string parameters read from the data - file. -$expression_code <-- This script enumerates the - expressions in the .data file and - generates code to handle enumerated - expression Ids and return the values. -$dep_check_code <-- This script enumerates all - build dependencies and generate - code to handle enumerated build - dependency Id and return status: if - the dependency is defined or not. -$dispatch_code <-- This script enumerates the functions - specified in the input test data file - and generates the initializer for the - function table in the template - file. -$platform_code <-- Platform specific setup and test - dispatch code. +__MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPERS + All common code from helpers.function + is substituted here. +__MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE + Test functions are substituted here + from the input test_suit_xyz.function + file. C preprocessor checks are generated + for the build dependencies specified + in the input file. This script also + generates wrappers for the test + functions with code to expand the + string parameters read from the data + file. +__MBEDTLS_TEST_TEMPLATE__EXPRESSION_CODE + This script enumerates the + expressions in the .data file and + generates code to handle enumerated + expression Ids and return the values. +__MBEDTLS_TEST_TEMPLATE__DEP_CHECK_CODE + This script enumerates all + build dependencies and generate + code to handle enumerated build + dependency Id and return status: if + the dependency is defined or not. +__MBEDTLS_TEST_TEMPLATE__DISPATCH_CODE + This script enumerates the functions + specified in the input test data file + and generates the initializer for the + function table in the template + file. +__MBEDTLS_TEST_TEMPLATE__PLATFORM_CODE + Platform specific setup and test + dispatch code. """ @@ -974,11 +980,27 @@ def write_test_source_file(template_file, c_file, snippets): :param snippets: Generated and code snippets :return: """ + + # Create a placeholder pattern with the correct named capture groups + # to override the default provided with Template. + # Match nothing (no way of escaping placeholders). + escaped = "(?P(?!))" + # Match the "__MBEDTLS_TEST_TEMPLATE__PLACEHOLDER_NAME" pattern. + named = "__MBEDTLS_TEST_TEMPLATE__(?P[A-Z][_A-Z0-9]*)" + # Match nothing (no braced placeholder syntax). + braced = "(?P(?!))" + # If not already matched, a "__MBEDTLS_TEST_TEMPLATE__" prefix is invalid. + invalid = "(?P__MBEDTLS_TEST_TEMPLATE__)" + placeholder_pattern = re.compile("|".join([escaped, named, braced, invalid])) + with open(template_file, 'r') as template_f, open(c_file, 'w') as c_f: for line_no, line in enumerate(template_f.readlines(), 1): # Update line number. +1 as #line directive sets next line number snippets['line_no'] = line_no + 1 - code = string.Template(line).substitute(**snippets) + template = string.Template(line) + template.pattern = placeholder_pattern + snippets = {k.upper():v for (k, v) in snippets.items()} + code = template.substitute(**snippets) c_f.write(code) diff --git a/tests/scripts/generate_tls13_compat_tests.py b/tests/scripts/generate_tls13_compat_tests.py index 7819a87664..1d665e046d 100755 --- a/tests/scripts/generate_tls13_compat_tests.py +++ b/tests/scripts/generate_tls13_compat_tests.py @@ -357,7 +357,7 @@ def cmd(self): def pre_checks(self): ret = ['requires_config_enabled MBEDTLS_DEBUG_C', - 'requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3'] + 'requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED'] if self._compat_mode: ret += ['requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE'] @@ -398,7 +398,7 @@ def post_checks(self): named_group=named_group, iana_value=NAMED_GROUP_IANA_VALUE[named_group])] - check_strings.append("Verifying peer X.509 certificate... ok") + check_strings.append("Certificate verification was skipped") return ['-s "{}"'.format(i) for i in check_strings] def pre_cmd(self): diff --git a/tests/scripts/key-exchanges.pl b/tests/scripts/key-exchanges.pl deleted file mode 100755 index 46f1b97542..0000000000 --- a/tests/scripts/key-exchanges.pl +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env perl - -# key-exchanges.pl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Purpose -# -# To test the code dependencies on individual key exchanges in the SSL module. -# is a verification step to ensure we don't ship SSL code that do not work -# for some build options. -# -# The process is: -# for each possible key exchange -# build the library with all but that key exchange disabled -# -# Usage: tests/scripts/key-exchanges.pl -# -# This script should be executed from the root of the project directory. -# -# For best effect, run either with cmake disabled, or cmake enabled in a mode -# that includes -Werror. - -use warnings; -use strict; - --d 'library' && -d 'include' && -d 'tests' or die "Must be run from root\n"; - -my $sed_cmd = 's/^#define \(MBEDTLS_KEY_EXCHANGE_.*_ENABLED\)/\1/p'; -my $config_h = 'include/mbedtls/mbedtls_config.h'; -my @kexes = split( /\s+/, `sed -n -e '$sed_cmd' $config_h` ); - -system( "cp $config_h $config_h.bak" ) and die; -sub abort { - system( "mv $config_h.bak $config_h" ) and warn "$config_h not restored\n"; - # use an exit code between 1 and 124 for git bisect (die returns 255) - warn $_[0]; - exit 1; -} - -for my $kex (@kexes) { - system( "cp $config_h.bak $config_h" ) and die "$config_h not restored\n"; - system( "make clean" ) and die; - - print "\n******************************************\n"; - print "* Testing with key exchange: $kex\n"; - print "******************************************\n"; - $ENV{MBEDTLS_TEST_CONFIGURATION} = $kex; - - # full config with all key exchanges disabled except one - system( "scripts/config.py full" ) and abort "Failed config full\n"; - for my $k (@kexes) { - next if $k eq $kex; - system( "scripts/config.py unset $k" ) - and abort "Failed to disable $k\n"; - } - - system( "make lib CFLAGS='-Os -Werror'" ) and abort "Failed to build lib: $kex\n"; -} - -system( "mv $config_h.bak $config_h" ) and die "$config_h not restored\n"; -system( "make clean" ) and die; -exit 0; diff --git a/tests/scripts/run-test-suites.pl b/tests/scripts/run-test-suites.pl index 15fa8bcf7a..cedc0bfa5a 100755 --- a/tests/scripts/run-test-suites.pl +++ b/tests/scripts/run-test-suites.pl @@ -50,11 +50,13 @@ =head1 SYNOPSIS 'verbose|v:1' => \$verbose, ) or die; -# All test suites = executable files, excluding source files, debug -# and profiling information, etc. We can't just grep {! /\./} because -# some of our test cases' base names contain a dot. -my @suites = grep { -x $_ || /\.exe$/ } glob 'test_suite_*'; -@suites = grep { !/\.c$/ && !/\.data$/ && -f } @suites; +# All test suites = executable files with a .datax file. +my @suites = (); +for my $data_file (glob 'test_suite_*.datax') { + (my $base = $data_file) =~ s/\.datax$//; + push @suites, $base if -x $base; + push @suites, "$base.exe" if -e "$base.exe"; +} die "$0: no test suite found\n" unless @suites; # "foo" as a skip pattern skips "test_suite_foo" and "test_suite_foo.bar" @@ -74,7 +76,7 @@ =head1 SYNOPSIS my $prefix = $^O eq "MSWin32" ? '' : './'; -my ($failed_suites, $total_tests_run, $failed, $suite_cases_passed, +my (@failed_suites, $total_tests_run, $failed, $suite_cases_passed, $suite_cases_failed, $suite_cases_skipped, $total_cases_passed, $total_cases_failed, $total_cases_skipped ); my $suites_skipped = 0; @@ -112,7 +114,7 @@ sub pad_print_center { pad_print_center( 72, '-', "End $suite" ); } } else { - $failed_suites++; + push @failed_suites, $suite; print "FAIL\n"; if( $verbose ) { pad_print_center( 72, '-', "Begin $suite" ); @@ -139,12 +141,17 @@ sub pad_print_center { } print "-" x 72, "\n"; -print $failed_suites ? "FAILED" : "PASSED"; +print @failed_suites ? "FAILED" : "PASSED"; printf( " (%d suites, %d tests run%s)\n", scalar(@suites) - $suites_skipped, $total_tests_run, $suites_skipped ? ", $suites_skipped suites skipped" : "" ); +if( $verbose && @failed_suites ) { + # the output can be very long, so provide a summary of which suites failed + print " failed suites : @failed_suites\n"; +} + if( $verbose > 1 ) { print " test cases passed :", $total_cases_passed, "\n"; print " failed :", $total_cases_failed, "\n"; @@ -159,5 +166,5 @@ sub pad_print_center { } } -exit( $failed_suites ? 1 : 0 ); +exit( @failed_suites ? 1 : 0 ); diff --git a/tests/scripts/test_psa_compliance.py b/tests/scripts/test_psa_compliance.py index 7d06db1aa8..92db4171a7 100755 --- a/tests/scripts/test_psa_compliance.py +++ b/tests/scripts/test_psa_compliance.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """Run the PSA Crypto API compliance test suite. Clone the repo and check out the commit specified by PSA_ARCH_TEST_REPO and PSA_ARCH_TEST_REF, -then complie and run the test suite. The clone is stored at /psa-arch-tests. +then compile and run the test suite. The clone is stored at /psa-arch-tests. Known defects in either the test suite or mbedtls - identified by their test number - are ignored, while unexpected failures AND successes are reported as errors, to help keep the list of known defects as up to date as possible. diff --git a/tests/src/certs.c b/tests/src/certs.c index 831395c43a..ca03b29d45 100644 --- a/tests/src/certs.c +++ b/tests/src/certs.c @@ -21,6 +21,10 @@ #include +#include "mbedtls/build_info.h" + +#include "mbedtls/legacy_or_psa.h" + /* * Test CA Certificates * @@ -1563,13 +1567,13 @@ const size_t mbedtls_test_cli_crt_ec_len = * Dispatch between SHA-1 and SHA-256 */ -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) #define TEST_CA_CRT_RSA TEST_CA_CRT_RSA_SHA256 #define TEST_SRV_CRT_RSA TEST_SRV_CRT_RSA_SHA256 #else #define TEST_CA_CRT_RSA TEST_CA_CRT_RSA_SHA1 #define TEST_SRV_CRT_RSA TEST_SRV_CRT_RSA_SHA1 -#endif /* MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ const char mbedtls_test_ca_crt_rsa[] = TEST_CA_CRT_RSA; const char mbedtls_test_srv_crt_rsa[] = TEST_SRV_CRT_RSA; @@ -1668,10 +1672,10 @@ const size_t mbedtls_test_cli_crt_len = /* List of CAs in PEM or DER, depending on config */ const char * mbedtls_test_cas[] = { -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) mbedtls_test_ca_crt_rsa_sha1, #endif -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) mbedtls_test_ca_crt_rsa_sha256, #endif #if defined(MBEDTLS_ECDSA_C) @@ -1680,10 +1684,10 @@ const char * mbedtls_test_cas[] = { NULL }; const size_t mbedtls_test_cas_len[] = { -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA1_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) sizeof( mbedtls_test_ca_crt_rsa_sha1 ), #endif -#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) sizeof( mbedtls_test_ca_crt_rsa_sha256 ), #endif #if defined(MBEDTLS_ECDSA_C) @@ -1695,12 +1699,12 @@ const size_t mbedtls_test_cas_len[] = { /* List of all available CA certificates in DER format */ const unsigned char * mbedtls_test_cas_der[] = { #if defined(MBEDTLS_RSA_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) mbedtls_test_ca_crt_rsa_sha256_der, -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA1_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) mbedtls_test_ca_crt_rsa_sha1_der, -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_RSA_C */ #if defined(MBEDTLS_ECDSA_C) mbedtls_test_ca_crt_ec_der, @@ -1710,12 +1714,12 @@ const unsigned char * mbedtls_test_cas_der[] = { const size_t mbedtls_test_cas_der_len[] = { #if defined(MBEDTLS_RSA_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) sizeof( mbedtls_test_ca_crt_rsa_sha256_der ), -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA1_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) sizeof( mbedtls_test_ca_crt_rsa_sha1_der ), -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_RSA_C */ #if defined(MBEDTLS_ECDSA_C) sizeof( mbedtls_test_ca_crt_ec_der ), @@ -1727,12 +1731,12 @@ const size_t mbedtls_test_cas_der_len[] = { #if defined(MBEDTLS_PEM_PARSE_C) const char mbedtls_test_cas_pem[] = #if defined(MBEDTLS_RSA_C) -#if defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) TEST_CA_CRT_RSA_SHA256_PEM -#endif /* MBEDTLS_SHA256_C */ -#if defined(MBEDTLS_SHA1_C) +#endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ +#if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA) TEST_CA_CRT_RSA_SHA1_PEM -#endif /* MBEDTLS_SHA1_C */ +#endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ #endif /* MBEDTLS_RSA_C */ #if defined(MBEDTLS_ECDSA_C) TEST_CA_CRT_EC_PEM diff --git a/tests/src/drivers/test_driver_aead.c b/tests/src/drivers/test_driver_aead.c index b5619603fd..93a75f68a3 100644 --- a/tests/src/drivers/test_driver_aead.c +++ b/tests/src/drivers/test_driver_aead.c @@ -25,6 +25,10 @@ #include "test/drivers/aead.h" +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include "libtestdriver1/library/psa_crypto_aead.h" +#endif + mbedtls_test_driver_aead_hooks_t mbedtls_test_driver_aead_hooks = MBEDTLS_TEST_DRIVER_AEAD_INIT; @@ -46,7 +50,18 @@ psa_status_t mbedtls_test_transparent_aead_encrypt( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_encrypt( + (const libtestdriver1_psa_key_attributes_t *)attributes, + key_buffer, key_buffer_size, + alg, + nonce, nonce_length, + additional_data, additional_data_length, + plaintext, plaintext_length, + ciphertext, ciphertext_size, ciphertext_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_encrypt( attributes, key_buffer, key_buffer_size, @@ -94,7 +109,18 @@ psa_status_t mbedtls_test_transparent_aead_decrypt( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_decrypt( + (const libtestdriver1_psa_key_attributes_t *)attributes, + key_buffer, key_buffer_size, + alg, + nonce, nonce_length, + additional_data, additional_data_length, + ciphertext, ciphertext_length, + plaintext, plaintext_size, plaintext_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_decrypt( attributes, key_buffer, key_buffer_size, @@ -139,7 +165,14 @@ psa_status_t mbedtls_test_transparent_aead_encrypt_setup( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_encrypt_setup( operation, + (const libtestdriver1_psa_key_attributes_t *)attributes, + key_buffer, + key_buffer_size, alg ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_encrypt_setup( operation, attributes, key_buffer, key_buffer_size, alg ); @@ -171,7 +204,13 @@ psa_status_t mbedtls_test_transparent_aead_decrypt_setup( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_decrypt_setup( operation, + (const libtestdriver1_psa_key_attributes_t *)attributes, + key_buffer, key_buffer_size, alg ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_decrypt_setup( operation, attributes, key_buffer, key_buffer_size, alg ); @@ -202,7 +241,11 @@ psa_status_t mbedtls_test_transparent_aead_set_nonce( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_set_nonce( operation, nonce, nonce_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_set_nonce( operation, nonce, nonce_length ); #else @@ -230,7 +273,12 @@ psa_status_t mbedtls_test_transparent_aead_set_lengths( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_set_lengths( operation, ad_length, + plaintext_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_set_lengths( operation, ad_length, plaintext_length ); @@ -259,7 +307,11 @@ psa_status_t mbedtls_test_transparent_aead_update_ad( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_update_ad( operation, input, input_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_update_ad( operation, input, input_length ); #else @@ -290,7 +342,13 @@ psa_status_t mbedtls_test_transparent_aead_update( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_update( operation, input, + input_length, output, + output_size, output_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_update( operation, input, input_length, output, output_size, output_length ); @@ -326,7 +384,13 @@ psa_status_t mbedtls_test_transparent_aead_finish( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_finish( operation, ciphertext, + ciphertext_size, ciphertext_length, + tag, tag_size, tag_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_finish( operation, ciphertext, ciphertext_size, ciphertext_length, tag, tag_size, @@ -364,9 +428,19 @@ psa_status_t mbedtls_test_transparent_aead_verify( else { uint8_t check_tag[PSA_AEAD_TAG_MAX_SIZE]; - size_t check_tag_length; + size_t check_tag_length = 0; -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_finish( operation, + plaintext, + plaintext_size, + plaintext_length, + check_tag, + sizeof( check_tag ), + &check_tag_length ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_finish( operation, plaintext, @@ -410,7 +484,11 @@ psa_status_t mbedtls_test_transparent_aead_abort( } else { -#if defined(MBEDTLS_PSA_BUILTIN_AEAD) +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_AEAD) + mbedtls_test_driver_aead_hooks.driver_status = + libtestdriver1_mbedtls_psa_aead_abort( operation ); +#elif defined(MBEDTLS_PSA_BUILTIN_AEAD) mbedtls_test_driver_aead_hooks.driver_status = mbedtls_psa_aead_abort( operation ); #else diff --git a/tests/src/drivers/test_driver_key_agreement.c b/tests/src/drivers/test_driver_key_agreement.c new file mode 100644 index 0000000000..7c37b03272 --- /dev/null +++ b/tests/src/drivers/test_driver_key_agreement.c @@ -0,0 +1,128 @@ +/* + * Test driver for key agreement functions. + */ +/* Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#if defined(MBEDTLS_PSA_CRYPTO_DRIVERS) && defined(PSA_CRYPTO_DRIVER_TEST) + +#include "psa/crypto.h" +#include "psa_crypto_core.h" +#include "psa_crypto_ecp.h" + +#include "test/drivers/key_agreement.h" +#include "test/drivers/test_driver.h" + +#include + +#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) +#include "libtestdriver1/include/psa/crypto.h" +#include "libtestdriver1/library/psa_crypto_ecp.h" +#endif + +mbedtls_test_driver_key_agreement_hooks_t + mbedtls_test_driver_key_agreement_hooks = MBEDTLS_TEST_DRIVER_KEY_AGREEMENT_INIT; + +psa_status_t mbedtls_test_transparent_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ) +{ + mbedtls_test_driver_key_agreement_hooks.hits++; + + if( mbedtls_test_driver_key_agreement_hooks.forced_status != PSA_SUCCESS ) + return( mbedtls_test_driver_key_agreement_hooks.forced_status ); + + if( mbedtls_test_driver_key_agreement_hooks.forced_output != NULL ) + { + if( mbedtls_test_driver_key_agreement_hooks.forced_output_length > shared_secret_size ) + return( PSA_ERROR_BUFFER_TOO_SMALL ); + + memcpy( shared_secret, mbedtls_test_driver_key_agreement_hooks.forced_output, + mbedtls_test_driver_key_agreement_hooks.forced_output_length ); + *shared_secret_length = mbedtls_test_driver_key_agreement_hooks.forced_output_length; + + return( PSA_SUCCESS ); + } + + if( PSA_ALG_IS_ECDH(alg) ) + { +#if (defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \ + defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_ALG_ECDH)) + return( libtestdriver1_mbedtls_psa_key_agreement_ecdh( + (const libtestdriver1_psa_key_attributes_t *) attributes, + key_buffer, key_buffer_size, + alg, peer_key, peer_key_length, + shared_secret, shared_secret_size, + shared_secret_length ) ); +#elif defined(MBEDTLS_PSA_BUILTIN_ALG_ECDH) + return( mbedtls_psa_key_agreement_ecdh( + attributes, + key_buffer, key_buffer_size, + alg, peer_key, peer_key_length, + shared_secret, shared_secret_size, + shared_secret_length ) ); +#else + (void) attributes; + (void) key_buffer; + (void) key_buffer_size; + (void) peer_key; + (void) peer_key_length; + (void) shared_secret; + (void) shared_secret_size; + (void) shared_secret_length; + return( PSA_ERROR_NOT_SUPPORTED ); +#endif + } + else + { + return( PSA_ERROR_INVALID_ARGUMENT ); + } + +} + +psa_status_t mbedtls_test_opaque_key_agreement( + const psa_key_attributes_t *attributes, + const uint8_t *key_buffer, + size_t key_buffer_size, + psa_algorithm_t alg, + const uint8_t *peer_key, + size_t peer_key_length, + uint8_t *shared_secret, + size_t shared_secret_size, + size_t *shared_secret_length ) +{ + (void) attributes; + (void) key_buffer; + (void) key_buffer_size; + (void) alg; + (void) peer_key; + (void) peer_key_length; + (void) shared_secret; + (void) shared_secret_size; + (void) shared_secret_length; + return( PSA_ERROR_NOT_SUPPORTED ); +} + +#endif /* MBEDTLS_PSA_CRYPTO_DRIVERS && PSA_CRYPTO_DRIVER_TEST */ diff --git a/tests/src/helpers.c b/tests/src/helpers.c index 8f4d7f2bda..7c83714f19 100644 --- a/tests/src/helpers.c +++ b/tests/src/helpers.c @@ -15,6 +15,7 @@ * limitations under the License. */ +#include #include #include #include @@ -88,6 +89,10 @@ void mbedtls_test_set_step( unsigned long step ) mbedtls_test_info.step = step; } +#if defined(MBEDTLS_BIGNUM_C) +unsigned mbedtls_test_case_uses_negative_0 = 0; +#endif + void mbedtls_test_info_reset( void ) { mbedtls_test_info.result = MBEDTLS_TEST_RESULT_SUCCESS; @@ -97,13 +102,20 @@ void mbedtls_test_info_reset( void ) mbedtls_test_info.filename = 0; memset( mbedtls_test_info.line1, 0, sizeof( mbedtls_test_info.line1 ) ); memset( mbedtls_test_info.line2, 0, sizeof( mbedtls_test_info.line2 ) ); +#if defined(MBEDTLS_BIGNUM_C) + mbedtls_test_case_uses_negative_0 = 0; +#endif } int mbedtls_test_equal( const char *test, int line_no, const char* filename, unsigned long long value1, unsigned long long value2 ) { + TEST_CF_PUBLIC( &value1, sizeof( value1 ) ); + TEST_CF_PUBLIC( &value2, sizeof( value2 ) ); + if( value1 == value2 ) return( 1 ); + if( mbedtls_test_info.result == MBEDTLS_TEST_RESULT_FAILED ) { /* We've already recorded the test as having failed. Don't @@ -125,8 +137,12 @@ int mbedtls_test_equal( const char *test, int line_no, const char* filename, int mbedtls_test_le_u( const char *test, int line_no, const char* filename, unsigned long long value1, unsigned long long value2 ) { + TEST_CF_PUBLIC( &value1, sizeof( value1 ) ); + TEST_CF_PUBLIC( &value2, sizeof( value2 ) ); + if( value1 <= value2 ) return( 1 ); + if( mbedtls_test_info.result == MBEDTLS_TEST_RESULT_FAILED ) { /* We've already recorded the test as having failed. Don't @@ -148,8 +164,12 @@ int mbedtls_test_le_u( const char *test, int line_no, const char* filename, int mbedtls_test_le_s( const char *test, int line_no, const char* filename, long long value1, long long value2 ) { + TEST_CF_PUBLIC( &value1, sizeof( value1 ) ); + TEST_CF_PUBLIC( &value2, sizeof( value2 ) ); + if( value1 <= value2 ) return( 1 ); + if( mbedtls_test_info.result == MBEDTLS_TEST_RESULT_FAILED ) { /* We've already recorded the test as having failed. Don't @@ -332,8 +352,66 @@ void mbedtls_test_err_add_check( int high, int low, #endif /* MBEDTLS_TEST_HOOKS */ #if defined(MBEDTLS_BIGNUM_C) -int mbedtls_test_read_mpi( mbedtls_mpi *X, int radix, const char *s ) +#include "bignum_core.h" + +int mbedtls_test_read_mpi_core( mbedtls_mpi_uint **pX, size_t *plimbs, + const char *input ) +{ + /* Sanity check */ + if( *pX != NULL ) + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + + size_t hex_len = strlen( input ); + size_t byte_len = ( hex_len + 1 ) / 2; + *plimbs = CHARS_TO_LIMBS( byte_len ); + + /* A core bignum is not allowed to be empty. Forbid it as test data, + * this way static analyzers have a chance of knowing we don't expect + * the bignum functions to support empty inputs. */ + if( *plimbs == 0 ) + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + + *pX = mbedtls_calloc( *plimbs, sizeof( **pX ) ); + if( *pX == NULL ) + return( MBEDTLS_ERR_MPI_ALLOC_FAILED ); + + unsigned char *byte_start = ( unsigned char * ) *pX; + if( byte_len % sizeof( mbedtls_mpi_uint ) != 0 ) + { + byte_start += sizeof( mbedtls_mpi_uint ) - byte_len % sizeof( mbedtls_mpi_uint ); + } + if( ( hex_len & 1 ) != 0 ) + { + /* mbedtls_test_unhexify wants an even number of hex digits */ + TEST_ASSERT( ascii2uc( *input, byte_start ) == 0 ); + ++byte_start; + ++input; + --byte_len; + } + TEST_ASSERT( mbedtls_test_unhexify( byte_start, + byte_len, + input, + &byte_len ) == 0 ); + + mbedtls_mpi_core_bigendian_to_host( *pX, *plimbs ); + return( 0 ); + +exit: + mbedtls_free( *pX ); + return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); +} + +int mbedtls_test_read_mpi( mbedtls_mpi *X, const char *s ) { + int negative = 0; + /* Always set the sign bit to -1 if the input has a minus sign, even for 0. + * This creates an invalid representation, which mbedtls_mpi_read_string() + * avoids but we want to be able to create that in test data. */ + if( s[0] == '-' ) + { + ++s; + negative = 1; + } /* mbedtls_mpi_read_string() currently retains leading zeros. * It always allocates at least one limb for the value 0. */ if( s[0] == 0 ) @@ -341,7 +419,15 @@ int mbedtls_test_read_mpi( mbedtls_mpi *X, int radix, const char *s ) mbedtls_mpi_free( X ); return( 0 ); } - else - return( mbedtls_mpi_read_string( X, radix, s ) ); + int ret = mbedtls_mpi_read_string( X, 16, s ); + if( ret != 0 ) + return( ret ); + if( negative ) + { + if( mbedtls_mpi_cmp_int( X, 0 ) == 0 ) + ++mbedtls_test_case_uses_negative_0; + X->s = -1; + } + return( 0 ); } #endif diff --git a/tests/src/psa_exercise_key.c b/tests/src/psa_exercise_key.c index 3705bc52c4..08c3b46856 100644 --- a/tests/src/psa_exercise_key.c +++ b/tests/src/psa_exercise_key.c @@ -319,8 +319,8 @@ static int exercise_signature_key( mbedtls_svc_key_id_t key, /* If the policy allows signing with any hash, just pick one. */ if( PSA_ALG_IS_SIGN_HASH( alg ) && hash_alg == PSA_ALG_ANY_HASH ) { - #if defined(KNOWN_MBEDTLS_SUPPORTED_HASH_ALG) - hash_alg = KNOWN_MBEDTLS_SUPPORTED_HASH_ALG; + #if defined(KNOWN_SUPPORTED_HASH_ALG) + hash_alg = KNOWN_SUPPORTED_HASH_ALG; alg ^= PSA_ALG_ANY_HASH ^ hash_alg; #else TEST_ASSERT( ! "No hash algorithm for hash-and-sign testing" ); diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh index 80b7806e78..1fe8baeb65 100755 --- a/tests/ssl-opt.sh +++ b/tests/ssl-opt.sh @@ -80,12 +80,14 @@ fi if [ -n "${OPENSSL_NEXT:-}" ]; then O_NEXT_SRV="$OPENSSL_NEXT s_server -www -cert data_files/server5.crt -key data_files/server5.key" + O_NEXT_SRV_EARLY_DATA="$OPENSSL_NEXT s_server -early_data -cert data_files/server5.crt -key data_files/server5.key" O_NEXT_SRV_NO_CERT="$OPENSSL_NEXT s_server -www " O_NEXT_CLI="echo 'GET / HTTP/1.0' | $OPENSSL_NEXT s_client -CAfile data_files/test-ca_cat12.crt" O_NEXT_CLI_NO_CERT="echo 'GET / HTTP/1.0' | $OPENSSL_NEXT s_client" else O_NEXT_SRV=false O_NEXT_SRV_NO_CERT=false + O_NEXT_SRV_EARLY_DATA=false O_NEXT_CLI_NO_CERT=false O_NEXT_CLI=false fi @@ -223,6 +225,52 @@ requires_config_disabled() { esac } +requires_all_configs_enabled() { + if ! $P_QUERY -all $* + then + SKIP_NEXT="YES" + fi +} + +requires_all_configs_disabled() { + if $P_QUERY -any $* + then + SKIP_NEXT="YES" + fi +} + +requires_any_configs_enabled() { + if ! $P_QUERY -any $* + then + SKIP_NEXT="YES" + fi +} + +requires_any_configs_disabled() { + if $P_QUERY -all $* + then + SKIP_NEXT="YES" + fi +} + +TLS1_2_KEY_EXCHANGES_WITH_CERT="MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED \ + MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED" + +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled() { + if $P_QUERY -all MBEDTLS_SSL_PROTO_TLS1_2 + then + requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT + elif ! $P_QUERY -all MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED + then + SKIP_NEXT="YES" + fi +} + get_config_value_or_default() { # This function uses the query_config command line option to query the # required Mbed TLS compile time configuration from the ssl_server2 @@ -391,6 +439,73 @@ case " $CONFIGS_ENABLED " in *) PSK_ONLY="NO";; esac +HAS_ALG_SHA_1="NO" +HAS_ALG_SHA_224="NO" +HAS_ALG_SHA_256="NO" +HAS_ALG_SHA_384="NO" +HAS_ALG_SHA_512="NO" + +check_for_hash_alg() +{ + CURR_ALG="INVALID"; + USE_PSA="NO" + case $CONFIGS_ENABLED in + *" MBEDTLS_USE_PSA_CRYPTO"[\ =]*) + USE_PSA="YES"; + ;; + *) :;; + esac + if [ $USE_PSA = "YES" ]; then + CURR_ALG=PSA_WANT_ALG_${1} + else + CURR_ALG=MBEDTLS_${1}_C + # Remove the second underscore to match MBEDTLS_* naming convention + CURR_ALG=$(echo "$CURR_ALG" | sed 's/_//2') + fi + + case $CONFIGS_ENABLED in + *" $CURR_ALG"[\ =]*) + return 0 + ;; + *) :;; + esac + return 1 +} + +populate_enabled_hash_algs() +{ + for hash_alg in SHA_1 SHA_224 SHA_256 SHA_384 SHA_512; do + if check_for_hash_alg "$hash_alg"; then + hash_alg_variable=HAS_ALG_${hash_alg} + eval ${hash_alg_variable}=YES + fi + done +} + +# skip next test if the given hash alg is not supported +requires_hash_alg() { + HASH_DEFINE="Invalid" + HAS_HASH_ALG="NO" + case $1 in + SHA_1):;; + SHA_224):;; + SHA_256):;; + SHA_384):;; + SHA_512):;; + *) + echo "Unsupported hash alg - $1" + exit 1 + ;; + esac + + HASH_DEFINE=HAS_ALG_${1} + eval "HAS_HASH_ALG=\${${HASH_DEFINE}}" + if [ "$HAS_HASH_ALG" = "NO" ] + then + SKIP_NEXT="YES" + fi +} + # skip next test if OpenSSL doesn't support FALLBACK_SCSV requires_openssl_with_fallback_scsv() { if [ -z "${OPENSSL_HAS_FBSCSV:-}" ]; then @@ -874,11 +989,13 @@ wait_client_done() { ( sleep $CLI_DELAY; echo "===CLIENT_TIMEOUT===" >> $CLI_OUT; kill $CLI_PID ) & DOG_PID=$! - wait $CLI_PID + # For Ubuntu 22.04, `Terminated` message is outputed by wait command. + # To remove it from stdout, redirect stdout/stderr to CLI_OUT + wait $CLI_PID >> $CLI_OUT 2>&1 CLI_EXIT=$? kill $DOG_PID >/dev/null 2>&1 - wait $DOG_PID + wait $DOG_PID >> $CLI_OUT 2>&1 echo "EXIT: $CLI_EXIT" >> $CLI_OUT @@ -909,6 +1026,16 @@ is_gnutls() { esac } +# Generate random psk_list argument for ssl_server2 +get_srv_psk_list () +{ + case $(( TESTS % 3 )) in + 0) echo "psk_list=abc,dead,def,beef,Client_identity,6162636465666768696a6b6c6d6e6f70";; + 1) echo "psk_list=abc,dead,Client_identity,6162636465666768696a6b6c6d6e6f70,def,beef";; + 2) echo "psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef";; + esac +} + # Determine what calc_verify trace is to be expected, if any. # # calc_verify is only called for two things: to calculate the @@ -1228,12 +1355,14 @@ do_run_test_once() { # terminate the server (and the proxy) kill $SRV_PID - wait $SRV_PID + # For Ubuntu 22.04, `Terminated` message is outputed by wait command. + # To remove it from stdout, redirect stdout/stderr to SRV_OUT + wait $SRV_PID >> $SRV_OUT 2>&1 SRV_RET=$? if [ -n "$PXY_CMD" ]; then kill $PXY_PID >/dev/null 2>&1 - wait $PXY_PID + wait $PXY_PID >> $PXY_OUT 2>&1 fi } @@ -1446,6 +1575,8 @@ cleanup() { get_options "$@" +populate_enabled_hash_algs + # Optimize filters: if $FILTER and $EXCLUDE can be expressed as shell # patterns rather than regular expressions, use a case statement instead # of calling grep. To keep the optimizer simple, it is incomplete and only @@ -1558,9 +1689,24 @@ if [ -n "${OPENSSL_LEGACY:-}" ]; then O_LEGACY_CLI="$O_LEGACY_CLI -connect 127.0.0.1:+SRV_PORT" fi +# Newer versions of OpenSSL have a syntax to enable all "ciphers", even +# low-security ones. This covers not just cipher suites but also protocol +# versions. It is necessary, for example, to use (D)TLS 1.0/1.1 on +# OpenSSL 1.1.1f from Ubuntu 20.04. The syntax was only introduced in +# OpenSSL 1.1.0 (21e0c1d23afff48601eb93135defddae51f7e2e3) and I can't find +# a way to discover it from -help, so check the openssl version. +case $($OPENSSL_CMD version) in + "OpenSSL 0"*|"OpenSSL 1.0"*) :;; + *) + O_CLI="$O_CLI -cipher ALL@SECLEVEL=0" + O_SRV="$O_SRV -cipher ALL@SECLEVEL=0" + ;; +esac + if [ -n "${OPENSSL_NEXT:-}" ]; then O_NEXT_SRV="$O_NEXT_SRV -accept $SRV_PORT" O_NEXT_SRV_NO_CERT="$O_NEXT_SRV_NO_CERT -accept $SRV_PORT" + O_NEXT_SRV_EARLY_DATA="$O_NEXT_SRV_EARLY_DATA -accept $SRV_PORT" O_NEXT_CLI="$O_NEXT_CLI -connect 127.0.0.1:+SRV_PORT" O_NEXT_CLI_NO_CERT="$O_NEXT_CLI_NO_CERT -connect 127.0.0.1:+SRV_PORT" fi @@ -1596,7 +1742,7 @@ trap cleanup INT TERM HUP # - the expected parameters are selected requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_ciphersuite_enabled TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256 -requires_config_enabled MBEDTLS_SHA512_C # "signature_algorithm ext: 6" +requires_hash_alg SHA_512 # "signature_algorithm ext: 6" requires_config_enabled MBEDTLS_ECP_DP_CURVE25519_ENABLED run_test "Default" \ "$P_SRV debug_level=3" \ @@ -1644,7 +1790,7 @@ run_test "key size: TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8" \ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "TLS: password protected client key" \ "$P_SRV auth_mode=required" \ "$P_CLI crt_file=data_files/server5.crt key_file=data_files/server5.key.enc key_pwd=PolarSSLTest" \ @@ -1653,7 +1799,7 @@ run_test "TLS: password protected client key" \ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "TLS: password protected server key" \ "$P_SRV crt_file=data_files/server5.crt key_file=data_files/server5.key.enc key_pwd=PolarSSLTest" \ "$P_CLI" \ @@ -1663,7 +1809,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "TLS: password protected server key, two certificates" \ "$P_SRV \ key_file=data_files/server5.key.enc key_pwd=PolarSSLTest crt_file=data_files/server5.crt \ @@ -1685,7 +1831,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "CA callback on server" \ "$P_SRV auth_mode=required" \ "$P_CLI ca_callback=1 debug_level=3 crt_file=data_files/server5.crt \ @@ -1701,7 +1847,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client authentication: ECDHE-ECDSA" \ "$P_SRV auth_mode=required crt_file=data_files/server5.crt \ key_file=data_files/server5.key" \ @@ -1721,7 +1867,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client authentication: ECDHE-RSA" \ "$P_SRV auth_mode=required crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key" \ @@ -1739,7 +1885,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client authentication: DHE-RSA" \ "$P_SRV auth_mode=required crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key" \ @@ -1759,7 +1905,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: ECDHE-ECDSA" \ "$P_SRV key_opaque=1 crt_file=data_files/server5.crt \ key_file=data_files/server5.key key_opaque_algs=ecdsa-sign,none" \ @@ -1776,7 +1922,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: ECDH-" \ "$P_SRV force_version=tls12 auth_mode=required key_opaque=1\ crt_file=data_files/server5.ku-ka.crt\ @@ -1794,8 +1940,44 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C -run_test "Opaque key for server authentication: invalid alg: decrypt with ECC key" \ +requires_config_disabled MBEDTLS_SSL_ASYNC_PRIVATE +requires_hash_alg SHA_256 +run_test "Opaque key for server authentication: invalid key: decrypt with ECC key, no async" \ + "$P_SRV key_opaque=1 crt_file=data_files/server5.crt \ + key_file=data_files/server5.key key_opaque_algs=rsa-decrypt,none \ + debug_level=1" \ + "$P_CLI" \ + 1 \ + -s "key types: Opaque, none" \ + -s "error" \ + -c "error" \ + -c "Public key type mismatch" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_X509_CRT_PARSE_C +requires_config_enabled MBEDTLS_ECDSA_C +requires_config_enabled MBEDTLS_RSA_C +requires_config_disabled MBEDTLS_SSL_ASYNC_PRIVATE +requires_hash_alg SHA_256 +run_test "Opaque key for server authentication: invalid key: ecdh with RSA key, no async" \ + "$P_SRV key_opaque=1 crt_file=data_files/server2-sha256.crt \ + key_file=data_files/server2.key key_opaque_algs=ecdh,none \ + debug_level=1" \ + "$P_CLI" \ + 1 \ + -s "key types: Opaque, none" \ + -s "error" \ + -c "error" \ + -c "Public key type mismatch" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_X509_CRT_PARSE_C +requires_config_enabled MBEDTLS_ECDSA_C +requires_config_enabled MBEDTLS_SSL_ASYNC_PRIVATE +requires_hash_alg SHA_256 +run_test "Opaque key for server authentication: invalid alg: decrypt with ECC key, async" \ "$P_SRV key_opaque=1 crt_file=data_files/server5.crt \ key_file=data_files/server5.key key_opaque_algs=rsa-decrypt,none \ debug_level=1" \ @@ -1811,8 +1993,9 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C -run_test "Opaque key for server authentication: invalid alg: ecdh with RSA key" \ +requires_config_enabled MBEDTLS_SSL_ASYNC_PRIVATE +requires_hash_alg SHA_256 +run_test "Opaque key for server authentication: invalid alg: ecdh with RSA key, async" \ "$P_SRV key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=ecdh,none \ debug_level=1" \ @@ -1827,7 +2010,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_CCM_C run_test "Opaque key for server authentication: invalid alg: ECDHE-ECDSA with ecdh" \ "$P_SRV key_opaque=1 crt_file=data_files/server5.crt \ @@ -1844,7 +2027,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_disabled MBEDTLS_X509_REMOVE_INFO run_test "Opaque keys for server authentication: EC keys with different algs, force ECDHE-ECDSA" \ "$P_SRV key_opaque=1 crt_file=data_files/server7.crt \ @@ -1865,7 +2048,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA384_C +requires_hash_alg SHA_384 requires_config_disabled MBEDTLS_X509_REMOVE_INFO run_test "Opaque keys for server authentication: EC keys with different algs, force ECDH-ECDSA" \ "$P_SRV key_opaque=1 crt_file=data_files/server7.crt \ @@ -1886,7 +2069,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA384_C +requires_hash_alg SHA_384 requires_config_enabled MBEDTLS_CCM_C requires_config_disabled MBEDTLS_X509_REMOVE_INFO run_test "Opaque keys for server authentication: EC + RSA, force ECDHE-ECDSA" \ @@ -1904,13 +2087,66 @@ run_test "Opaque keys for server authentication: EC + RSA, force ECDHE-ECDSA" -S "error" \ -C "error" +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_RSA_C +run_test "TLS 1.3 opaque key: no suitable algorithm found" \ + "$P_SRV debug_level=4 force_version=tls13 auth_mode=required key_opaque=1 key_opaque_algs=rsa-decrypt,none" \ + "$P_CLI debug_level=4 key_opaque=1 key_opaque_algs=rsa-decrypt,rsa-sign-pss" \ + 1 \ + -s "The SSL configuration is tls13 only" \ + -c "key type: Opaque" \ + -s "key types: Opaque, Opaque" \ + -c "error" \ + -s "no suitable signature algorithm" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_RSA_C +run_test "TLS 1.3 opaque key: suitable algorithm found" \ + "$P_SRV debug_level=4 force_version=tls13 auth_mode=required key_opaque=1 key_opaque_algs=rsa-decrypt,rsa-sign-pss" \ + "$P_CLI debug_level=4 key_opaque=1 key_opaque_algs=rsa-decrypt,rsa-sign-pss" \ + 0 \ + -s "The SSL configuration is tls13 only" \ + -c "key type: Opaque" \ + -s "key types: Opaque, Opaque" \ + -C "error" \ + -S "error" \ + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_RSA_C +run_test "TLS 1.3 opaque key: first client sig alg not suitable" \ + "$P_SRV debug_level=4 force_version=tls13 auth_mode=required key_opaque=1 key_opaque_algs=rsa-sign-pss-sha512,none" \ + "$P_CLI debug_level=4 sig_algs=rsa_pss_rsae_sha256,rsa_pss_rsae_sha512" \ + 0 \ + -s "The SSL configuration is tls13 only" \ + -s "key types: Opaque, Opaque" \ + -s "CertificateVerify signature failed with rsa_pss_rsae_sha256" \ + -s "CertificateVerify signature with rsa_pss_rsae_sha512" \ + -C "error" \ + -S "error" \ + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_RSA_C +run_test "TLS 1.3 opaque key: 2 keys on server, suitable algorithm found" \ + "$P_SRV debug_level=4 force_version=tls13 auth_mode=required key_opaque=1 key_opaque_algs2=ecdsa-sign,none key_opaque_algs=rsa-decrypt,rsa-sign-pss" \ + "$P_CLI debug_level=4 key_opaque=1 key_opaque_algs=rsa-decrypt,rsa-sign-pss" \ + 0 \ + -s "The SSL configuration is tls13 only" \ + -c "key type: Opaque" \ + -s "key types: Opaque, Opaque" \ + -C "error" \ + -S "error" \ + # Test using a RSA opaque private key for server authentication requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: ECDHE-RSA" \ "$P_SRV key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=rsa-sign-pkcs1,none" \ @@ -1928,7 +2164,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: DHE-RSA" \ "$P_SRV key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=rsa-sign-pkcs1,none" \ @@ -1945,7 +2181,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: RSA-PSK" \ "$P_SRV debug_level=1 key_opaque=1 key_opaque_algs=rsa-decrypt,none \ psk=abc123 psk_identity=foo" \ @@ -1963,7 +2199,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: RSA-" \ "$P_SRV debug_level=3 key_opaque=1 key_opaque_algs=rsa-decrypt,none " \ "$P_CLI force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA256" \ @@ -1980,7 +2216,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for server authentication: DHE-RSA, PSS instead of PKCS1" \ "$P_SRV auth_mode=required key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=rsa-sign-pss,none debug_level=1" \ @@ -1997,7 +2233,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_disabled MBEDTLS_X509_REMOVE_INFO run_test "Opaque keys for server authentication: RSA keys with different algs" \ "$P_SRV auth_mode=required key_opaque=1 crt_file=data_files/server2-sha256.crt \ @@ -2019,7 +2255,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA384_C +requires_hash_alg SHA_384 requires_config_enabled MBEDTLS_GCM_C requires_config_disabled MBEDTLS_X509_REMOVE_INFO run_test "Opaque keys for server authentication: EC + RSA, force DHE-RSA" \ @@ -2042,7 +2278,7 @@ requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client/server authentication: ECDHE-ECDSA" \ "$P_SRV auth_mode=required key_opaque=1 crt_file=data_files/server5.crt \ key_file=data_files/server5.key key_opaque_algs=ecdsa-sign,none" \ @@ -2064,7 +2300,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client/server authentication: ECDHE-RSA" \ "$P_SRV auth_mode=required key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=rsa-sign-pkcs1,none" \ @@ -2085,7 +2321,7 @@ requires_config_enabled MBEDTLS_USE_PSA_CRYPTO requires_config_enabled MBEDTLS_X509_CRT_PARSE_C requires_config_enabled MBEDTLS_ECDSA_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 run_test "Opaque key for client/server authentication: DHE-RSA" \ "$P_SRV auth_mode=required key_opaque=1 crt_file=data_files/server2-sha256.crt \ key_file=data_files/server2.key key_opaque_algs=rsa-sign-pkcs1,none" \ @@ -2162,6 +2398,31 @@ run_test "Unique IV in GCM" \ -u "IV used" \ -U "IV used" +# Test for correctness of sent single supported algorithm +requires_config_enabled MBEDTLS_ECP_DP_SECP256R1_ENABLED +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_ECDSA_C +requires_hash_alg SHA_256 +run_test "Single supported algorithm sending: mbedtls client" \ + "$P_SRV sig_algs=ecdsa_secp256r1_sha256 auth_mode=required" \ + "$P_CLI sig_algs=ecdsa_secp256r1_sha256 debug_level=3" \ + 0 \ + -c "Supported Signature Algorithm found: 04 03" + +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_ECDSA_C +requires_config_enabled MBEDTLS_ECP_DP_SECP256R1_ENABLED +requires_hash_alg SHA_256 +run_test "Single supported algorithm sending: openssl client" \ + "$P_SRV sig_algs=ecdsa_secp256r1_sha256 auth_mode=required" \ + "$O_CLI -cert data_files/server6.crt \ + -key data_files/server6.key" \ + 0 + # Tests for certificate verification callback requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "Configuration-specific CRT verification callback" \ @@ -2229,36 +2490,53 @@ run_test "SHA-256 allowed by default in client certificate" \ # ssl_client2/ssl_server2 example programs works. requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: PSK only" \ "$P_SRV tls13_kex_modes=psk debug_level=4" \ "$P_CLI tls13_kex_modes=psk debug_level=4" \ 0 + requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: PSK-ephemeral only" \ "$P_SRV tls13_kex_modes=psk_ephemeral" \ "$P_CLI tls13_kex_modes=psk_ephemeral" \ 0 + requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: Pure-ephemeral only" \ "$P_SRV tls13_kex_modes=ephemeral" \ "$P_CLI tls13_kex_modes=ephemeral" \ 0 + requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: All ephemeral" \ "$P_SRV tls13_kex_modes=ephemeral_all" \ "$P_CLI tls13_kex_modes=ephemeral_all" \ 0 + requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: All PSK" \ "$P_SRV tls13_kex_modes=psk_all" \ "$P_CLI tls13_kex_modes=psk_all" \ 0 + requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_SRV_C run_test "TLS 1.3: key exchange mode parameter passing: All" \ "$P_SRV tls13_kex_modes=all" \ "$P_CLI tls13_kex_modes=all" \ @@ -2336,7 +2614,6 @@ run_test "Context serialization, client serializes, with CID" \ -c "Deserializing connection..." \ -S "Deserializing connection..." -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_CONTEXT_SERIALIZATION run_test "Context serialization, server serializes, CCM" \ "$P_SRV dtls=1 serialize=1 exchanges=2" \ @@ -2410,7 +2687,6 @@ run_test "Context serialization, both serialize, with CID" \ -c "Deserializing connection..." \ -s "Deserializing connection..." -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_CONTEXT_SERIALIZATION run_test "Context serialization, re-init, client serializes, CCM" \ "$P_SRV dtls=1 serialize=0 exchanges=2" \ @@ -2447,7 +2723,6 @@ run_test "Context serialization, re-init, client serializes, with CID" \ -c "Deserializing connection..." \ -S "Deserializing connection..." -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 requires_config_enabled MBEDTLS_SSL_CONTEXT_SERIALIZATION run_test "Context serialization, re-init, server serializes, CCM" \ "$P_SRV dtls=1 serialize=2 exchanges=2" \ @@ -4950,6 +5225,7 @@ run_test "DER format: with 9 trailing random bytes" \ # Tests for auth_mode, there are duplicated tests using ca callback for authentication # When updating these tests, modify the matching authentication tests accordingly +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: server badcert, client required" \ "$P_SRV crt_file=data_files/server5-badsign.crt \ key_file=data_files/server5.key" \ @@ -4961,6 +5237,7 @@ run_test "Authentication: server badcert, client required" \ -c "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server badcert, client optional" \ "$P_SRV crt_file=data_files/server5-badsign.crt \ key_file=data_files/server5.key" \ @@ -4972,6 +5249,7 @@ run_test "Authentication: server badcert, client optional" \ -C "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server goodcert, client optional, no trusted CA" \ "$P_SRV" \ "$P_CLI debug_level=3 auth_mode=optional ca_file=none ca_path=none" \ @@ -4983,6 +5261,7 @@ run_test "Authentication: server goodcert, client optional, no trusted CA" \ -C "X509 - Certificate verification failed" \ -C "SSL - No CA Chain is set, but required to operate" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: server goodcert, client required, no trusted CA" \ "$P_SRV" \ "$P_CLI debug_level=3 auth_mode=required ca_file=none ca_path=none" \ @@ -5002,6 +5281,7 @@ run_test "Authentication: server goodcert, client required, no trusted CA" \ requires_config_enabled MBEDTLS_ECP_C requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server ECDH p256v1, client required, p256v1 unsupported" \ "$P_SRV debug_level=1 key_file=data_files/server5.key \ crt_file=data_files/server5.ku-ka.crt" \ @@ -5013,6 +5293,7 @@ run_test "Authentication: server ECDH p256v1, client required, p256v1 unsuppo requires_config_enabled MBEDTLS_ECP_C requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server ECDH p256v1, client optional, p256v1 unsupported" \ "$P_SRV debug_level=1 key_file=data_files/server5.key \ crt_file=data_files/server5.ku-ka.crt" \ @@ -5023,6 +5304,7 @@ run_test "Authentication: server ECDH p256v1, client optional, p256v1 unsuppo -c "bad server certificate (ECDH curve)" # Expect failure only at ECDH params check requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server badcert, client none" \ "$P_SRV crt_file=data_files/server5-badsign.crt \ key_file=data_files/server5.key" \ @@ -5034,25 +5316,28 @@ run_test "Authentication: server badcert, client none" \ -C "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: client SHA256, server required" \ "$P_SRV auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server6.crt \ key_file=data_files/server6.key \ force_ciphersuite=TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384" \ 0 \ - -c "Supported Signature Algorithm found: 4," \ - -c "Supported Signature Algorithm found: 5," + -c "Supported Signature Algorithm found: 04 " \ + -c "Supported Signature Algorithm found: 05 " requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: client SHA384, server required" \ "$P_SRV auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server6.crt \ key_file=data_files/server6.key \ force_ciphersuite=TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256" \ 0 \ - -c "Supported Signature Algorithm found: 4," \ - -c "Supported Signature Algorithm found: 5," + -c "Supported Signature Algorithm found: 04 " \ + -c "Supported Signature Algorithm found: 05 " +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client has no cert, server required (TLS)" \ "$P_SRV debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=none \ @@ -5068,6 +5353,7 @@ run_test "Authentication: client has no cert, server required (TLS)" \ -s "! mbedtls_ssl_handshake returned" \ -s "No client certification received from the client, but required by the authentication mode" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client badcert, server required" \ "$P_SRV debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server5-badsign.crt \ @@ -5088,6 +5374,7 @@ run_test "Authentication: client badcert, server required" \ # detect that its write end of the connection is closed and abort # before reading the alert message. +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client cert self-signed and trusted, server required" \ "$P_SRV debug_level=3 auth_mode=required ca_file=data_files/server5-selfsigned.crt" \ "$P_CLI debug_level=3 crt_file=data_files/server5-selfsigned.crt \ @@ -5103,6 +5390,7 @@ run_test "Authentication: client cert self-signed and trusted, server require -S "! The certificate is not correctly signed" \ -S "X509 - Certificate verification failed" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client cert not trusted, server required" \ "$P_SRV debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server5-selfsigned.crt \ @@ -5119,6 +5407,7 @@ run_test "Authentication: client cert not trusted, server required" \ -s "! mbedtls_ssl_handshake returned" \ -s "X509 - Certificate verification failed" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client badcert, server optional" \ "$P_SRV debug_level=3 auth_mode=optional" \ "$P_CLI debug_level=3 crt_file=data_files/server5-badsign.crt \ @@ -5136,6 +5425,7 @@ run_test "Authentication: client badcert, server optional" \ -C "! mbedtls_ssl_handshake returned" \ -S "X509 - Certificate verification failed" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client badcert, server none" \ "$P_SRV debug_level=3 auth_mode=none" \ "$P_CLI debug_level=3 crt_file=data_files/server5-badsign.crt \ @@ -5153,6 +5443,7 @@ run_test "Authentication: client badcert, server none" \ -C "! mbedtls_ssl_handshake returned" \ -S "X509 - Certificate verification failed" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client no cert, server optional" \ "$P_SRV debug_level=3 auth_mode=optional" \ "$P_CLI debug_level=3 crt_file=none key_file=none" \ @@ -5170,6 +5461,7 @@ run_test "Authentication: client no cert, server optional" \ -S "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: openssl client no cert, server optional" \ "$P_SRV debug_level=3 auth_mode=optional" \ "$O_CLI" \ @@ -5181,6 +5473,7 @@ run_test "Authentication: openssl client no cert, server optional" \ -S "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: client no cert, openssl server optional" \ "$O_SRV -verify 10 -tls1_2" \ "$P_CLI debug_level=3 crt_file=none key_file=none" \ @@ -5192,6 +5485,7 @@ run_test "Authentication: client no cert, openssl server optional" \ -C "! mbedtls_ssl_handshake returned" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: client no cert, openssl server required" \ "$O_SRV -Verify 10 -tls1_2" \ "$P_CLI debug_level=3 crt_file=none key_file=none" \ @@ -5214,6 +5508,7 @@ MAX_IM_CA='8' # are in place so that the semantics are consistent with the test description. requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: server max_int chain, client default" \ "$P_SRV crt_file=data_files/dir-maxpath/c09.pem \ key_file=data_files/dir-maxpath/09.key" \ @@ -5223,6 +5518,7 @@ run_test "Authentication: server max_int chain, client default" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: server max_int+1 chain, client default" \ "$P_SRV crt_file=data_files/dir-maxpath/c10.pem \ key_file=data_files/dir-maxpath/10.key" \ @@ -5233,6 +5529,7 @@ run_test "Authentication: server max_int+1 chain, client default" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server max_int+1 chain, client optional" \ "$P_SRV crt_file=data_files/dir-maxpath/c10.pem \ key_file=data_files/dir-maxpath/10.key" \ @@ -5244,6 +5541,7 @@ run_test "Authentication: server max_int+1 chain, client optional" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: server max_int+1 chain, client none" \ "$P_SRV crt_file=data_files/dir-maxpath/c10.pem \ key_file=data_files/dir-maxpath/10.key" \ @@ -5254,6 +5552,7 @@ run_test "Authentication: server max_int+1 chain, client none" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client max_int+1 chain, server default" \ "$P_SRV ca_file=data_files/dir-maxpath/00.crt" \ "$P_CLI crt_file=data_files/dir-maxpath/c10.pem \ @@ -5263,6 +5562,7 @@ run_test "Authentication: client max_int+1 chain, server default" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client max_int+1 chain, server optional" \ "$P_SRV ca_file=data_files/dir-maxpath/00.crt auth_mode=optional" \ "$P_CLI crt_file=data_files/dir-maxpath/c10.pem \ @@ -5272,6 +5572,7 @@ run_test "Authentication: client max_int+1 chain, server optional" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client max_int+1 chain, server required" \ "$P_SRV ca_file=data_files/dir-maxpath/00.crt auth_mode=required" \ "$P_CLI crt_file=data_files/dir-maxpath/c10.pem \ @@ -5281,6 +5582,7 @@ run_test "Authentication: client max_int+1 chain, server required" \ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Authentication: client max_int chain, server required" \ "$P_SRV ca_file=data_files/dir-maxpath/00.crt auth_mode=required" \ "$P_CLI crt_file=data_files/dir-maxpath/c09.pem \ @@ -5291,6 +5593,7 @@ run_test "Authentication: client max_int chain, server required" \ # Tests for CA list in CertificateRequest messages requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: send CA list in CertificateRequest (default)" \ "$P_SRV debug_level=3 auth_mode=required" \ "$P_CLI crt_file=data_files/server6.crt \ @@ -5299,6 +5602,7 @@ run_test "Authentication: send CA list in CertificateRequest (default)" \ -s "requested DN" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: do not send CA list in CertificateRequest" \ "$P_SRV debug_level=3 auth_mode=required cert_req_ca_list=0" \ "$P_CLI crt_file=data_files/server6.crt \ @@ -5307,6 +5611,7 @@ run_test "Authentication: do not send CA list in CertificateRequest" \ -S "requested DN" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: send CA list in CertificateRequest, client self signed" \ "$P_SRV debug_level=3 auth_mode=required cert_req_ca_list=0" \ "$P_CLI debug_level=3 crt_file=data_files/server5-selfsigned.crt \ @@ -5320,6 +5625,7 @@ run_test "Authentication: send CA list in CertificateRequest, client self sig -s "X509 - Certificate verification failed" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: send alt conf DN hints in CertificateRequest" \ "$P_SRV debug_level=3 auth_mode=optional cert_req_ca_list=2 \ crt_file2=data_files/server1.crt \ @@ -5331,6 +5637,7 @@ run_test "Authentication: send alt conf DN hints in CertificateRequest" \ -c "DN hint: C=NL, O=PolarSSL, CN=PolarSSL Server 1" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: send alt conf DN hints in CertificateRequest (2)" \ "$P_SRV debug_level=3 auth_mode=optional cert_req_ca_list=2 \ crt_file2=data_files/server2.crt \ @@ -5342,6 +5649,7 @@ run_test "Authentication: send alt conf DN hints in CertificateRequest (2)" \ -c "DN hint: C=NL, O=PolarSSL, CN=localhost" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication: send alt hs DN hints in CertificateRequest" \ "$P_SRV debug_level=3 auth_mode=optional cert_req_ca_list=3 \ crt_file2=data_files/server1.crt \ @@ -5357,6 +5665,7 @@ run_test "Authentication: send alt hs DN hints in CertificateRequest" \ requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server badcert, client required" \ "$P_SRV crt_file=data_files/server5-badsign.crt \ key_file=data_files/server5.key" \ @@ -5370,6 +5679,7 @@ run_test "Authentication, CA callback: server badcert, client required" \ requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server badcert, client optional" \ "$P_SRV crt_file=data_files/server5-badsign.crt \ key_file=data_files/server5.key" \ @@ -5391,6 +5701,7 @@ run_test "Authentication, CA callback: server badcert, client optional" \ requires_config_enabled MBEDTLS_ECP_C requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server ECDH p256v1, client required, p256v1 unsupported" \ "$P_SRV debug_level=1 key_file=data_files/server5.key \ crt_file=data_files/server5.ku-ka.crt" \ @@ -5404,6 +5715,7 @@ run_test "Authentication, CA callback: server ECDH p256v1, client required, p requires_config_enabled MBEDTLS_ECP_C requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server ECDH p256v1, client optional, p256v1 unsupported" \ "$P_SRV debug_level=1 key_file=data_files/server5.key \ crt_file=data_files/server5.ku-ka.crt" \ @@ -5416,6 +5728,7 @@ run_test "Authentication, CA callback: server ECDH p256v1, client optional, p requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client SHA256, server required" \ "$P_SRV ca_callback=1 debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server6.crt \ @@ -5423,11 +5736,12 @@ run_test "Authentication, CA callback: client SHA256, server required" \ force_ciphersuite=TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384" \ 0 \ -s "use CA callback for X.509 CRT verification" \ - -c "Supported Signature Algorithm found: 4," \ - -c "Supported Signature Algorithm found: 5," + -c "Supported Signature Algorithm found: 04 " \ + -c "Supported Signature Algorithm found: 05 " requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client SHA384, server required" \ "$P_SRV ca_callback=1 debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server6.crt \ @@ -5435,11 +5749,12 @@ run_test "Authentication, CA callback: client SHA384, server required" \ force_ciphersuite=TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256" \ 0 \ -s "use CA callback for X.509 CRT verification" \ - -c "Supported Signature Algorithm found: 4," \ - -c "Supported Signature Algorithm found: 5," + -c "Supported Signature Algorithm found: 04 " \ + -c "Supported Signature Algorithm found: 05 " requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client badcert, server required" \ "$P_SRV ca_callback=1 debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server5-badsign.crt \ @@ -5464,6 +5779,7 @@ run_test "Authentication, CA callback: client badcert, server required" \ requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client cert not trusted, server required" \ "$P_SRV ca_callback=1 debug_level=3 auth_mode=required" \ "$P_CLI debug_level=3 crt_file=data_files/server5-selfsigned.crt \ @@ -5484,6 +5800,7 @@ run_test "Authentication, CA callback: client cert not trusted, server requir requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client badcert, server optional" \ "$P_SRV ca_callback=1 debug_level=3 auth_mode=optional" \ "$P_CLI debug_level=3 crt_file=data_files/server5-badsign.crt \ @@ -5506,6 +5823,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server max_int chain, client default" \ "$P_SRV crt_file=data_files/dir-maxpath/c09.pem \ key_file=data_files/dir-maxpath/09.key" \ @@ -5518,6 +5836,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server max_int+1 chain, client default" \ "$P_SRV crt_file=data_files/dir-maxpath/c10.pem \ key_file=data_files/dir-maxpath/10.key" \ @@ -5530,6 +5849,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: server max_int+1 chain, client optional" \ "$P_SRV crt_file=data_files/dir-maxpath/c10.pem \ key_file=data_files/dir-maxpath/10.key" \ @@ -5543,6 +5863,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client max_int+1 chain, server optional" \ "$P_SRV ca_callback=1 debug_level=3 ca_file=data_files/dir-maxpath/00.crt auth_mode=optional" \ "$P_CLI crt_file=data_files/dir-maxpath/c10.pem \ @@ -5555,6 +5876,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client max_int+1 chain, server required" \ "$P_SRV ca_callback=1 debug_level=3 ca_file=data_files/dir-maxpath/00.crt auth_mode=required" \ "$P_CLI crt_file=data_files/dir-maxpath/c10.pem \ @@ -5567,6 +5889,7 @@ requires_config_value_equals "MBEDTLS_X509_MAX_INTERMEDIATE_CA" $MAX_IM_CA requires_full_size_output_buffer requires_config_enabled MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Authentication, CA callback: client max_int chain, server required" \ "$P_SRV ca_callback=1 debug_level=3 ca_file=data_files/dir-maxpath/00.crt auth_mode=required" \ "$P_CLI crt_file=data_files/dir-maxpath/c09.pem \ @@ -5591,6 +5914,7 @@ run_test "Certificate hash: client TLS 1.2 -> SHA-2" \ # tests for SNI requires_config_disabled MBEDTLS_X509_REMOVE_INFO +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: no SNI callback" \ "$P_SRV debug_level=3 \ crt_file=data_files/server5.crt key_file=data_files/server5.key" \ @@ -5600,6 +5924,7 @@ run_test "SNI: no SNI callback" \ -c "subject name *: C=NL, O=PolarSSL, CN=localhost" requires_config_disabled MBEDTLS_X509_REMOVE_INFO +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: matching cert 1" \ "$P_SRV debug_level=3 \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5611,6 +5936,7 @@ run_test "SNI: matching cert 1" \ -c "subject name *: C=NL, O=PolarSSL, CN=localhost" requires_config_disabled MBEDTLS_X509_REMOVE_INFO +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: matching cert 2" \ "$P_SRV debug_level=3 \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5622,6 +5948,7 @@ run_test "SNI: matching cert 2" \ -c "subject name *: C=NL, O=PolarSSL, CN=polarssl.example" requires_config_disabled MBEDTLS_X509_REMOVE_INFO +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: no matching cert" \ "$P_SRV debug_level=3 \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5634,6 +5961,7 @@ run_test "SNI: no matching cert" \ -c "mbedtls_ssl_handshake returned" \ -c "SSL - A fatal alert message was received from our peer" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: client auth no override: optional" \ "$P_SRV debug_level=3 auth_mode=optional \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5647,6 +5975,7 @@ run_test "SNI: client auth no override: optional" \ -C "skip write certificate verify" \ -S "skip parse certificate verify" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: client auth override: none -> optional" \ "$P_SRV debug_level=3 auth_mode=none \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5660,6 +5989,7 @@ run_test "SNI: client auth override: none -> optional" \ -C "skip write certificate verify" \ -S "skip parse certificate verify" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: client auth override: optional -> none" \ "$P_SRV debug_level=3 auth_mode=optional \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5671,6 +6001,7 @@ run_test "SNI: client auth override: optional -> none" \ -c "got no certificate request" \ -c "skip write certificate" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: CA no override" \ "$P_SRV debug_level=3 auth_mode=optional \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5689,6 +6020,7 @@ run_test "SNI: CA no override" \ -s "! The certificate is not correctly signed by the trusted CA" \ -S "The certificate has been revoked (is on a CRL)" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: CA override" \ "$P_SRV debug_level=3 auth_mode=optional \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5707,6 +6039,7 @@ run_test "SNI: CA override" \ -S "! The certificate is not correctly signed by the trusted CA" \ -S "The certificate has been revoked (is on a CRL)" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "SNI: CA override with CRL" \ "$P_SRV debug_level=3 auth_mode=optional \ crt_file=data_files/server5.crt key_file=data_files/server5.key \ @@ -5875,6 +6208,7 @@ run_test "SNI: DTLS, CA override with CRL" \ # Tests for non-blocking I/O: exercise a variety of handshake flows +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Non-blocking I/O: basic handshake" \ "$P_SRV nbio=2 tickets=0 auth_mode=none" \ "$P_CLI nbio=2 tickets=0" \ @@ -5883,6 +6217,7 @@ run_test "Non-blocking I/O: basic handshake" \ -C "mbedtls_ssl_handshake returned" \ -c "Read from server: .* bytes read" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Non-blocking I/O: client auth" \ "$P_SRV nbio=2 tickets=0 auth_mode=required" \ "$P_CLI nbio=2 tickets=0" \ @@ -5892,6 +6227,7 @@ run_test "Non-blocking I/O: client auth" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Non-blocking I/O: ticket" \ "$P_SRV nbio=2 tickets=1 auth_mode=none" \ "$P_CLI nbio=2 tickets=1" \ @@ -5901,6 +6237,7 @@ run_test "Non-blocking I/O: ticket" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Non-blocking I/O: ticket + client auth" \ "$P_SRV nbio=2 tickets=1 auth_mode=required" \ "$P_CLI nbio=2 tickets=1" \ @@ -5910,6 +6247,7 @@ run_test "Non-blocking I/O: ticket + client auth" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Non-blocking I/O: ticket + client auth + resume" \ "$P_SRV nbio=2 tickets=1 auth_mode=required" \ "$P_CLI nbio=2 tickets=1 reconnect=1" \ @@ -5919,6 +6257,7 @@ run_test "Non-blocking I/O: ticket + client auth + resume" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Non-blocking I/O: ticket + resume" \ "$P_SRV nbio=2 tickets=1 auth_mode=none" \ "$P_CLI nbio=2 tickets=1 reconnect=1" \ @@ -5928,6 +6267,7 @@ run_test "Non-blocking I/O: ticket + resume" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Non-blocking I/O: session-id resume" \ "$P_SRV nbio=2 tickets=0 auth_mode=none" \ "$P_CLI nbio=2 tickets=0 reconnect=1" \ @@ -5938,6 +6278,7 @@ run_test "Non-blocking I/O: session-id resume" \ # Tests for event-driven I/O: exercise a variety of handshake flows +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Event-driven I/O: basic handshake" \ "$P_SRV event=1 tickets=0 auth_mode=none" \ "$P_CLI event=1 tickets=0" \ @@ -5946,6 +6287,7 @@ run_test "Event-driven I/O: basic handshake" \ -C "mbedtls_ssl_handshake returned" \ -c "Read from server: .* bytes read" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "Event-driven I/O: client auth" \ "$P_SRV event=1 tickets=0 auth_mode=required" \ "$P_CLI event=1 tickets=0" \ @@ -5955,6 +6297,7 @@ run_test "Event-driven I/O: client auth" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Event-driven I/O: ticket" \ "$P_SRV event=1 tickets=1 auth_mode=none" \ "$P_CLI event=1 tickets=1" \ @@ -5964,6 +6307,7 @@ run_test "Event-driven I/O: ticket" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Event-driven I/O: ticket + client auth" \ "$P_SRV event=1 tickets=1 auth_mode=required" \ "$P_CLI event=1 tickets=1" \ @@ -5973,6 +6317,7 @@ run_test "Event-driven I/O: ticket + client auth" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Event-driven I/O: ticket + client auth + resume" \ "$P_SRV event=1 tickets=1 auth_mode=required" \ "$P_CLI event=1 tickets=1 reconnect=1" \ @@ -5982,6 +6327,7 @@ run_test "Event-driven I/O: ticket + client auth + resume" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Event-driven I/O: ticket + resume" \ "$P_SRV event=1 tickets=1 auth_mode=none" \ "$P_CLI event=1 tickets=1 reconnect=1" \ @@ -5991,6 +6337,7 @@ run_test "Event-driven I/O: ticket + resume" \ -c "Read from server: .* bytes read" requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_any_configs_enabled $TLS1_2_KEY_EXCHANGES_WITH_CERT run_test "Event-driven I/O: session-id resume" \ "$P_SRV event=1 tickets=0 auth_mode=none" \ "$P_CLI event=1 tickets=0 reconnect=1" \ @@ -6115,6 +6462,7 @@ run_test "Not supported version check: srv max TLS 1.1" \ # Tests for ALPN extension +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: none" \ "$P_SRV debug_level=3" \ "$P_CLI debug_level=3" \ @@ -6127,6 +6475,7 @@ run_test "ALPN: none" \ -C "Application Layer Protocol is" \ -S "Application Layer Protocol is" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: client only" \ "$P_SRV debug_level=3" \ "$P_CLI debug_level=3 alpn=abc,1234" \ @@ -6139,6 +6488,7 @@ run_test "ALPN: client only" \ -c "Application Layer Protocol is (none)" \ -S "Application Layer Protocol is" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: server only" \ "$P_SRV debug_level=3 alpn=abc,1234" \ "$P_CLI debug_level=3" \ @@ -6151,6 +6501,7 @@ run_test "ALPN: server only" \ -C "Application Layer Protocol is" \ -s "Application Layer Protocol is (none)" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: both, common cli1-srv1" \ "$P_SRV debug_level=3 alpn=abc,1234" \ "$P_CLI debug_level=3 alpn=abc,1234" \ @@ -6163,6 +6514,7 @@ run_test "ALPN: both, common cli1-srv1" \ -c "Application Layer Protocol is abc" \ -s "Application Layer Protocol is abc" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: both, common cli2-srv1" \ "$P_SRV debug_level=3 alpn=abc,1234" \ "$P_CLI debug_level=3 alpn=1234,abc" \ @@ -6175,6 +6527,7 @@ run_test "ALPN: both, common cli2-srv1" \ -c "Application Layer Protocol is abc" \ -s "Application Layer Protocol is abc" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: both, common cli1-srv2" \ "$P_SRV debug_level=3 alpn=abc,1234" \ "$P_CLI debug_level=3 alpn=1234,abcde" \ @@ -6187,6 +6540,7 @@ run_test "ALPN: both, common cli1-srv2" \ -c "Application Layer Protocol is 1234" \ -s "Application Layer Protocol is 1234" +requires_key_exchange_with_cert_in_tls12_or_tls13_enabled run_test "ALPN: both, no common" \ "$P_SRV debug_level=3 alpn=abc,123" \ "$P_CLI debug_level=3 alpn=1234,abcde" \ @@ -6345,9 +6699,9 @@ run_test "keyUsage cli: DigitalSignature, RSA: fail, soft" \ -c "Ciphersuite is TLS-" \ -c "! Usage does not match the keyUsage extension" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: DigitalSignature+KeyEncipherment, RSA: OK" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server2.key \ -cert data_files/server2.ku-ds_ke.crt" \ @@ -6357,9 +6711,9 @@ run_test "keyUsage cli 1.3: DigitalSignature+KeyEncipherment, RSA: OK" \ -C "Processing of the Certificate handshake message failed" \ -c "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: KeyEncipherment, RSA: fail" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server2.key \ -cert data_files/server2.ku-ke.crt" \ @@ -6369,9 +6723,9 @@ run_test "keyUsage cli 1.3: KeyEncipherment, RSA: fail" \ -c "Processing of the Certificate handshake message failed" \ -C "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: KeyAgreement, RSA: fail" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server2.key \ -cert data_files/server2.ku-ka.crt" \ @@ -6381,9 +6735,9 @@ run_test "keyUsage cli 1.3: KeyAgreement, RSA: fail" \ -c "Processing of the Certificate handshake message failed" \ -C "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: DigitalSignature, ECDSA: OK" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.ku-ds.crt" \ @@ -6393,9 +6747,9 @@ run_test "keyUsage cli 1.3: DigitalSignature, ECDSA: OK" \ -C "Processing of the Certificate handshake message failed" \ -c "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: KeyEncipherment, ECDSA: fail" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.ku-ke.crt" \ @@ -6405,9 +6759,9 @@ run_test "keyUsage cli 1.3: KeyEncipherment, ECDSA: fail" \ -c "Processing of the Certificate handshake message failed" \ -C "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli 1.3: KeyAgreement, ECDSA: fail" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.ku-ka.crt" \ @@ -6467,11 +6821,11 @@ run_test "keyUsage cli-auth: ECDSA, KeyAgreement: fail (soft)" \ -s "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli-auth 1.3: RSA, DigitalSignature: OK" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server2.key \ -cert data_files/server2.ku-ds.crt" \ 0 \ @@ -6479,22 +6833,22 @@ run_test "keyUsage cli-auth 1.3: RSA, DigitalSignature: OK" \ -S "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli-auth 1.3: RSA, KeyEncipherment: fail (soft)" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server2.key \ -cert data_files/server2.ku-ke.crt" \ 0 \ -s "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli-auth 1.3: ECDSA, DigitalSignature: OK" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.ku-ds.crt" \ 0 \ @@ -6502,11 +6856,11 @@ run_test "keyUsage cli-auth 1.3: ECDSA, DigitalSignature: OK" \ -S "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "keyUsage cli-auth 1.3: ECDSA, KeyAgreement: fail (soft)" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.ku-ka.crt" \ 0 \ @@ -6585,9 +6939,9 @@ run_test "extKeyUsage cli: codeSign -> fail" \ -c "Processing of the Certificate handshake message failed" \ -C "Ciphersuite is TLS-" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli 1.3: serverAuth -> OK" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.eku-srv.crt" \ @@ -6597,9 +6951,9 @@ run_test "extKeyUsage cli 1.3: serverAuth -> OK" \ -C "Processing of the Certificate handshake message failed" \ -c "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli 1.3: serverAuth,clientAuth -> OK" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.eku-srv_cli.crt" \ @@ -6609,9 +6963,9 @@ run_test "extKeyUsage cli 1.3: serverAuth,clientAuth -> OK" \ -C "Processing of the Certificate handshake message failed" \ -c "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli 1.3: codeSign,anyEKU -> OK" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.eku-cs_any.crt" \ @@ -6621,9 +6975,9 @@ run_test "extKeyUsage cli 1.3: codeSign,anyEKU -> OK" \ -C "Processing of the Certificate handshake message failed" \ -c "Ciphersuite is" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli 1.3: codeSign -> fail" \ "$O_NEXT_SRV_NO_CERT -tls1_3 -num_tickets=0 -key data_files/server5.key \ -cert data_files/server5.eku-cs.crt" \ @@ -6680,44 +7034,44 @@ run_test "extKeyUsage cli-auth: codeSign -> fail (hard)" \ -s "bad certificate (usage extensions)" \ -s "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli-auth 1.3: clientAuth -> OK" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.eku-cli.crt" \ 0 \ -S "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli-auth 1.3: serverAuth,clientAuth -> OK" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.eku-srv_cli.crt" \ 0 \ -S "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli-auth 1.3: codeSign,anyEKU -> OK" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.eku-cs_any.crt" \ 0 \ -S "bad certificate (usage extensions)" \ -S "Processing of the Certificate handshake message failed" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_openssl_tls1_3 -requires_config_disabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "extKeyUsage cli-auth 1.3: codeSign -> fail (soft)" \ - "$P_SRV debug_level=1 auth_mode=optional" \ + "$P_SRV debug_level=1 force_version=tls13 auth_mode=optional" \ "$O_NEXT_CLI_NO_CERT -key data_files/server5.key \ -cert data_files/server5.eku-cs.crt" \ 0 \ @@ -7780,6 +8134,7 @@ run_test "Small client packet TLS 1.2 AEAD shorter tag" \ 0 \ -s "Read from client: 1 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Small client packet TLS 1.3 AEAD" \ "$P_SRV force_version=tls13" \ "$P_CLI request_size=1 \ @@ -7787,6 +8142,7 @@ run_test "Small client packet TLS 1.3 AEAD" \ 0 \ -s "Read from client: 1 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Small client packet TLS 1.3 AEAD shorter tag" \ "$P_SRV force_version=tls13" \ "$P_CLI request_size=1 \ @@ -7844,12 +8200,14 @@ run_test "Small server packet TLS 1.2 AEAD shorter tag" \ 0 \ -c "Read from server: 1 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Small server packet TLS 1.3 AEAD" \ "$P_SRV response_size=1 force_version=tls13" \ "$P_CLI force_ciphersuite=TLS1-3-AES-128-CCM-SHA256" \ 0 \ -c "Read from server: 1 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Small server packet TLS 1.3 AEAD shorter tag" \ "$P_SRV response_size=1 force_version=tls13" \ "$P_CLI force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256" \ @@ -7920,6 +8278,7 @@ run_test "Large client packet TLS 1.2 AEAD shorter tag" \ -c "16384 bytes written in $(fragments_for_write 16384) fragments" \ -s "Read from client: $MAX_CONTENT_LEN bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Large client packet TLS 1.3 AEAD" \ "$P_SRV force_version=tls13" \ "$P_CLI request_size=16384 \ @@ -7928,6 +8287,7 @@ run_test "Large client packet TLS 1.3 AEAD" \ -c "16384 bytes written in $(fragments_for_write 16384) fragments" \ -s "Read from client: $MAX_CONTENT_LEN bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Large client packet TLS 1.3 AEAD shorter tag" \ "$P_SRV force_version=tls13" \ "$P_CLI request_size=16384 \ @@ -7975,12 +8335,14 @@ run_test "Large server packet TLS 1.2 AEAD shorter tag" \ 0 \ -c "Read from server: 16384 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Large server packet TLS 1.3 AEAD" \ "$P_SRV response_size=16384 force_version=tls13" \ "$P_CLI force_ciphersuite=TLS1-3-AES-128-CCM-SHA256" \ 0 \ -c "Read from server: 16384 bytes read" +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "Large server packet TLS 1.3 AEAD shorter tag" \ "$P_SRV response_size=16384 force_version=tls13" \ "$P_CLI force_ciphersuite=TLS1-3-AES-128-CCM-8-SHA256" \ @@ -8513,7 +8875,7 @@ run_test "SSL async private: renegotiation: server-initiated, decrypt" \ requires_config_enabled MBEDTLS_AES_C requires_config_enabled MBEDTLS_CIPHER_MODE_CBC -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_RSA_ENABLED requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "Force a non ECC ciphersuite in the client side" \ @@ -8527,7 +8889,7 @@ run_test "Force a non ECC ciphersuite in the client side" \ requires_config_enabled MBEDTLS_AES_C requires_config_enabled MBEDTLS_CIPHER_MODE_CBC -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_RSA_ENABLED requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "Force a non ECC ciphersuite in the server side" \ @@ -8539,7 +8901,7 @@ run_test "Force a non ECC ciphersuite in the server side" \ requires_config_enabled MBEDTLS_AES_C requires_config_enabled MBEDTLS_CIPHER_MODE_CBC -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "Force an ECC ciphersuite in the client side" \ @@ -8553,7 +8915,7 @@ run_test "Force an ECC ciphersuite in the client side" \ requires_config_enabled MBEDTLS_AES_C requires_config_enabled MBEDTLS_CIPHER_MODE_CBC -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "Force an ECC ciphersuite in the server side" \ @@ -9091,7 +9453,7 @@ run_test "DTLS fragmenting: both (MTU=1024)" \ requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_AES_C requires_config_enabled MBEDTLS_GCM_C @@ -9328,7 +9690,7 @@ not_with_valgrind # spurious autoreduction due to timeout requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_RENEGOTIATION requires_config_enabled MBEDTLS_CHACHAPOLY_C @@ -9361,7 +9723,7 @@ not_with_valgrind # spurious autoreduction due to timeout requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_RENEGOTIATION requires_config_enabled MBEDTLS_AES_C @@ -9395,7 +9757,7 @@ not_with_valgrind # spurious autoreduction due to timeout requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_RENEGOTIATION requires_config_enabled MBEDTLS_AES_C @@ -9429,7 +9791,7 @@ not_with_valgrind # spurious autoreduction due to timeout requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_RENEGOTIATION requires_config_enabled MBEDTLS_AES_C @@ -9464,7 +9826,7 @@ not_with_valgrind # spurious autoreduction due to timeout requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C -requires_config_enabled MBEDTLS_SHA256_C +requires_hash_alg SHA_256 requires_config_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED requires_config_enabled MBEDTLS_SSL_RENEGOTIATION requires_config_enabled MBEDTLS_AES_C @@ -9649,12 +10011,9 @@ run_test "DTLS fragmenting: 3d, gnutls client, DTLS 1.2" \ 0 \ -s "fragmenting handshake message" -## Interop test with OpenSSL might trigger a bug in recent versions (including -## all versions installed on the CI machines), reported here: -## Bug report: https://github.com/openssl/openssl/issues/6902 -## They should be re-enabled once a fixed version of OpenSSL is available -## (this should happen in some 1.1.1_ release according to the ticket). -skip_next_test +## The test below requires 1.1.1a or higher version of openssl, otherwise +## it might trigger a bug due to openssl server (https://github.com/openssl/openssl/issues/6902) +requires_openssl_next requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C requires_config_enabled MBEDTLS_ECDSA_C @@ -9662,7 +10021,7 @@ client_needs_more_time 4 requires_max_content_len 2048 run_test "DTLS fragmenting: 3d, openssl server, DTLS 1.2" \ -p "$P_PXY drop=8 delay=8 duplicate=8" \ - "$O_SRV -dtls1_2 -verify 10" \ + "$O_NEXT_SRV -dtls1_2 -verify 10" \ "$P_CLI dtls=1 debug_level=2 \ crt_file=data_files/server8_int-ca2.crt \ key_file=data_files/server8.key \ @@ -9671,6 +10030,8 @@ run_test "DTLS fragmenting: 3d, openssl server, DTLS 1.2" \ -c "fragmenting handshake message" \ -C "error" +## the test below will time out with certain seed. +## The cause is an openssl bug (https://github.com/openssl/openssl/issues/18887) skip_next_test requires_config_enabled MBEDTLS_SSL_PROTO_DTLS requires_config_enabled MBEDTLS_RSA_C @@ -10748,40 +11109,38 @@ run_test "DTLS proxy: 3d, min handshake, server-initiated renego, nbio" \ -s "Extra-header:" \ -c "HTTP/1.0 200 OK" -## Interop tests with OpenSSL might trigger a bug in recent versions (including -## all versions installed on the CI machines), reported here: -## Bug report: https://github.com/openssl/openssl/issues/6902 -## They should be re-enabled once a fixed version of OpenSSL is available -## (this should happen in some 1.1.1_ release according to the ticket). -skip_next_test +## The three tests below require 1.1.1a or higher version of openssl, otherwise +## it might trigger a bug due to openssl (https://github.com/openssl/openssl/issues/6902) +## Besides, openssl should use dtls1_2 or dtls, otherwise it will cause "SSL alert number 70" error +requires_openssl_next client_needs_more_time 6 not_with_valgrind # risk of non-mbedtls peer timing out requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "DTLS proxy: 3d, openssl server" \ -p "$P_PXY drop=5 delay=5 duplicate=5 protect_hvr=1" \ - "$O_SRV -dtls1 -mtu 2048" \ + "$O_NEXT_SRV -dtls1_2 -mtu 2048" \ "$P_CLI dgram_packing=0 dtls=1 hs_timeout=500-60000 tickets=0" \ 0 \ -c "HTTP/1.0 200 OK" -skip_next_test # see above +requires_openssl_next client_needs_more_time 8 not_with_valgrind # risk of non-mbedtls peer timing out requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "DTLS proxy: 3d, openssl server, fragmentation" \ -p "$P_PXY drop=5 delay=5 duplicate=5 protect_hvr=1" \ - "$O_SRV -dtls1 -mtu 768" \ + "$O_NEXT_SRV -dtls1_2 -mtu 768" \ "$P_CLI dgram_packing=0 dtls=1 hs_timeout=500-60000 tickets=0" \ 0 \ -c "HTTP/1.0 200 OK" -skip_next_test # see above +requires_openssl_next client_needs_more_time 8 not_with_valgrind # risk of non-mbedtls peer timing out requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 run_test "DTLS proxy: 3d, openssl server, fragmentation, nbio" \ -p "$P_PXY drop=5 delay=5 duplicate=5 protect_hvr=1" \ - "$O_SRV -dtls1 -mtu 768" \ + "$O_NEXT_SRV -dtls1_2 -mtu 768" \ "$P_CLI dgram_packing=0 dtls=1 hs_timeout=500-60000 nbio=2 tickets=0" \ 0 \ -c "HTTP/1.0 200 OK" @@ -10854,10 +11213,10 @@ run_test "TLS 1.3: Test gnutls tls1_3 feature" \ # TLS1.3 test cases requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: minimal feature sets - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=3" \ @@ -10887,10 +11246,10 @@ run_test "TLS 1.3: minimal feature sets - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: minimal feature sets - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=3" \ @@ -10920,11 +11279,11 @@ run_test "TLS 1.3: minimal feature sets - gnutls" \ -c "HTTP/1.0 200 OK" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_SSL_ALPN +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: alpn - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -alpn h2" \ "$P_CLI debug_level=3 alpn=h2" \ @@ -10955,11 +11314,11 @@ run_test "TLS 1.3: alpn - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_SSL_ALPN +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: alpn - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --disable-client-cert --alpn=h2" \ "$P_CLI debug_level=3 alpn=h2" \ @@ -10990,10 +11349,10 @@ run_test "TLS 1.3: alpn - gnutls" \ -c "Application Layer Protocol is h2" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_ALPN +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: server alpn - openssl" \ "$P_SRV debug_level=3 tickets=0 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 alpn=h2" \ "$O_NEXT_CLI -msg -tls1_3 -no_middlebox -alpn h2" \ @@ -11005,10 +11364,10 @@ run_test "TLS 1.3: server alpn - openssl" \ -s "Application Layer Protocol is h2" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_ALPN +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: server alpn - gnutls" \ "$P_SRV debug_level=3 tickets=0 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 alpn=h2" \ "$G_NEXT_CLI localhost -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V --alpn h2" \ @@ -11102,10 +11461,10 @@ run_test "TLS 1.3: Not supported version check:openssl: srv max TLS 1.2" \ -C "Protocol : TLSv1.2" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, no client certificate - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -verify 10" \ "$P_CLI debug_level=4 crt_file=none key_file=none" \ @@ -11118,10 +11477,10 @@ run_test "TLS 1.3: Client authentication, no client certificate - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, no client certificate - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --verify-client-cert" \ "$P_CLI debug_level=3 crt_file=none key_file=none" \ @@ -11134,9 +11493,9 @@ run_test "TLS 1.3: Client authentication, no client certificate - gnutls" \ requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, no server middlebox compat - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10 -no_middlebox" \ "$P_CLI debug_level=4 crt_file=data_files/cli2.crt key_file=data_files/cli2.key" \ @@ -11148,9 +11507,9 @@ run_test "TLS 1.3: Client authentication, no server middlebox compat - openss requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, no server middlebox compat - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE" \ "$P_CLI debug_level=3 crt_file=data_files/cli2.crt \ @@ -11162,10 +11521,10 @@ run_test "TLS 1.3: Client authentication, no server middlebox compat - gnutls -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp256r1_sha256 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp256r1.crt \ @@ -11178,10 +11537,10 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp256r1_sha256 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp256r1_sha256 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp256r1.crt \ @@ -11193,10 +11552,10 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp256r1_sha256 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp384r1_sha384 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp384r1.crt \ @@ -11209,10 +11568,10 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp384r1_sha384 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp384r1_sha384 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp384r1.crt \ @@ -11224,10 +11583,10 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp384r1_sha384 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp521r1_sha512 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11240,10 +11599,10 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp521r1_sha512 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, ecdsa_secp521r1_sha512 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11255,11 +11614,11 @@ run_test "TLS 1.3: Client authentication, ecdsa_secp521r1_sha512 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha256 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/cert_sha256.crt \ @@ -11272,11 +11631,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha256 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha256 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/server2-sha256.crt \ @@ -11288,11 +11647,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha256 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha384 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 force_version=tls13 crt_file=data_files/cert_sha256.crt \ @@ -11305,11 +11664,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha384 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha384 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 force_version=tls13 crt_file=data_files/server2-sha256.crt \ @@ -11321,11 +11680,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha384 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha512 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 force_version=tls13 crt_file=data_files/cert_sha256.crt \ @@ -11338,11 +11697,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha512 - openssl" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha512 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 force_version=tls13 crt_file=data_files/server2-sha256.crt \ @@ -11354,11 +11713,11 @@ run_test "TLS 1.3: Client authentication, rsa_pss_rsae_sha512 - gnutls" \ -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, client alg not in server list - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10 -sigalgs ecdsa_secp256r1_sha256" \ @@ -11368,16 +11727,16 @@ run_test "TLS 1.3: Client authentication, client alg not in server list - ope -c "got a certificate request" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY" \ - -c "signature algorithm not in received or offered list." \ + -c "no suitable signature algorithm" \ -C "unknown pk type" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication, client alg not in server list - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11386,15 +11745,15 @@ run_test "TLS 1.3: Client authentication, client alg not in server list - gnu -c "got a certificate request" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY" \ - -c "signature algorithm not in received or offered list." \ + -c "no suitable signature algorithm" \ -C "unknown pk type" # Test using an opaque private key for client authentication requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, no server middlebox compat - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10 -no_middlebox" \ "$P_CLI debug_level=4 crt_file=data_files/cli2.crt key_file=data_files/cli2.key key_opaque=1" \ @@ -11406,10 +11765,10 @@ run_test "TLS 1.3: Client authentication - opaque key, no server middlebox co requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, no server middlebox compat - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE" \ "$P_CLI debug_level=3 crt_file=data_files/cli2.crt \ @@ -11421,11 +11780,11 @@ run_test "TLS 1.3: Client authentication - opaque key, no server middlebox co -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp256r1_sha256 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp256r1.crt \ @@ -11438,11 +11797,11 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp256r1_sha256 requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp256r1_sha256 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp256r1.crt \ @@ -11454,11 +11813,11 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp256r1_sha256 -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp384r1_sha384 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp384r1.crt \ @@ -11471,11 +11830,11 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp384r1_sha384 requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp384r1_sha384 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp384r1.crt \ @@ -11487,11 +11846,11 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp384r1_sha384 -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp521r1_sha512 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11504,11 +11863,11 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp521r1_sha512 requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp521r1_sha512 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11520,12 +11879,12 @@ run_test "TLS 1.3: Client authentication - opaque key, ecdsa_secp521r1_sha512 -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha256 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 crt_file=data_files/cert_sha256.crt \ @@ -11538,12 +11897,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha256 - requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha256 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/server2-sha256.crt \ @@ -11555,12 +11914,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha256 - -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha384 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 force_version=tls13 crt_file=data_files/cert_sha256.crt \ @@ -11573,12 +11932,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha384 - requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha384 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 force_version=tls13 crt_file=data_files/server2-sha256.crt \ @@ -11590,12 +11949,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha384 - -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha512 - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10" \ "$P_CLI debug_level=4 force_version=tls13 crt_file=data_files/cert_sha256.crt \ @@ -11608,12 +11967,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha512 - requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha512 - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS" \ "$P_CLI debug_level=3 force_version=tls13 crt_file=data_files/server2-sha256.crt \ @@ -11625,12 +11984,12 @@ run_test "TLS 1.3: Client authentication - opaque key, rsa_pss_rsae_sha512 - -c "Protocol is TLSv1.3" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, client alg not in server list - openssl" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache -Verify 10 -sigalgs ecdsa_secp256r1_sha256" \ @@ -11640,17 +11999,17 @@ run_test "TLS 1.3: Client authentication - opaque key, client alg not in serv -c "got a certificate request" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY" \ - -c "signature algorithm not in received or offered list." \ + -c "no suitable signature algorithm" \ -C "unkown pk type" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_RSA_C -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_USE_PSA_CRYPTO +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Client authentication - opaque key, client alg not in server list - gnutls" \ "$G_NEXT_SRV --debug=4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:-SIGN-ALL:+SIGN-ECDSA-SECP256R1-SHA256:%NO_TICKETS" \ "$P_CLI debug_level=3 crt_file=data_files/ecdsa_secp521r1.crt \ @@ -11659,14 +12018,14 @@ run_test "TLS 1.3: Client authentication - opaque key, client alg not in serv -c "got a certificate request" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE" \ -c "client state: MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY" \ - -c "signature algorithm not in received or offered list." \ + -c "no suitable signature algorithm" \ -C "unkown pk type" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_openssl_tls1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_128_GCM_SHA256 - openssl" \ "$O_NEXT_SRV -ciphersuites TLS_AES_128_GCM_SHA256 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4" \ @@ -11677,11 +12036,11 @@ run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_128_GCM_SHA256 - openssl" \ -c "Protocol is TLSv1.3" \ -c "HTTP/1.0 200 ok" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE +requires_openssl_tls1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C -requires_openssl_tls1_3 +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_256_GCM_SHA384 - openssl" \ "$O_NEXT_SRV -ciphersuites TLS_AES_256_GCM_SHA384 -sigalgs ecdsa_secp256r1_sha256 -groups P-256 -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4" \ @@ -11692,12 +12051,12 @@ run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_256_GCM_SHA384 - openssl" \ -c "Protocol is TLSv1.3" \ -c "HTTP/1.0 200 ok" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_128_GCM_SHA256 - gnutls" \ "$G_NEXT_SRV -d 4 --priority=NONE:+GROUP-SECP256R1:+AES-128-GCM:+SHA256:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+VERS-TLS1.3:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4" \ @@ -11708,12 +12067,12 @@ run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_128_GCM_SHA256 - gnutls" \ -c "Protocol is TLSv1.3" \ -c "HTTP/1.0 200 OK" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_256_GCM_SHA384 - gnutls" \ "$G_NEXT_SRV -d 4 --priority=NONE:+GROUP-SECP256R1:+AES-256-GCM:+SHA384:+AEAD:+SIGN-ECDSA-SECP256R1-SHA256:+VERS-TLS1.3:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4" \ @@ -11725,9 +12084,9 @@ run_test "TLS 1.3: HRR check, ciphersuite TLS_AES_256_GCM_SHA384 - gnutls" \ -c "HTTP/1.0 200 OK" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - openssl" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$O_NEXT_CLI -msg -debug -tls1_3 -no_middlebox" \ @@ -11741,10 +12100,10 @@ run_test "TLS 1.3: Server side check - openssl" \ -s "tls13 server state: MBEDTLS_SSL_CLIENT_FINISHED" \ -s "tls13 server state: MBEDTLS_SSL_HANDSHAKE_WRAPUP" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_openssl_tls1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C -requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - openssl with client authentication" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$O_NEXT_CLI -msg -debug -cert data_files/server5.crt -key data_files/server5.key -tls1_3 -no_middlebox" \ @@ -11762,9 +12121,9 @@ run_test "TLS 1.3: Server side check - openssl with client authentication" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - gnutls" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$G_NEXT_CLI localhost -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -11781,9 +12140,9 @@ run_test "TLS 1.3: Server side check - gnutls" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - gnutls with client authentication" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$G_NEXT_CLI localhost -d 4 --x509certfile data_files/server5.crt --x509keyfile data_files/server5.key --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -11799,10 +12158,10 @@ run_test "TLS 1.3: Server side check - gnutls with client authentication" \ -s "=> parse client hello" \ -s "<= parse client hello" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - mbedtls" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$P_CLI debug_level=4 force_version=tls13" \ @@ -11818,10 +12177,10 @@ run_test "TLS 1.3: Server side check - mbedtls" \ -s "tls13 server state: MBEDTLS_SSL_HANDSHAKE_WRAPUP" \ -c "HTTP/1.0 200 OK" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - mbedtls with client authentication" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$P_CLI debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13" \ @@ -11835,10 +12194,10 @@ run_test "TLS 1.3: Server side check - mbedtls with client authentication" \ -s "=> parse client hello" \ -s "<= parse client hello" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - mbedtls with client empty certificate" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$P_CLI debug_level=4 crt_file=none key_file=none force_version=tls13" \ @@ -11853,10 +12212,10 @@ run_test "TLS 1.3: Server side check - mbedtls with client empty certificate" -s "=> parse client hello" \ -s "<= parse client hello" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - mbedtls with optional client authentication" \ "$P_SRV debug_level=4 auth_mode=optional crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$P_CLI debug_level=4 force_version=tls13 crt_file=none key_file=none" \ @@ -11873,7 +12232,7 @@ run_test "TLS 1.3: Server side check - mbedtls with optional client authentic requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C requires_config_enabled MBEDTLS_SSL_SRV_C -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: server: HRR check - mbedtls" \ "$P_SRV debug_level=4 force_version=tls13 curves=secp384r1" \ "$P_CLI debug_level=4 force_version=tls13 curves=secp256r1,secp384r1" \ @@ -11887,10 +12246,10 @@ run_test "TLS 1.3: server: HRR check - mbedtls" \ -s "=> write hello retry request" \ -s "<= write hello retry request" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check, no server certificate available" \ "$P_SRV debug_level=4 crt_file=none key_file=none force_version=tls13" \ "$P_CLI debug_level=4 force_version=tls13" \ @@ -11899,10 +12258,10 @@ run_test "TLS 1.3: Server side check, no server certificate available" \ -s "No certificate available." requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - openssl with sni" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0 \ sni=localhost,data_files/server5.crt,data_files/server5.key,data_files/test-ca_cat12.crt,-,-,polarssl.example,data_files/server1-nospace.crt,data_files/server1.key,-,-,-" \ @@ -11912,10 +12271,10 @@ run_test "TLS 1.3: Server side check - openssl with sni" \ -s "HTTP/1.0 200 OK" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - gnutls with sni" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0 \ sni=localhost,data_files/server5.crt,data_files/server5.key,data_files/test-ca_cat12.crt,-,-,polarssl.example,data_files/server1-nospace.crt,data_files/server1.key,-,-,-" \ @@ -11924,11 +12283,11 @@ run_test "TLS 1.3: Server side check - gnutls with sni" \ -s "parse ServerName extension" \ -s "HTTP/1.0 200 OK" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Server side check - mbedtls with sni" \ "$P_SRV debug_level=4 auth_mode=required crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0 \ sni=localhost,data_files/server2.crt,data_files/server2.key,-,-,-,polarssl.example,data_files/server1-nospace.crt,data_files/server1.key,-,-,-" \ @@ -11947,11 +12306,11 @@ done unset TEST_SUITE_NAME # Test 1.3 compatibility mode -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->m both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 force_version=tls13 tickets=0" \ "$P_CLI debug_level=4" \ @@ -11961,11 +12320,11 @@ run_test "TLS 1.3 m->m both peers do not support middlebox compatibility" \ -S "tls13 server state: MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO" \ -C "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->m both with middlebox compat support" \ "$P_SRV debug_level=4 force_version=tls13 tickets=0" \ "$P_CLI debug_level=4" \ @@ -11976,10 +12335,10 @@ run_test "TLS 1.3 m->m both with middlebox compat support" \ -c "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O both peers do not support middlebox compatibility" \ "$O_NEXT_SRV -msg -tls1_3 -no_middlebox -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4" \ @@ -11989,10 +12348,10 @@ run_test "TLS 1.3 m->O both peers do not support middlebox compatibility" \ -C "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O server with middlebox compat support, not client" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4" \ @@ -12000,10 +12359,10 @@ run_test "TLS 1.3 m->O server with middlebox compat support, not client" \ -c "ChangeCipherSpec invalid in TLS 1.3 without compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O both with middlebox compat support" \ "$O_NEXT_SRV -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4" \ @@ -12014,10 +12373,10 @@ run_test "TLS 1.3 m->O both with middlebox compat support" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G both peers do not support middlebox compatibility" \ "$G_NEXT_SRV --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE --disable-client-cert" \ "$P_CLI debug_level=4" \ @@ -12028,10 +12387,10 @@ run_test "TLS 1.3 m->G both peers do not support middlebox compatibility" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G server with middlebox compat support, not client" \ "$G_NEXT_SRV --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4" \ @@ -12040,10 +12399,10 @@ run_test "TLS 1.3 m->G server with middlebox compat support, not client" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G both with middlebox compat support" \ "$G_NEXT_SRV --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4" \ @@ -12052,10 +12411,10 @@ run_test "TLS 1.3 m->G both with middlebox compat support" \ -c "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$O_NEXT_CLI -msg -debug -no_middlebox" \ @@ -12065,10 +12424,10 @@ run_test "TLS 1.3 O->m both peers do not support middlebox compatibility" \ -C "14 03 03 00 01" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m server with middlebox compat support, not client" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$O_NEXT_CLI -msg -debug -no_middlebox" \ @@ -12077,10 +12436,10 @@ run_test "TLS 1.3 O->m server with middlebox compat support, not client" \ -s "tls13 server state: MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m both with middlebox compat support" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$O_NEXT_CLI -msg -debug" \ @@ -12092,10 +12451,10 @@ run_test "TLS 1.3 O->m both with middlebox compat support" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$G_NEXT_CLI localhost --priority=NORMAL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12107,10 +12466,10 @@ run_test "TLS 1.3 G->m both peers do not support middlebox compatibility" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m server with middlebox compat support, not client" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$G_NEXT_CLI localhost --debug=10 --priority=NORMAL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12123,10 +12482,10 @@ run_test "TLS 1.3 G->m server with middlebox compat support, not client" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m both with middlebox compat support" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=0" \ "$G_NEXT_CLI localhost --debug=10 --priority=NORMAL:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12135,11 +12494,11 @@ run_test "TLS 1.3 G->m both with middlebox compat support" \ -s "tls13 server state: MBEDTLS_SSL_SERVER_CCS_AFTER_SERVER_HELLO" \ -c "SSL 3.3 ChangeCipherSpec packet received" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->m HRR both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 force_version=tls13 curves=secp384r1 tickets=0" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12150,11 +12509,11 @@ run_test "TLS 1.3 m->m HRR both peers do not support middlebox compatibility" -S "tls13 server state: MBEDTLS_SSL_SERVER_CCS_AFTER_HELLO_RETRY_REQUEST" \ -C "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->m HRR both with middlebox compat support" \ "$P_SRV debug_level=4 force_version=tls13 curves=secp384r1 tickets=0" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12166,10 +12525,10 @@ run_test "TLS 1.3 m->m HRR both with middlebox compat support" \ -c "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O HRR both peers do not support middlebox compatibility" \ "$O_NEXT_SRV -msg -tls1_3 -groups P-384 -no_middlebox -num_tickets 0 -no_cache" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12180,10 +12539,10 @@ run_test "TLS 1.3 m->O HRR both peers do not support middlebox compatibility" -C "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O HRR server with middlebox compat support, not client" \ "$O_NEXT_SRV -msg -tls1_3 -groups P-384 -num_tickets 0 -no_cache" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12192,10 +12551,10 @@ run_test "TLS 1.3 m->O HRR server with middlebox compat support, not client" -c "ChangeCipherSpec invalid in TLS 1.3 without compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->O HRR both with middlebox compat support" \ "$O_NEXT_SRV -msg -tls1_3 -groups P-384 -num_tickets 0 -no_resume_ephemeral -no_cache" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12206,10 +12565,10 @@ run_test "TLS 1.3 m->O HRR both with middlebox compat support" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G HRR both peers do not support middlebox compatibility" \ "$G_NEXT_SRV --priority=NORMAL:-GROUP-ALL:+GROUP-SECP384R1:-VERS-ALL:+VERS-TLS1.3:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE --disable-client-cert" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12221,10 +12580,10 @@ run_test "TLS 1.3 m->G HRR both peers do not support middlebox compatibility" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G HRR server with middlebox compat support, not client" \ "$G_NEXT_SRV --priority=NORMAL:-GROUP-ALL:+GROUP-SECP384R1:-VERS-ALL:+VERS-TLS1.3:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12234,10 +12593,10 @@ run_test "TLS 1.3 m->G HRR server with middlebox compat support, not client" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 m->G HRR both with middlebox compat support" \ "$G_NEXT_SRV --priority=NORMAL:-GROUP-ALL:+GROUP-SECP384R1:-VERS-ALL:+VERS-TLS1.3:+CIPHER-ALL:%NO_TICKETS --disable-client-cert" \ "$P_CLI debug_level=4 curves=secp256r1,secp384r1" \ @@ -12246,10 +12605,10 @@ run_test "TLS 1.3 m->G HRR both with middlebox compat support" \ -c "Ignore ChangeCipherSpec in TLS 1.3 compatibility mode" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m HRR both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$O_NEXT_CLI -msg -debug -groups P-256:P-384 -no_middlebox" \ @@ -12259,10 +12618,10 @@ run_test "TLS 1.3 O->m HRR both peers do not support middlebox compatibility" -C "14 03 03 00 01" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m HRR server with middlebox compat support, not client" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$O_NEXT_CLI -msg -debug -groups P-256:P-384 -no_middlebox" \ @@ -12271,10 +12630,10 @@ run_test "TLS 1.3 O->m HRR server with middlebox compat support, not client" -s "tls13 server state: MBEDTLS_SSL_SERVER_CCS_AFTER_HELLO_RETRY_REQUEST" \ requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 O->m HRR both with middlebox compat support" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$O_NEXT_CLI -msg -debug -groups P-256:P-384" \ @@ -12286,10 +12645,10 @@ run_test "TLS 1.3 O->m HRR both with middlebox compat support" \ requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 requires_config_disabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m HRR both peers do not support middlebox compatibility" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$G_NEXT_CLI localhost --priority=NORMAL:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12301,10 +12660,10 @@ run_test "TLS 1.3 G->m HRR both peers do not support middlebox compatibility" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m HRR server with middlebox compat support, not client" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$G_NEXT_CLI localhost --debug=10 --priority=NORMAL:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12317,10 +12676,10 @@ run_test "TLS 1.3 G->m HRR server with middlebox compat support, not client" requires_gnutls_tls1_3 requires_gnutls_next_no_ticket requires_gnutls_next_disable_tls13_compat -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3 G->m HRR both with middlebox compat support" \ "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 curves=secp384r1 tickets=0" \ "$G_NEXT_CLI localhost --debug=10 --priority=NORMAL:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1:%NO_TICKETS:%DISABLE_TLS13_COMPAT_MODE -V" \ @@ -12330,10 +12689,10 @@ run_test "TLS 1.3 G->m HRR both with middlebox compat support" \ -c "SSL 3.3 ChangeCipherSpec packet received" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check signature algorithm order, m->O" \ "$O_NEXT_SRV_NO_CERT -cert data_files/server2-sha256.crt -key data_files/server2.key -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache @@ -12342,14 +12701,14 @@ run_test "TLS 1.3: Check signature algorithm order, m->O" \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 0 \ -c "Protocol is TLSv1.3" \ - -c "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ + -c "CertificateVerify signature with rsa_pss_rsae_sha512" \ -c "HTTP/1.0 200 [Oo][Kk]" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check signature algorithm order, m->G" \ "$G_NEXT_SRV_NO_CERT --x509certfile data_files/server2-sha256.crt --x509keyfile data_files/server2.key -d 4 @@ -12358,14 +12717,14 @@ run_test "TLS 1.3: Check signature algorithm order, m->G" \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 0 \ -c "Protocol is TLSv1.3" \ - -c "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ + -c "CertificateVerify signature with rsa_pss_rsae_sha512" \ -c "HTTP/1.0 200 [Oo][Kk]" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check signature algorithm order, m->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12375,16 +12734,16 @@ run_test "TLS 1.3: Check signature algorithm order, m->m" \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 0 \ -c "Protocol is TLSv1.3" \ - -c "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ - -s "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ + -c "CertificateVerify signature with rsa_pss_rsae_sha512" \ + -s "CertificateVerify signature with rsa_pss_rsae_sha512" \ -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" \ -c "HTTP/1.0 200 [Oo][Kk]" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check signature algorithm order, O->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12395,14 +12754,14 @@ run_test "TLS 1.3: Check signature algorithm order, O->m" \ -sigalgs rsa_pkcs1_sha512:rsa_pss_rsae_sha512:rsa_pss_rsae_sha384:ecdsa_secp256r1_sha256" \ 0 \ -c "TLSv1.3" \ - -s "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ + -s "CertificateVerify signature with rsa_pss_rsae_sha512" \ -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check signature algorithm order, G->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12414,14 +12773,14 @@ run_test "TLS 1.3: Check signature algorithm order, G->m" \ 0 \ -c "Negotiated version: 3.4" \ -c "HTTP/1.0 200 [Oo][Kk]" \ - -s "select_sig_alg_for_certificate_verify:selected signature algorithm rsa_pss_rsae_sha512" \ + -s "CertificateVerify signature with rsa_pss_rsae_sha512" \ -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable signature algorithm, G->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12431,14 +12790,13 @@ run_test "TLS 1.3: Check server no suitable signature algorithm, G->m" \ --x509certfile data_files/server2-sha256.crt --x509keyfile data_files/server2.key \ --priority=NORMAL:-SIGN-ALL:+SIGN-RSA-SHA512:+SIGN-RSA-PSS-RSAE-SHA512:+SIGN-ECDSA-SECP521R1-SHA512" \ 1 \ - -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" \ - -s "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -S "ssl_tls13_pick_key_cert:check signature algorithm" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable signature algorithm, O->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12448,14 +12806,13 @@ run_test "TLS 1.3: Check server no suitable signature algorithm, O->m" \ -cert data_files/server2-sha256.crt -key data_files/server2.key \ -sigalgs rsa_pkcs1_sha512:rsa_pss_rsae_sha512:ecdsa_secp521r1_sha512" \ 1 \ - -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" \ - -s "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -S "ssl_tls13_pick_key_cert:check signature algorithm" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable signature algorithm, m->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12464,14 +12821,13 @@ run_test "TLS 1.3: Check server no suitable signature algorithm, m->m" \ "$P_CLI allow_sha1=0 debug_level=4 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,ecdsa_secp521r1_sha512" \ 1 \ - -s "ssl_tls13_pick_key_cert:selected signature algorithm rsa_pss_rsae_sha512" \ - -s "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -S "ssl_tls13_pick_key_cert:check signature algorithm" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable certificate, G->m" \ "$P_SRV debug_level=4 force_version=tls13 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key @@ -12482,10 +12838,10 @@ run_test "TLS 1.3: Check server no suitable certificate, G->m" \ -s "ssl_tls13_pick_key_cert:no suitable certificate found" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable certificate, O->m" \ "$P_SRV debug_level=4 force_version=tls13 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key @@ -12495,11 +12851,11 @@ run_test "TLS 1.3: Check server no suitable certificate, O->m" \ 1 \ -s "ssl_tls13_pick_key_cert:no suitable certificate found" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check server no suitable certificate, m->m" \ "$P_SRV debug_level=4 force_version=tls13 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key @@ -12510,10 +12866,10 @@ run_test "TLS 1.3: Check server no suitable certificate, m->m" \ -s "ssl_tls13_pick_key_cert:no suitable certificate found" requires_openssl_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check client no signature algorithm, m->O" \ "$O_NEXT_SRV_NO_CERT -cert data_files/server2-sha256.crt -key data_files/server2.key -msg -tls1_3 -num_tickets 0 -no_resume_ephemeral -no_cache @@ -12521,13 +12877,13 @@ run_test "TLS 1.3: Check client no signature algorithm, m->O" \ "$P_CLI debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 1 \ - -c "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -c "no suitable signature algorithm" requires_gnutls_tls1_3 -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check client no signature algorithm, m->G" \ "$G_NEXT_SRV_NO_CERT --x509certfile data_files/server2-sha256.crt --x509keyfile data_files/server2.key -d 4 @@ -12535,13 +12891,13 @@ run_test "TLS 1.3: Check client no signature algorithm, m->G" \ "$P_CLI debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 1 \ - -c "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -c "no suitable signature algorithm" -requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3 -requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE requires_config_enabled MBEDTLS_DEBUG_C requires_config_enabled MBEDTLS_SSL_SRV_C requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED run_test "TLS 1.3: Check client no signature algorithm, m->m" \ "$P_SRV debug_level=4 force_version=tls13 auth_mode=required crt_file2=data_files/server2-sha256.crt key_file2=data_files/server2.key @@ -12550,7 +12906,177 @@ run_test "TLS 1.3: Check client no signature algorithm, m->m" \ "$P_CLI debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key \ sig_algs=rsa_pkcs1_sha512,rsa_pss_rsae_sha512,rsa_pss_rsae_sha384,ecdsa_secp256r1_sha256" \ 1 \ - -c "select_sig_alg_for_certificate_verify:no suitable signature algorithm found" + -c "no suitable signature algorithm" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: Basic check, m->O" \ + "$O_NEXT_SRV -msg -tls1_3 -no_resume_ephemeral -no_cache --num_tickets 4" \ + "$P_CLI debug_level=1 reco_mode=1 reconnect=1" \ + 0 \ + -c "Protocol is TLSv1.3" \ + -c "got new session ticket." \ + -c "Saving session for reuse... ok" \ + -c "Reconnecting with saved session" \ + -c "HTTP/1.0 200 ok" + +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: Basic check, m->G" \ + "$G_NEXT_SRV -d 10 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3 --disable-client-cert" \ + "$P_CLI debug_level=1 reco_mode=1 reconnect=1" \ + 0 \ + -c "Protocol is TLSv1.3" \ + -c "got new session ticket." \ + -c "Saving session for reuse... ok" \ + -c "Reconnecting with saved session" \ + -c "HTTP/1.0 200 OK" \ + -s "This is a resumed session" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_SESSION_TICKETS +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +# https://github.com/openssl/openssl/issues/10714 +# Until now, OpenSSL client does not support reconnect. +skip_next_test +run_test "TLS 1.3: NewSessionTicket: Basic check, O->m" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=4" \ + "$O_NEXT_CLI -msg -debug -tls1_3 -reconnect" \ + 0 \ + -s "=> write NewSessionTicket msg" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH" + +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_SESSION_TICKETS +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: Basic check, G->m" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=4" \ + "$G_NEXT_CLI localhost -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3 -V -r" \ + 0 \ + -c "Connecting again- trying to resume previous session" \ + -c "NEW SESSION TICKET (4) was received" \ + -s "=> write NewSessionTicket msg" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH" \ + -s "key exchange mode: ephemeral" \ + -s "key exchange mode: psk_ephemeral" \ + -s "found pre_shared_key extension" + +requires_config_enabled MBEDTLS_SSL_SESSION_TICKETS +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: Basic check, m->m" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=4" \ + "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \ + 0 \ + -c "Protocol is TLSv1.3" \ + -c "got new session ticket ( 3 )" \ + -c "Saving session for reuse... ok" \ + -c "Reconnecting with saved session" \ + -c "HTTP/1.0 200 OK" \ + -s "=> write NewSessionTicket msg" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH" \ + -s "key exchange mode: ephemeral" \ + -s "key exchange mode: psk_ephemeral" \ + -s "found pre_shared_key extension" + +requires_openssl_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +run_test "TLS 1.2: Check rsa_pss_rsae compatibility issue, m->O" \ + "$O_NEXT_SRV_NO_CERT -cert data_files/server2-sha256.crt -key data_files/server2.key + -msg -tls1_2 + -Verify 10 " \ + "$P_CLI debug_level=4 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key + sig_algs=rsa_pss_rsae_sha512,rsa_pkcs1_sha512 + min_version=tls12 max_version=tls13 " \ + 0 \ + -c "Protocol is TLSv1.2" \ + -c "HTTP/1.0 200 [Oo][Kk]" + + +requires_gnutls_tls1_3 +requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 +requires_config_enabled MBEDTLS_DEBUG_C +requires_config_enabled MBEDTLS_SSL_CLI_C +run_test "TLS 1.2: Check rsa_pss_rsae compatibility issue, m->G" \ + "$G_NEXT_SRV_NO_CERT --x509certfile data_files/server2-sha256.crt --x509keyfile data_files/server2.key + -d 4 + --priority=NORMAL:-VERS-ALL:+VERS-TLS1.2" \ + "$P_CLI debug_level=4 crt_file=data_files/server2-sha256.crt key_file=data_files/server2.key + sig_algs=rsa_pss_rsae_sha512,rsa_pkcs1_sha512 + min_version=tls12 max_version=tls13 " \ + 0 \ + -c "Protocol is TLSv1.2" \ + -c "HTTP/1.0 200 [Oo][Kk]" + +requires_config_enabled MBEDTLS_SSL_SESSION_TICKETS +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: servername check, m->m" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=4 \ + sni=localhost,data_files/server2.crt,data_files/server2.key,-,-,-,polarssl.example,data_files/server1-nospace.crt,data_files/server1.key,-,-,-" \ + "$P_CLI debug_level=4 server_name=localhost reco_mode=1 reconnect=1" \ + 0 \ + -c "Protocol is TLSv1.3" \ + -c "got new session ticket." \ + -c "Saving session for reuse... ok" \ + -c "Reconnecting with saved session" \ + -c "HTTP/1.0 200 OK" \ + -s "=> write NewSessionTicket msg" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH" \ + -s "key exchange mode: ephemeral" \ + -s "key exchange mode: psk_ephemeral" \ + -s "found pre_shared_key extension" + +requires_config_enabled MBEDTLS_SSL_SESSION_TICKETS +requires_config_enabled MBEDTLS_SSL_SRV_C +requires_config_enabled MBEDTLS_SSL_CLI_C +requires_config_enabled MBEDTLS_DEBUG_C +requires_all_configs_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED \ + MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED +run_test "TLS 1.3: NewSessionTicket: servername negative check, m->m" \ + "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=4 \ + sni=localhost,data_files/server2.crt,data_files/server2.key,-,-,-,polarssl.example,data_files/server1-nospace.crt,data_files/server1.key,-,-,-" \ + "$P_CLI debug_level=4 server_name=localhost reco_server_name=remote reco_mode=1 reconnect=1" \ + 1 \ + -c "Protocol is TLSv1.3" \ + -c "got new session ticket." \ + -c "Saving session for reuse... ok" \ + -c "Reconnecting with saved session" \ + -c "Hostname mismatch the session ticket, disable session resumption." \ + -s "=> write NewSessionTicket msg" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET" \ + -s "server state: MBEDTLS_SSL_TLS1_3_NEW_SESSION_TICKET_FLUSH" # Test heap memory usage after handshake requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2 diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function index a620178f61..fe33f9bf9b 100644 --- a/tests/suites/helpers.function +++ b/tests/suites/helpers.function @@ -12,20 +12,7 @@ #if defined (MBEDTLS_ERROR_C) #include "mbedtls/error.h" #endif -#if defined(MBEDTLS_PLATFORM_C) #include "mbedtls/platform.h" -#else -#include -#define mbedtls_fprintf fprintf -#define mbedtls_snprintf snprintf -#define mbedtls_calloc calloc -#define mbedtls_free free -#define mbedtls_exit exit -#define mbedtls_time time -#define mbedtls_time_t time_t -#define MBEDTLS_EXIT_SUCCESS EXIT_SUCCESS -#define MBEDTLS_EXIT_FAILURE EXIT_FAILURE -#endif #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) #include "mbedtls/memory_buffer_alloc.h" @@ -52,13 +39,6 @@ typedef UINT32 uint32_t; #include #endif -/* Type for Hex parameters */ -typedef struct data_tag -{ - uint8_t * x; - uint32_t len; -} data_t; - /*----------------------------------------------------------------------------*/ /* Status and error constants */ diff --git a/tests/suites/host_test.function b/tests/suites/host_test.function index b9ea3d6dc6..bb06822836 100644 --- a/tests/suites/host_test.function +++ b/tests/suites/host_test.function @@ -590,6 +590,7 @@ int execute_tests( int argc , const char ** argv ) */ test_files = &argv[ arg_index ]; testfile_count = argc - arg_index; + break; } arg_index++; diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function index e016865348..48003d4f27 100644 --- a/tests/suites/main_test.function +++ b/tests/suites/main_test.function @@ -3,17 +3,17 @@ * *** THIS FILE HAS BEEN MACHINE GENERATED *** * * This file has been machine generated using the script: - * $generator_script + * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT * - * Test file : $test_file + * Test file : __MBEDTLS_TEST_TEMPLATE__TEST_FILE * * The following files were used to create this file. * - * Main code file : $test_main_file - * Platform code file : $test_platform_file - * Helper file : $test_common_helper_file - * Test suite file : $test_case_file - * Test suite data : $test_case_data_file + * Main code file : __MBEDTLS_TEST_TEMPLATE__TEST_MAIN_FILE + * Platform code file : __MBEDTLS_TEST_TEMPLATE__TEST_PLATFORM_FILE + * Helper file : __MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPER_FILE + * Test suite file : __MBEDTLS_TEST_TEMPLATE__TEST_CASE_FILE + * Test suite data : __MBEDTLS_TEST_TEMPLATE__TEST_CASE_DATA_FILE * */ @@ -37,9 +37,9 @@ /*----------------------------------------------------------------------------*/ /* Common helper code */ -$test_common_helpers +__MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPERS -#line $line_no "suites/main_test.function" +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" /*----------------------------------------------------------------------------*/ @@ -48,9 +48,9 @@ $test_common_helpers #define TEST_SUITE_ACTIVE -$functions_code +__MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE -#line $line_no "suites/main_test.function" +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" /*----------------------------------------------------------------------------*/ @@ -62,7 +62,7 @@ $functions_code * For optimizing space for embedded targets each expression/macro * is identified by a unique identifier instead of string literals. * Identifiers and evaluation code is generated by script: - * $generator_script + * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT * * \param exp_id Expression identifier. * \param out_value Pointer to int to hold the integer. @@ -78,8 +78,8 @@ int get_expression( int32_t exp_id, int32_t * out_value ) switch( exp_id ) { -$expression_code -#line $line_no "suites/main_test.function" +__MBEDTLS_TEST_TEMPLATE__EXPRESSION_CODE +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" default: { ret = KEY_VALUE_MAPPING_NOT_FOUND; @@ -95,7 +95,7 @@ $expression_code * For optimizing space for embedded targets each dependency * is identified by a unique identifier instead of string literals. * Identifiers and check code is generated by script: - * $generator_script + * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT * * \param dep_id Dependency identifier. * @@ -109,8 +109,8 @@ int dep_check( int dep_id ) switch( dep_id ) { -$dep_check_code -#line $line_no "suites/main_test.function" +__MBEDTLS_TEST_TEMPLATE__DEP_CHECK_CODE +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" default: break; } @@ -137,13 +137,13 @@ typedef void (*TestWrapper_t)( void **param_array ); /** * \brief Table of test function wrappers. Used by dispatch_test(). * This table is populated by script: - * $generator_script + * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT * */ TestWrapper_t test_funcs[] = { -$dispatch_code -#line $line_no "suites/main_test.function" +__MBEDTLS_TEST_TEMPLATE__DISPATCH_CODE +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" }; /** @@ -219,9 +219,9 @@ int check_test( size_t func_idx ) } -$platform_code +__MBEDTLS_TEST_TEMPLATE__PLATFORM_CODE -#line $line_no "suites/main_test.function" +#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function" /*----------------------------------------------------------------------------*/ /* Main Test code */ diff --git a/tests/suites/test_suite_aes.ecb.data b/tests/suites/test_suite_aes.ecb.data index 6349034a69..b468ac30b7 100644 --- a/tests/suites/test_suite_aes.ecb.data +++ b/tests/suites/test_suite_aes.ecb.data @@ -228,3 +228,6 @@ aes_decrypt_ecb:"000000000000000000000000000000000000000000000000000000000000000 AES-256-ECB Decrypt NIST KAT #12 aes_decrypt_ecb:"0000000000000000000000000000000000000000000000000000000000000000":"9b80eefb7ebe2d2b16247aa0efc72f5d":"e0000000000000000000000000000000":0 + +AES-256-ECB Copy Context NIST KAT #1 +aes_ecb_copy_context:"c1cc358b449909a19436cfbb3f852ef8bcb5ed12ac7058325f56e6099aab1a1c":"00000000000000000000000000000000" diff --git a/tests/suites/test_suite_aes.function b/tests/suites/test_suite_aes.function index 52af8e02f2..6a87d4294f 100644 --- a/tests/suites/test_suite_aes.function +++ b/tests/suites/test_suite_aes.function @@ -358,7 +358,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void aes_invalid_mode( ) { mbedtls_aes_context aes_ctx; @@ -403,10 +403,14 @@ void aes_misc_params( ) defined(MBEDTLS_CIPHER_MODE_XTS) || \ defined(MBEDTLS_CIPHER_MODE_CFB) || \ defined(MBEDTLS_CIPHER_MODE_OFB) - mbedtls_aes_context aes_ctx; const unsigned char in[16] = { 0 }; unsigned char out[16]; #endif +#if defined(MBEDTLS_CIPHER_MODE_CBC) || \ + defined(MBEDTLS_CIPHER_MODE_CFB) || \ + defined(MBEDTLS_CIPHER_MODE_OFB) +mbedtls_aes_context aes_ctx; +#endif #if defined(MBEDTLS_CIPHER_MODE_XTS) mbedtls_aes_xts_context xts_ctx; #endif @@ -460,6 +464,36 @@ void aes_misc_params( ) } /* END_CASE */ +/* BEGIN_CASE */ +void aes_ecb_copy_context( data_t * key_str, data_t * src_str ) +{ + unsigned char output1[16], output2[16], plain[16]; + mbedtls_aes_context ctx1, ctx2, ctx3; + + // Set key and encrypt with original context + mbedtls_aes_init( &ctx1 ); + TEST_ASSERT( mbedtls_aes_setkey_enc( &ctx1, key_str->x, + key_str->len * 8 ) == 0 ); + TEST_ASSERT( mbedtls_aes_crypt_ecb( &ctx1, MBEDTLS_AES_ENCRYPT, + src_str->x, output1 ) == 0 ); + + ctx2 = ctx1; + TEST_ASSERT( mbedtls_aes_setkey_dec( &ctx1, key_str->x, + key_str->len * 8 ) == 0 ); + ctx3 = ctx1; + memset( &ctx1, 0, sizeof( ctx1 ) ); + + // Encrypt and decrypt with copied context + TEST_ASSERT( mbedtls_aes_crypt_ecb( &ctx2, MBEDTLS_AES_ENCRYPT, + src_str->x, output2 ) == 0 ); + TEST_ASSERT( mbedtls_aes_crypt_ecb( &ctx3, MBEDTLS_AES_DECRYPT, + output1, plain ) == 0 ); + + TEST_ASSERT( mbedtls_test_hexcmp( output1, output2, 16, 16 ) == 0 ); + TEST_ASSERT( mbedtls_test_hexcmp( src_str->x, plain, src_str->len, 16 ) == 0 ); +} +/* END_CASE */ + /* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */ void aes_selftest( ) { diff --git a/tests/suites/test_suite_asn1parse.data b/tests/suites/test_suite_asn1parse.data index 36ab1e481c..c129e3c8f7 100644 --- a/tests/suites/test_suite_asn1parse.data +++ b/tests/suites/test_suite_asn1parse.data @@ -608,18 +608,23 @@ Find named data: first match find_named_data:"414141":"414141":"434343":"444444":"414141":0:0 Free named data: null pointer +depends_on:MBEDTLS_TEST_DEPRECATED free_named_data_null: Free named data: all null +depends_on:MBEDTLS_TEST_DEPRECATED free_named_data:0:0:0 Free named data: with oid +depends_on:MBEDTLS_TEST_DEPRECATED free_named_data:1:0:0 Free named data: with val +depends_on:MBEDTLS_TEST_DEPRECATED free_named_data:0:1:0 Free named data: with next +depends_on:MBEDTLS_TEST_DEPRECATED free_named_data:0:0:1 Free named data list (empty) diff --git a/tests/suites/test_suite_asn1parse.function b/tests/suites/test_suite_asn1parse.function index 535274b74e..62669b35f1 100644 --- a/tests/suites/test_suite_asn1parse.function +++ b/tests/suites/test_suite_asn1parse.function @@ -417,7 +417,7 @@ void get_integer( const data_t *input, } #if defined(MBEDTLS_BIGNUM_C) - ret = mbedtls_test_read_mpi( &expected_mpi, 16, expected_hex ); + ret = mbedtls_test_read_mpi( &expected_mpi, expected_hex ); TEST_ASSERT( ret == 0 || ret == MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); if( ret == MBEDTLS_ERR_MPI_BAD_INPUT_DATA ) { @@ -735,7 +735,7 @@ void find_named_data( data_t *oid0, data_t *oid1, data_t *oid2, data_t *oid3, } /* END_CASE */ -/* BEGIN_CASE */ +/* BEGIN_CASE depends_on:!MBEDTLS_DEPRECATED_REMOVED:!MBEDTLS_DEPRECATED_WARNING */ void free_named_data_null( ) { mbedtls_asn1_free_named_data( NULL ); @@ -743,7 +743,7 @@ void free_named_data_null( ) } /* END_CASE */ -/* BEGIN_CASE */ +/* BEGIN_CASE depends_on:!MBEDTLS_DEPRECATED_REMOVED:!MBEDTLS_DEPRECATED_WARNING */ void free_named_data( int with_oid, int with_val, int with_next ) { mbedtls_asn1_named_data next = @@ -779,7 +779,7 @@ void free_named_data_list( int length ) for( i = 0; i < length; i++ ) { mbedtls_asn1_named_data *new = NULL; - ASSERT_ALLOC( new, sizeof( mbedtls_asn1_named_data ) ); + ASSERT_ALLOC( new, 1 ); new->next = head; head = new; } diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_bignum.function similarity index 67% rename from tests/suites/test_suite_mpi.function rename to tests/suites/test_suite_bignum.function index 1372668b52..55bb2f58d2 100644 --- a/tests/suites/test_suite_mpi.function +++ b/tests/suites/test_suite_bignum.function @@ -1,6 +1,8 @@ /* BEGIN_HEADER */ #include "mbedtls/bignum.h" #include "mbedtls/entropy.h" +#include "constant_time_internal.h" +#include "test/constant_flow.h" #if MBEDTLS_MPI_MAX_BITS > 792 #define MPI_MAX_BITS_LARGER_THAN_792 @@ -11,10 +13,21 @@ * constructing the value. */ static int sign_is_valid( const mbedtls_mpi *X ) { + /* Only +1 and -1 are valid sign bits, not e.g. 0 */ if( X->s != 1 && X->s != -1 ) - return( 0 ); // invalid sign bit, e.g. 0 - if( mbedtls_mpi_bitlen( X ) == 0 && X->s != 1 ) - return( 0 ); // negative zero + return( 0 ); + + /* The value 0 must be represented with the sign +1. A "negative zero" + * with s=-1 is an invalid representation. Forbid that. As an exception, + * we sometimes test the robustness of library functions when given + * a negative zero input. If a test case has a negative zero as input, + * we don't mind if the function has a negative zero output. */ + if( ! mbedtls_test_case_uses_negative_0 && + mbedtls_mpi_bitlen( X ) == 0 && X->s != 1 ) + { + return( 0 ); + } + return( 1 ); } @@ -177,7 +190,7 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_read_binary( data_t * buf, int radix_A, char * input_A ) +void mpi_read_binary( data_t * buf, char * input_A ) { mbedtls_mpi X; char str[1000]; @@ -188,7 +201,7 @@ void mbedtls_mpi_read_binary( data_t * buf, int radix_A, char * input_A ) TEST_ASSERT( mbedtls_mpi_read_binary( &X, buf->x, buf->len ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); - TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, str, sizeof( str ), &len ) == 0 ); + TEST_ASSERT( mbedtls_mpi_write_string( &X, 16, str, sizeof( str ), &len ) == 0 ); TEST_ASSERT( strcmp( (char *) str, input_A ) == 0 ); exit: @@ -197,7 +210,7 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_read_binary_le( data_t * buf, int radix_A, char * input_A ) +void mpi_read_binary_le( data_t * buf, char * input_A ) { mbedtls_mpi X; char str[1000]; @@ -208,7 +221,7 @@ void mbedtls_mpi_read_binary_le( data_t * buf, int radix_A, char * input_A ) TEST_ASSERT( mbedtls_mpi_read_binary_le( &X, buf->x, buf->len ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); - TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, str, sizeof( str ), &len ) == 0 ); + TEST_ASSERT( mbedtls_mpi_write_string( &X, 16, str, sizeof( str ), &len ) == 0 ); TEST_ASSERT( strcmp( (char *) str, input_A ) == 0 ); exit: @@ -217,9 +230,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_write_binary( int radix_X, char * input_X, - data_t * input_A, int output_size, - int result ) +void mpi_write_binary( char * input_X, data_t * input_A, + int output_size, int result ) { mbedtls_mpi X; unsigned char buf[1000]; @@ -229,7 +241,7 @@ void mbedtls_mpi_write_binary( int radix_X, char * input_X, mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); buflen = mbedtls_mpi_size( &X ); if( buflen > (size_t) output_size ) @@ -249,9 +261,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_write_binary_le( int radix_X, char * input_X, - data_t * input_A, int output_size, - int result ) +void mpi_write_binary_le( char * input_X, data_t * input_A, + int output_size, int result ) { mbedtls_mpi X; unsigned char buf[1000]; @@ -261,7 +272,7 @@ void mbedtls_mpi_write_binary_le( int radix_X, char * input_X, mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); buflen = mbedtls_mpi_size( &X ); if( buflen > (size_t) output_size ) @@ -281,8 +292,7 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_FS_IO */ -void mbedtls_mpi_read_file( int radix_X, char * input_file, - data_t * input_A, int result ) +void mpi_read_file( char * input_file, data_t * input_A, int result ) { mbedtls_mpi X; unsigned char buf[1000]; @@ -296,7 +306,7 @@ void mbedtls_mpi_read_file( int radix_X, char * input_file, file = fopen( input_file, "r" ); TEST_ASSERT( file != NULL ); - ret = mbedtls_mpi_read_file( &X, radix_X, file ); + ret = mbedtls_mpi_read_file( &X, 16, file ); fclose(file); TEST_ASSERT( ret == result ); @@ -317,8 +327,7 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_FS_IO */ -void mbedtls_mpi_write_file( int radix_X, char * input_X, int output_radix, - char * output_file ) +void mpi_write_file( char * input_X, char * output_file ) { mbedtls_mpi X, Y; FILE *file_out, *file_in; @@ -326,17 +335,17 @@ void mbedtls_mpi_write_file( int radix_X, char * input_X, int output_radix, mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); file_out = fopen( output_file, "w" ); TEST_ASSERT( file_out != NULL ); - ret = mbedtls_mpi_write_file( NULL, &X, output_radix, file_out ); + ret = mbedtls_mpi_write_file( NULL, &X, 16, file_out ); fclose(file_out); TEST_ASSERT( ret == 0 ); file_in = fopen( output_file, "r" ); TEST_ASSERT( file_in != NULL ); - ret = mbedtls_mpi_read_file( &Y, output_radix, file_in ); + ret = mbedtls_mpi_read_file( &Y, 16, file_in ); fclose(file_in); TEST_ASSERT( ret == 0 ); @@ -348,11 +357,11 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_get_bit( int radix_X, char * input_X, int pos, int val ) +void mpi_get_bit( char * input_X, int pos, int val ) { mbedtls_mpi X; mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_get_bit( &X, pos ) == val ); exit: @@ -361,14 +370,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_set_bit( int radix_X, char * input_X, int pos, int val, - int radix_Y, char * output_Y, int result ) +void mpi_set_bit( char * input_X, int pos, int val, + char * output_Y, int result ) { mbedtls_mpi X, Y; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, output_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, output_Y ) == 0 ); TEST_ASSERT( mbedtls_mpi_set_bit( &X, pos, val ) == result ); if( result == 0 ) @@ -383,12 +392,12 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_lsb( int radix_X, char * input_X, int nr_bits ) +void mpi_lsb( char * input_X, int nr_bits ) { mbedtls_mpi X; mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_lsb( &X ) == (size_t) nr_bits ); exit: @@ -397,12 +406,12 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_bitlen( int radix_X, char * input_X, int nr_bits ) +void mpi_bitlen( char * input_X, int nr_bits ) { mbedtls_mpi X; mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_bitlen( &X ) == (size_t) nr_bits ); exit: @@ -411,15 +420,15 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_gcd( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A ) +void mpi_gcd( char * input_X, char * input_Y, + char * input_A ) { mbedtls_mpi A, X, Y, Z; mbedtls_mpi_init( &A ); mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_gcd( &Z, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -430,7 +439,7 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_cmp_int( int input_X, int input_A, int result_CMP ) +void mpi_cmp_int( int input_X, int input_A, int result_CMP ) { mbedtls_mpi X; mbedtls_mpi_init( &X ); @@ -444,14 +453,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_cmp_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int input_A ) +void mpi_cmp_mpi( char * input_X, char * input_Y, + int input_A ) { mbedtls_mpi X, Y; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &Y ) == input_A ); exit: @@ -460,17 +469,17 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_lt_mpi_ct( int size_X, char * input_X, - int size_Y, char * input_Y, - int input_ret, int input_err ) +void mpi_lt_mpi_ct( int size_X, char * input_X, + int size_Y, char * input_Y, + int input_ret, int input_err ) { unsigned ret = -1; unsigned input_uret = input_ret; mbedtls_mpi X, Y; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); TEST_ASSERT( mbedtls_mpi_grow( &X, size_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_grow( &Y, size_Y ) == 0 ); @@ -485,14 +494,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_cmp_abs( int radix_X, char * input_X, int radix_Y, - char * input_Y, int input_A ) +void mpi_cmp_abs( char * input_X, char * input_Y, + int input_A ) { mbedtls_mpi X, Y; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_abs( &X, &Y ) == input_A ); exit: @@ -501,32 +510,32 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_copy( char *src_hex, char *dst_hex ) +void mpi_copy( char *src_hex, char *dst_hex ) { mbedtls_mpi src, dst, ref; mbedtls_mpi_init( &src ); mbedtls_mpi_init( &dst ); mbedtls_mpi_init( &ref ); - TEST_ASSERT( mbedtls_test_read_mpi( &src, 16, src_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &ref, 16, dst_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &src, src_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ref, dst_hex ) == 0 ); /* mbedtls_mpi_copy() */ - TEST_ASSERT( mbedtls_test_read_mpi( &dst, 16, dst_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dst, dst_hex ) == 0 ); TEST_ASSERT( mbedtls_mpi_copy( &dst, &src ) == 0 ); TEST_ASSERT( sign_is_valid( &dst ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &dst, &src ) == 0 ); /* mbedtls_mpi_safe_cond_assign(), assignment done */ mbedtls_mpi_free( &dst ); - TEST_ASSERT( mbedtls_test_read_mpi( &dst, 16, dst_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dst, dst_hex ) == 0 ); TEST_ASSERT( mbedtls_mpi_safe_cond_assign( &dst, &src, 1 ) == 0 ); TEST_ASSERT( sign_is_valid( &dst ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &dst, &src ) == 0 ); /* mbedtls_mpi_safe_cond_assign(), assignment not done */ mbedtls_mpi_free( &dst ); - TEST_ASSERT( mbedtls_test_read_mpi( &dst, 16, dst_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dst, dst_hex ) == 0 ); TEST_ASSERT( mbedtls_mpi_safe_cond_assign( &dst, &src, 0 ) == 0 ); TEST_ASSERT( sign_is_valid( &dst ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &dst, &ref ) == 0 ); @@ -545,10 +554,10 @@ void mpi_copy_self( char *input_X ) mbedtls_mpi_init( &A ); mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_copy( &X, &X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, 16, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_X ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); @@ -559,18 +568,18 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_swap( char *X_hex, char *Y_hex ) +void mpi_swap( char *X_hex, char *Y_hex ) { mbedtls_mpi X, Y, X0, Y0; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &X0 ); mbedtls_mpi_init( &Y0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X0, 16, X_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y0, 16, Y_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X0, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y0, Y_hex ) == 0 ); /* mbedtls_mpi_swap() */ - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, X_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, Y_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, Y_hex ) == 0 ); mbedtls_mpi_swap( &X, &Y ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( sign_is_valid( &Y ) ); @@ -580,8 +589,8 @@ void mbedtls_mpi_swap( char *X_hex, char *Y_hex ) /* mbedtls_mpi_safe_cond_swap(), swap done */ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, X_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, Y_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, Y_hex ) == 0 ); TEST_ASSERT( mbedtls_mpi_safe_cond_swap( &X, &Y, 1 ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( sign_is_valid( &Y ) ); @@ -591,8 +600,8 @@ void mbedtls_mpi_swap( char *X_hex, char *Y_hex ) /* mbedtls_mpi_safe_cond_swap(), swap not done */ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, X_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, Y_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, Y_hex ) == 0 ); TEST_ASSERT( mbedtls_mpi_safe_cond_swap( &X, &Y, 0 ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( sign_is_valid( &Y ) ); @@ -611,8 +620,8 @@ void mpi_swap_self( char *X_hex ) mbedtls_mpi X, X0; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &X0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, X_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X0, 16, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, X_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X0, X_hex ) == 0 ); mbedtls_mpi_swap( &X, &X ); TEST_ASSERT( sign_is_valid( &X ) ); @@ -624,7 +633,7 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_shrink( int before, int used, int min, int after ) +void mpi_shrink( int before, int used, int min, int after ) { mbedtls_mpi X; mbedtls_mpi_init( &X ); @@ -645,15 +654,15 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_add_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A ) +void mpi_add_mpi( char * input_X, char * input_Y, + char * input_A ) { mbedtls_mpi X, Y, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_add_mpi( &Z, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -662,7 +671,7 @@ void mbedtls_mpi_add_mpi( int radix_X, char * input_X, int radix_Y, TEST_ASSERT( mbedtls_mpi_add_mpi( &X, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); /* result == second operand */ TEST_ASSERT( mbedtls_mpi_add_mpi( &Y, &X, &Y ) == 0 ); @@ -675,25 +684,24 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_add_mpi_inplace( int radix_X, char * input_X, int radix_A, - char * input_A ) +void mpi_add_mpi_inplace( char * input_X, char * input_A ) { mbedtls_mpi X, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_sub_abs( &X, &X, &X ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_int( &X, 0 ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_add_abs( &X, &X, &X ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); TEST_ASSERT( mbedtls_mpi_add_mpi( &X, &X, &X ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); @@ -705,15 +713,15 @@ exit: /* BEGIN_CASE */ -void mbedtls_mpi_add_abs( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A ) +void mpi_add_abs( char * input_X, char * input_Y, + char * input_A ) { mbedtls_mpi X, Y, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_add_abs( &Z, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -722,7 +730,7 @@ void mbedtls_mpi_add_abs( int radix_X, char * input_X, int radix_Y, TEST_ASSERT( mbedtls_mpi_add_abs( &X, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); /* result == second operand */ TEST_ASSERT( mbedtls_mpi_add_abs( &Y, &X, &Y ) == 0 ); @@ -735,14 +743,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_add_int( int radix_X, char * input_X, int input_Y, - int radix_A, char * input_A ) +void mpi_add_int( char * input_X, int input_Y, + char * input_A ) { mbedtls_mpi X, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_add_int( &Z, &X, input_Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -753,15 +761,15 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_sub_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A ) +void mpi_sub_mpi( char * input_X, char * input_Y, + char * input_A ) { mbedtls_mpi X, Y, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_sub_mpi( &Z, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -770,7 +778,7 @@ void mbedtls_mpi_sub_mpi( int radix_X, char * input_X, int radix_Y, TEST_ASSERT( mbedtls_mpi_sub_mpi( &X, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); /* result == second operand */ TEST_ASSERT( mbedtls_mpi_sub_mpi( &Y, &X, &Y ) == 0 ); @@ -783,17 +791,16 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_sub_abs( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A, - int sub_result ) +void mpi_sub_abs( char * input_X, char * input_Y, + char * input_A, int sub_result ) { mbedtls_mpi X, Y, Z, A; int res; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); res = mbedtls_mpi_sub_abs( &Z, &X, &Y ); TEST_ASSERT( res == sub_result ); @@ -806,7 +813,7 @@ void mbedtls_mpi_sub_abs( int radix_X, char * input_X, int radix_Y, TEST_ASSERT( sign_is_valid( &X ) ); if( sub_result == 0 ) TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); /* result == second operand */ TEST_ASSERT( mbedtls_mpi_sub_abs( &Y, &X, &Y ) == sub_result ); @@ -820,14 +827,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_sub_int( int radix_X, char * input_X, int input_Y, - int radix_A, char * input_A ) +void mpi_sub_int( char * input_X, int input_Y, + char * input_A ) { mbedtls_mpi X, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_sub_int( &Z, &X, input_Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -838,15 +845,15 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_mul_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A ) +void mpi_mul_mpi( char * input_X, char * input_Y, + char * input_A ) { mbedtls_mpi X, Y, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_mul_mpi( &Z, &X, &Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Z, &A ) == 0 ); @@ -857,15 +864,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_mul_int( int radix_X, char * input_X, int input_Y, - int radix_A, char * input_A, - char * result_comparison ) +void mpi_mul_int( char * input_X, int input_Y, + char * input_A, char * result_comparison ) { mbedtls_mpi X, Z, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_mul_int( &Z, &X, input_Y ) == 0 ); TEST_ASSERT( sign_is_valid( &Z ) ); if( strcmp( result_comparison, "==" ) == 0 ) @@ -881,19 +887,19 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_div_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A, - int radix_B, char * input_B, int div_result ) +void mpi_div_mpi( char * input_X, char * input_Y, + char * input_A, char * input_B, + int div_result ) { mbedtls_mpi X, Y, Q, R, A, B; int res; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &R ); mbedtls_mpi_init( &A ); mbedtls_mpi_init( &B ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &B, radix_B, input_B ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &B, input_B ) == 0 ); res = mbedtls_mpi_div_mpi( &Q, &R, &X, &Y ); TEST_ASSERT( res == div_result ); if( res == 0 ) @@ -911,18 +917,18 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_div_int( int radix_X, char * input_X, int input_Y, - int radix_A, char * input_A, int radix_B, - char * input_B, int div_result ) +void mpi_div_int( char * input_X, int input_Y, + char * input_A, char * input_B, + int div_result ) { mbedtls_mpi X, Q, R, A, B; int res; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &R ); mbedtls_mpi_init( &A ); mbedtls_mpi_init( &B ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &B, radix_B, input_B ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &B, input_B ) == 0 ); res = mbedtls_mpi_div_int( &Q, &R, &X, input_Y ); TEST_ASSERT( res == div_result ); if( res == 0 ) @@ -940,17 +946,16 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_mod_mpi( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A, - int div_result ) +void mpi_mod_mpi( char * input_X, char * input_Y, + char * input_A, int div_result ) { mbedtls_mpi X, Y, A; int res; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); res = mbedtls_mpi_mod_mpi( &X, &X, &Y ); TEST_ASSERT( res == div_result ); if( res == 0 ) @@ -965,41 +970,74 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_mod_int( int radix_X, char * input_X, int input_Y, - int input_A, int div_result ) +void mpi_mod_int( char * input_X, char * input_Y, + char * input_A, int mod_result ) { mbedtls_mpi X; + mbedtls_mpi Y; + mbedtls_mpi A; int res; mbedtls_mpi_uint r; + mbedtls_mpi_init( &X ); + mbedtls_mpi_init( &Y ); + mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - res = mbedtls_mpi_mod_int( &r, &X, input_Y ); - TEST_ASSERT( res == div_result ); + /* We use MPIs to read Y and A since the test framework limits us to + * ints, so we can't have 64-bit values */ + TEST_EQUAL( mbedtls_test_read_mpi( &X, input_X ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &Y, input_Y ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &A, input_A ), 0 ); + + TEST_EQUAL( Y.n, 1 ); + TEST_EQUAL( A.n, 1 ); + + /* Convert the MPIs for Y and A to (signed) mbedtls_mpi_sints */ + + /* Since we're converting sign+magnitude to two's complement, we lose one + * bit of value in the output. This means there are some values we can't + * represent, e.g. (hex) -A0000000 on 32-bit systems. These are technically + * invalid test cases, so could be considered "won't happen", but they are + * easy to test for, and this helps guard against human error. */ + + mbedtls_mpi_sint y = (mbedtls_mpi_sint) Y.p[0]; + TEST_ASSERT( y >= 0 ); /* If y < 0 here, we can't make negative y */ + if( Y.s == -1 ) + y = -y; + + mbedtls_mpi_sint a = (mbedtls_mpi_sint) A.p[0]; + TEST_ASSERT( a >= 0 ); /* Same goes for a */ + if( A.s == -1 ) + a = -a; + + res = mbedtls_mpi_mod_int( &r, &X, y ); + TEST_EQUAL( res, mod_result ); if( res == 0 ) { - TEST_ASSERT( r == (mbedtls_mpi_uint) input_A ); + TEST_EQUAL( r, a ); } exit: mbedtls_mpi_free( &X ); + mbedtls_mpi_free( &Y ); + mbedtls_mpi_free( &A ); } /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_exp_mod( int radix_A, char * input_A, int radix_E, - char * input_E, int radix_N, char * input_N, - int radix_X, char * input_X, int exp_result ) +void mpi_exp_mod( char * input_A, char * input_E, + char * input_N, char * input_X, + int exp_result ) { mbedtls_mpi A, E, N, RR, Z, X; int res; mbedtls_mpi_init( &A ); mbedtls_mpi_init( &E ); mbedtls_mpi_init( &N ); mbedtls_mpi_init( &RR ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); res = mbedtls_mpi_exp_mod( &Z, &A, &E, &N, NULL ); TEST_ASSERT( res == exp_result ); @@ -1034,8 +1072,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_exp_mod_size( int A_bytes, int E_bytes, int N_bytes, - int radix_RR, char * input_RR, int exp_result ) +void mpi_exp_mod_size( int A_bytes, int E_bytes, int N_bytes, + char * input_RR, int exp_result ) { mbedtls_mpi A, E, N, RR, Z; mbedtls_mpi_init( &A ); mbedtls_mpi_init( &E ); mbedtls_mpi_init( &N ); @@ -1057,7 +1095,7 @@ void mbedtls_mpi_exp_mod_size( int A_bytes, int E_bytes, int N_bytes, TEST_ASSERT( mbedtls_mpi_set_bit( &N, 0, 1 ) == 0 ); if( strlen( input_RR ) ) - TEST_ASSERT( mbedtls_test_read_mpi( &RR, radix_RR, input_RR ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &RR, input_RR ) == 0 ); TEST_ASSERT( mbedtls_mpi_exp_mod( &Z, &A, &E, &N, &RR ) == exp_result ); @@ -1068,17 +1106,16 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_inv_mod( int radix_X, char * input_X, int radix_Y, - char * input_Y, int radix_A, char * input_A, - int div_result ) +void mpi_inv_mod( char * input_X, char * input_Y, + char * input_A, int div_result ) { mbedtls_mpi X, Y, Z, A; int res; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &Z ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, radix_Y, input_Y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, input_Y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); res = mbedtls_mpi_inv_mod( &Z, &X, &Y ); TEST_ASSERT( res == div_result ); if( res == 0 ) @@ -1093,13 +1130,13 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_GENPRIME */ -void mbedtls_mpi_is_prime( int radix_X, char * input_X, int div_result ) +void mpi_is_prime( char * input_X, int div_result ) { mbedtls_mpi X; int res; mbedtls_mpi_init( &X ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); res = mbedtls_mpi_is_prime_ext( &X, 40, mbedtls_test_rnd_std_rand, NULL ); TEST_ASSERT( res == div_result ); @@ -1109,8 +1146,8 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_GENPRIME */ -void mbedtls_mpi_is_prime_det( data_t * input_X, data_t * witnesses, - int chunk_len, int rounds ) +void mpi_is_prime_det( data_t * input_X, data_t * witnesses, + int chunk_len, int rounds ) { mbedtls_mpi X; int res; @@ -1142,7 +1179,7 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_GENPRIME */ -void mbedtls_mpi_gen_prime( int bits, int flags, int ref_ret ) +void mpi_gen_prime( int bits, int flags, int ref_ret ) { mbedtls_mpi X; int my_ret; @@ -1180,14 +1217,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_shift_l( int radix_X, char * input_X, int shift_X, - int radix_A, char * input_A ) +void mpi_shift_l( char * input_X, int shift_X, + char * input_A ) { mbedtls_mpi X, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_shift_l( &X, shift_X ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); @@ -1198,14 +1235,14 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_mpi_shift_r( int radix_X, char * input_X, int shift_X, - int radix_A, char * input_A ) +void mpi_shift_r( char * input_X, int shift_X, + char * input_A ) { mbedtls_mpi X, A; mbedtls_mpi_init( &X ); mbedtls_mpi_init( &A ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, radix_X, input_X ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &A, radix_A, input_A ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &A, input_A ) == 0 ); TEST_ASSERT( mbedtls_mpi_shift_r( &X, shift_X ) == 0 ); TEST_ASSERT( sign_is_valid( &X ) ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 ); @@ -1421,6 +1458,150 @@ exit: } /* END_CASE */ +/* BEGIN_CASE */ +void most_negative_mpi_sint( ) +{ + /* Ad hoc tests for n = -p = -2^(biL-1) as a mbedtls_mpi_sint. We + * guarantee that mbedtls_mpi_sint is a two's complement type, so this + * is a valid value. However, negating it (`-n`) has undefined behavior + * (although in practice `-n` evaluates to the value n). + * + * This function has ad hoc tests for this value. It's separated from other + * functions because the test framework makes it hard to pass this value + * into test cases. + * + * In the comments here: + * - biL = number of bits in limbs + * - p = 2^(biL-1) (smallest positive value not in mbedtls_mpi_sint range) + * - n = -2^(biL-1) (largest negative value in mbedtls_mpi_sint range) + */ + + mbedtls_mpi A, R, X; + mbedtls_mpi_init( &A ); + mbedtls_mpi_init( &R ); + mbedtls_mpi_init( &X ); + + const size_t biL = 8 * sizeof( mbedtls_mpi_sint ); + mbedtls_mpi_uint most_positive_plus_1 = (mbedtls_mpi_uint) 1 << ( biL - 1 ); + const mbedtls_mpi_sint most_positive = most_positive_plus_1 - 1; + const mbedtls_mpi_sint most_negative = - most_positive - 1; + TEST_EQUAL( (mbedtls_mpi_uint) most_negative, + (mbedtls_mpi_uint) 1 << ( biL - 1 ) ); + TEST_EQUAL( (mbedtls_mpi_uint) most_negative << 1, 0 ); + + /* Test mbedtls_mpi_lset() */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_negative ), 0 ); + TEST_EQUAL( A.s, -1 ); + TEST_EQUAL( A.n, 1 ); + TEST_EQUAL( A.p[0], most_positive_plus_1 ); + + /* Test mbedtls_mpi_cmp_int(): -p == -p */ + TEST_EQUAL( mbedtls_mpi_cmp_int( &A, most_negative ), 0 ); + + /* Test mbedtls_mpi_cmp_int(): -(p+1) < -p */ + A.p[0] = most_positive_plus_1 + 1; + TEST_EQUAL( mbedtls_mpi_cmp_int( &A, most_negative ), -1 ); + + /* Test mbedtls_mpi_cmp_int(): -(p-1) > -p */ + A.p[0] = most_positive_plus_1 - 1; + TEST_EQUAL( mbedtls_mpi_cmp_int( &A, most_negative ), 1 ); + + /* Test mbedtls_mpi_add_int(): (p-1) + (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_positive ), 0 ); + TEST_EQUAL( mbedtls_mpi_add_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, -1 ), 0 ); + + /* Test mbedtls_mpi_add_int(): (0) + (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, 0 ), 0 ); + TEST_EQUAL( mbedtls_mpi_add_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, most_negative ), 0 ); + + /* Test mbedtls_mpi_add_int(): (-p) + (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_add_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( X.s, -1 ); + TEST_EQUAL( X.n, 2 ); + TEST_EQUAL( X.p[0], 0 ); + TEST_EQUAL( X.p[1], 1 ); + + /* Test mbedtls_mpi_sub_int(): (p) - (-p) */ + mbedtls_mpi_free( &X ); + TEST_EQUAL( mbedtls_mpi_lset( &A, most_positive ), 0 ); + TEST_EQUAL( mbedtls_mpi_sub_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( X.s, 1 ); + TEST_EQUAL( X.n, 1 ); + TEST_EQUAL( X.p[0], ~(mbedtls_mpi_uint)0 ); + + /* Test mbedtls_mpi_sub_int(): (0) - (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, 0 ), 0 ); + TEST_EQUAL( mbedtls_mpi_sub_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( X.s, 1 ); + TEST_EQUAL( X.n, 1 ); + TEST_EQUAL( X.p[0], most_positive_plus_1 ); + + /* Test mbedtls_mpi_sub_int(): (-p) - (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_sub_int( &X, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 0 ), 0 ); + + /* Test mbedtls_mpi_div_int(): (-p+1) / (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, -most_positive ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 0 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, -most_positive ), 0 ); + + /* Test mbedtls_mpi_div_int(): (-p) / (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, 0 ), 0 ); + + /* Test mbedtls_mpi_div_int(): (-2*p) / (-p) */ + TEST_EQUAL( mbedtls_mpi_shift_l( &A, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 2 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, 0 ), 0 ); + + /* Test mbedtls_mpi_div_int(): (-2*p+1) / (-p) */ + TEST_EQUAL( mbedtls_mpi_add_int( &A, &A, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, -most_positive ), 0 ); + + /* Test mbedtls_mpi_div_int(): (p-1) / (-p) */ + TEST_EQUAL( mbedtls_mpi_lset( &A, most_positive ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, 0 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, most_positive ), 0 ); + + /* Test mbedtls_mpi_div_int(): (p) / (-p) */ + TEST_EQUAL( mbedtls_mpi_add_int( &A, &A, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, -1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, 0 ), 0 ); + + /* Test mbedtls_mpi_div_int(): (2*p) / (-p) */ + TEST_EQUAL( mbedtls_mpi_shift_l( &A, 1 ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &X, &R, &A, most_negative ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &X, -2 ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_int( &R, 0 ), 0 ); + + /* Test mbedtls_mpi_mod_int(): never valid */ + TEST_EQUAL( mbedtls_mpi_mod_int( X.p, &A, most_negative ), + MBEDTLS_ERR_MPI_NEGATIVE_VALUE ); + + /* Test mbedtls_mpi_random(): never valid */ + TEST_EQUAL( mbedtls_mpi_random( &X, most_negative, &A, + mbedtls_test_rnd_std_rand, NULL ), + MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); + +exit: + mbedtls_mpi_free( &A ); + mbedtls_mpi_free( &R ); + mbedtls_mpi_free( &X ); +} +/* END_CASE */ + /* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */ void mpi_selftest( ) { diff --git a/tests/suites/test_suite_bignum.generated.data b/tests/suites/test_suite_bignum.generated.data new file mode 100644 index 0000000000..6badd0b013 --- /dev/null +++ b/tests/suites/test_suite_bignum.generated.data @@ -0,0 +1,975 @@ +# Automatically generated by generate_bignum_tests.py. Do not edit! + +MPI add #1 0 (null) + 0 (null) +mpi_add_mpi:"":"":"0" + +MPI add #2 0 (null) + 0 (1 limb) +mpi_add_mpi:"":"0":"0" + +MPI add #3 0 (null) + negative 0 (null) +mpi_add_mpi:"":"-":"0" + +MPI add #4 0 (null) + negative with leading zero limb +mpi_add_mpi:"":"-0":"0" + +MPI add #5 0 (null) + positive +mpi_add_mpi:"":"7b":"7b" + +MPI add #6 0 (null) + negative +mpi_add_mpi:"":"-7b":"-7b" + +MPI add #7 0 (null) + positive with leading zero limb +mpi_add_mpi:"":"0000000000000000123":"123" + +MPI add #8 0 (null) + negative with leading zero limb +mpi_add_mpi:"":"-0000000000000000123":"-123" + +MPI add #9 0 (null) + large positive +mpi_add_mpi:"":"1230000000000000000":"1230000000000000000" + +MPI add #10 0 (null) + large negative +mpi_add_mpi:"":"-1230000000000000000":"-1230000000000000000" + +MPI add #11 0 (1 limb) + 0 (null) +mpi_add_mpi:"0":"":"0" + +MPI add #12 0 (1 limb) + 0 (1 limb) +mpi_add_mpi:"0":"0":"0" + +MPI add #13 0 (1 limb) + negative 0 (null) +mpi_add_mpi:"0":"-":"0" + +MPI add #14 0 (1 limb) + negative with leading zero limb +mpi_add_mpi:"0":"-0":"0" + +MPI add #15 0 (1 limb) + positive +mpi_add_mpi:"0":"7b":"7b" + +MPI add #16 0 (1 limb) + negative +mpi_add_mpi:"0":"-7b":"-7b" + +MPI add #17 0 (1 limb) + positive with leading zero limb +mpi_add_mpi:"0":"0000000000000000123":"123" + +MPI add #18 0 (1 limb) + negative with leading zero limb +mpi_add_mpi:"0":"-0000000000000000123":"-123" + +MPI add #19 0 (1 limb) + large positive +mpi_add_mpi:"0":"1230000000000000000":"1230000000000000000" + +MPI add #20 0 (1 limb) + large negative +mpi_add_mpi:"0":"-1230000000000000000":"-1230000000000000000" + +MPI add #21 negative 0 (null) + 0 (null) +mpi_add_mpi:"-":"":"0" + +MPI add #22 negative 0 (null) + 0 (1 limb) +mpi_add_mpi:"-":"0":"0" + +MPI add #23 negative 0 (null) + negative 0 (null) +mpi_add_mpi:"-":"-":"0" + +MPI add #24 negative 0 (null) + negative with leading zero limb +mpi_add_mpi:"-":"-0":"0" + +MPI add #25 negative 0 (null) + positive +mpi_add_mpi:"-":"7b":"7b" + +MPI add #26 negative 0 (null) + negative +mpi_add_mpi:"-":"-7b":"-7b" + +MPI add #27 negative 0 (null) + positive with leading zero limb +mpi_add_mpi:"-":"0000000000000000123":"123" + +MPI add #28 negative 0 (null) + negative with leading zero limb +mpi_add_mpi:"-":"-0000000000000000123":"-123" + +MPI add #29 negative 0 (null) + large positive +mpi_add_mpi:"-":"1230000000000000000":"1230000000000000000" + +MPI add #30 negative 0 (null) + large negative +mpi_add_mpi:"-":"-1230000000000000000":"-1230000000000000000" + +MPI add #31 negative with leading zero limb + 0 (null) +mpi_add_mpi:"-0":"":"0" + +MPI add #32 negative with leading zero limb + 0 (1 limb) +mpi_add_mpi:"-0":"0":"0" + +MPI add #33 negative with leading zero limb + negative 0 (null) +mpi_add_mpi:"-0":"-":"0" + +MPI add #34 negative with leading zero limb + negative with leading zero limb +mpi_add_mpi:"-0":"-0":"0" + +MPI add #35 negative with leading zero limb + positive +mpi_add_mpi:"-0":"7b":"7b" + +MPI add #36 negative with leading zero limb + negative +mpi_add_mpi:"-0":"-7b":"-7b" + +MPI add #37 negative with leading zero limb + positive with leading zero limb +mpi_add_mpi:"-0":"0000000000000000123":"123" + +MPI add #38 negative with leading zero limb + negative with leading zero limb +mpi_add_mpi:"-0":"-0000000000000000123":"-123" + +MPI add #39 negative with leading zero limb + large positive +mpi_add_mpi:"-0":"1230000000000000000":"1230000000000000000" + +MPI add #40 negative with leading zero limb + large negative +mpi_add_mpi:"-0":"-1230000000000000000":"-1230000000000000000" + +MPI add #41 positive + 0 (null) +mpi_add_mpi:"7b":"":"7b" + +MPI add #42 positive + 0 (1 limb) +mpi_add_mpi:"7b":"0":"7b" + +MPI add #43 positive + negative 0 (null) +mpi_add_mpi:"7b":"-":"7b" + +MPI add #44 positive + negative with leading zero limb +mpi_add_mpi:"7b":"-0":"7b" + +MPI add #45 positive + positive +mpi_add_mpi:"7b":"7b":"f6" + +MPI add #46 positive + negative , result=0 +mpi_add_mpi:"7b":"-7b":"0" + +MPI add #47 positive + positive with leading zero limb +mpi_add_mpi:"7b":"0000000000000000123":"19e" + +MPI add #48 positive + negative with leading zero limb , result<0 +mpi_add_mpi:"7b":"-0000000000000000123":"-a8" + +MPI add #49 positive + large positive +mpi_add_mpi:"7b":"1230000000000000000":"123000000000000007b" + +MPI add #50 positive + large negative , result<0 +mpi_add_mpi:"7b":"-1230000000000000000":"-122ffffffffffffff85" + +MPI add #51 negative + 0 (null) +mpi_add_mpi:"-7b":"":"-7b" + +MPI add #52 negative + 0 (1 limb) +mpi_add_mpi:"-7b":"0":"-7b" + +MPI add #53 negative + negative 0 (null) +mpi_add_mpi:"-7b":"-":"-7b" + +MPI add #54 negative + negative with leading zero limb +mpi_add_mpi:"-7b":"-0":"-7b" + +MPI add #55 negative + positive , result=0 +mpi_add_mpi:"-7b":"7b":"0" + +MPI add #56 negative + negative +mpi_add_mpi:"-7b":"-7b":"-f6" + +MPI add #57 negative + positive with leading zero limb , result>0 +mpi_add_mpi:"-7b":"0000000000000000123":"a8" + +MPI add #58 negative + negative with leading zero limb +mpi_add_mpi:"-7b":"-0000000000000000123":"-19e" + +MPI add #59 negative + large positive , result>0 +mpi_add_mpi:"-7b":"1230000000000000000":"122ffffffffffffff85" + +MPI add #60 negative + large negative +mpi_add_mpi:"-7b":"-1230000000000000000":"-123000000000000007b" + +MPI add #61 positive with leading zero limb + 0 (null) +mpi_add_mpi:"0000000000000000123":"":"123" + +MPI add #62 positive with leading zero limb + 0 (1 limb) +mpi_add_mpi:"0000000000000000123":"0":"123" + +MPI add #63 positive with leading zero limb + negative 0 (null) +mpi_add_mpi:"0000000000000000123":"-":"123" + +MPI add #64 positive with leading zero limb + negative with leading zero limb +mpi_add_mpi:"0000000000000000123":"-0":"123" + +MPI add #65 positive with leading zero limb + positive +mpi_add_mpi:"0000000000000000123":"7b":"19e" + +MPI add #66 positive with leading zero limb + negative , result>0 +mpi_add_mpi:"0000000000000000123":"-7b":"a8" + +MPI add #67 positive with leading zero limb + positive with leading zero limb +mpi_add_mpi:"0000000000000000123":"0000000000000000123":"246" + +MPI add #68 positive with leading zero limb + negative with leading zero limb , result=0 +mpi_add_mpi:"0000000000000000123":"-0000000000000000123":"0" + +MPI add #69 positive with leading zero limb + large positive +mpi_add_mpi:"0000000000000000123":"1230000000000000000":"1230000000000000123" + +MPI add #70 positive with leading zero limb + large negative , result<0 +mpi_add_mpi:"0000000000000000123":"-1230000000000000000":"-122fffffffffffffedd" + +MPI add #71 negative with leading zero limb + 0 (null) +mpi_add_mpi:"-0000000000000000123":"":"-123" + +MPI add #72 negative with leading zero limb + 0 (1 limb) +mpi_add_mpi:"-0000000000000000123":"0":"-123" + +MPI add #73 negative with leading zero limb + negative 0 (null) +mpi_add_mpi:"-0000000000000000123":"-":"-123" + +MPI add #74 negative with leading zero limb + negative with leading zero limb +mpi_add_mpi:"-0000000000000000123":"-0":"-123" + +MPI add #75 negative with leading zero limb + positive , result<0 +mpi_add_mpi:"-0000000000000000123":"7b":"-a8" + +MPI add #76 negative with leading zero limb + negative +mpi_add_mpi:"-0000000000000000123":"-7b":"-19e" + +MPI add #77 negative with leading zero limb + positive with leading zero limb , result=0 +mpi_add_mpi:"-0000000000000000123":"0000000000000000123":"0" + +MPI add #78 negative with leading zero limb + negative with leading zero limb +mpi_add_mpi:"-0000000000000000123":"-0000000000000000123":"-246" + +MPI add #79 negative with leading zero limb + large positive , result>0 +mpi_add_mpi:"-0000000000000000123":"1230000000000000000":"122fffffffffffffedd" + +MPI add #80 negative with leading zero limb + large negative +mpi_add_mpi:"-0000000000000000123":"-1230000000000000000":"-1230000000000000123" + +MPI add #81 large positive + 0 (null) +mpi_add_mpi:"1230000000000000000":"":"1230000000000000000" + +MPI add #82 large positive + 0 (1 limb) +mpi_add_mpi:"1230000000000000000":"0":"1230000000000000000" + +MPI add #83 large positive + negative 0 (null) +mpi_add_mpi:"1230000000000000000":"-":"1230000000000000000" + +MPI add #84 large positive + negative with leading zero limb +mpi_add_mpi:"1230000000000000000":"-0":"1230000000000000000" + +MPI add #85 large positive + positive +mpi_add_mpi:"1230000000000000000":"7b":"123000000000000007b" + +MPI add #86 large positive + negative , result>0 +mpi_add_mpi:"1230000000000000000":"-7b":"122ffffffffffffff85" + +MPI add #87 large positive + positive with leading zero limb +mpi_add_mpi:"1230000000000000000":"0000000000000000123":"1230000000000000123" + +MPI add #88 large positive + negative with leading zero limb , result>0 +mpi_add_mpi:"1230000000000000000":"-0000000000000000123":"122fffffffffffffedd" + +MPI add #89 large positive + large positive +mpi_add_mpi:"1230000000000000000":"1230000000000000000":"2460000000000000000" + +MPI add #90 large positive + large negative , result=0 +mpi_add_mpi:"1230000000000000000":"-1230000000000000000":"0" + +MPI add #91 large negative + 0 (null) +mpi_add_mpi:"-1230000000000000000":"":"-1230000000000000000" + +MPI add #92 large negative + 0 (1 limb) +mpi_add_mpi:"-1230000000000000000":"0":"-1230000000000000000" + +MPI add #93 large negative + negative 0 (null) +mpi_add_mpi:"-1230000000000000000":"-":"-1230000000000000000" + +MPI add #94 large negative + negative with leading zero limb +mpi_add_mpi:"-1230000000000000000":"-0":"-1230000000000000000" + +MPI add #95 large negative + positive , result<0 +mpi_add_mpi:"-1230000000000000000":"7b":"-122ffffffffffffff85" + +MPI add #96 large negative + negative +mpi_add_mpi:"-1230000000000000000":"-7b":"-123000000000000007b" + +MPI add #97 large negative + positive with leading zero limb , result<0 +mpi_add_mpi:"-1230000000000000000":"0000000000000000123":"-122fffffffffffffedd" + +MPI add #98 large negative + negative with leading zero limb +mpi_add_mpi:"-1230000000000000000":"-0000000000000000123":"-1230000000000000123" + +MPI add #99 large negative + large positive , result=0 +mpi_add_mpi:"-1230000000000000000":"1230000000000000000":"0" + +MPI add #100 large negative + large negative +mpi_add_mpi:"-1230000000000000000":"-1230000000000000000":"-2460000000000000000" + +MPI add #101 large positive + large positive +mpi_add_mpi:"1c67967269c6":"1c67967269c6":"38cf2ce4d38c" + +MPI add #102 large positive + positive +mpi_add_mpi:"1c67967269c6":"9cde3":"1c67967c37a9" + +MPI add #103 large positive + large negative , result=0 +mpi_add_mpi:"1c67967269c6":"-1c67967269c6":"0" + +MPI add #104 large positive + negative , result>0 +mpi_add_mpi:"1c67967269c6":"-9cde3":"1c6796689be3" + +MPI add #105 positive + large positive +mpi_add_mpi:"9cde3":"1c67967269c6":"1c67967c37a9" + +MPI add #106 positive + positive +mpi_add_mpi:"9cde3":"9cde3":"139bc6" + +MPI add #107 positive + large negative , result<0 +mpi_add_mpi:"9cde3":"-1c67967269c6":"-1c6796689be3" + +MPI add #108 positive + negative , result=0 +mpi_add_mpi:"9cde3":"-9cde3":"0" + +MPI add #109 large negative + large positive , result=0 +mpi_add_mpi:"-1c67967269c6":"1c67967269c6":"0" + +MPI add #110 large negative + positive , result<0 +mpi_add_mpi:"-1c67967269c6":"9cde3":"-1c6796689be3" + +MPI add #111 large negative + large negative +mpi_add_mpi:"-1c67967269c6":"-1c67967269c6":"-38cf2ce4d38c" + +MPI add #112 large negative + negative +mpi_add_mpi:"-1c67967269c6":"-9cde3":"-1c67967c37a9" + +MPI add #113 negative + large positive , result>0 +mpi_add_mpi:"-9cde3":"1c67967269c6":"1c6796689be3" + +MPI add #114 negative + positive , result=0 +mpi_add_mpi:"-9cde3":"9cde3":"0" + +MPI add #115 negative + large negative +mpi_add_mpi:"-9cde3":"-1c67967269c6":"-1c67967c37a9" + +MPI add #116 negative + negative +mpi_add_mpi:"-9cde3":"-9cde3":"-139bc6" + +MPI compare #1 0 (null) == 0 (null) +mpi_cmp_mpi:"":"":0 + +MPI compare #2 0 (null) == 0 (1 limb) +mpi_cmp_mpi:"":"0":0 + +MPI compare #3 0 (null) == negative 0 (null) +mpi_cmp_mpi:"":"-":0 + +MPI compare #4 0 (null) == negative with leading zero limb +mpi_cmp_mpi:"":"-0":0 + +MPI compare #5 0 (null) < positive +mpi_cmp_mpi:"":"7b":-1 + +MPI compare #6 0 (null) > negative +mpi_cmp_mpi:"":"-7b":1 + +MPI compare #7 0 (null) < positive with leading zero limb +mpi_cmp_mpi:"":"0000000000000000123":-1 + +MPI compare #8 0 (null) > negative with leading zero limb +mpi_cmp_mpi:"":"-0000000000000000123":1 + +MPI compare #9 0 (null) < large positive +mpi_cmp_mpi:"":"1230000000000000000":-1 + +MPI compare #10 0 (null) > large negative +mpi_cmp_mpi:"":"-1230000000000000000":1 + +MPI compare #11 0 (1 limb) == 0 (null) +mpi_cmp_mpi:"0":"":0 + +MPI compare #12 0 (1 limb) == 0 (1 limb) +mpi_cmp_mpi:"0":"0":0 + +MPI compare #13 0 (1 limb) == negative 0 (null) +mpi_cmp_mpi:"0":"-":0 + +MPI compare #14 0 (1 limb) == negative with leading zero limb +mpi_cmp_mpi:"0":"-0":0 + +MPI compare #15 0 (1 limb) < positive +mpi_cmp_mpi:"0":"7b":-1 + +MPI compare #16 0 (1 limb) > negative +mpi_cmp_mpi:"0":"-7b":1 + +MPI compare #17 0 (1 limb) < positive with leading zero limb +mpi_cmp_mpi:"0":"0000000000000000123":-1 + +MPI compare #18 0 (1 limb) > negative with leading zero limb +mpi_cmp_mpi:"0":"-0000000000000000123":1 + +MPI compare #19 0 (1 limb) < large positive +mpi_cmp_mpi:"0":"1230000000000000000":-1 + +MPI compare #20 0 (1 limb) > large negative +mpi_cmp_mpi:"0":"-1230000000000000000":1 + +MPI compare #21 negative 0 (null) == 0 (null) +mpi_cmp_mpi:"-":"":0 + +MPI compare #22 negative 0 (null) == 0 (1 limb) +mpi_cmp_mpi:"-":"0":0 + +MPI compare #23 negative 0 (null) == negative 0 (null) +mpi_cmp_mpi:"-":"-":0 + +MPI compare #24 negative 0 (null) == negative with leading zero limb +mpi_cmp_mpi:"-":"-0":0 + +MPI compare #25 negative 0 (null) < positive +mpi_cmp_mpi:"-":"7b":-1 + +MPI compare #26 negative 0 (null) > negative +mpi_cmp_mpi:"-":"-7b":1 + +MPI compare #27 negative 0 (null) < positive with leading zero limb +mpi_cmp_mpi:"-":"0000000000000000123":-1 + +MPI compare #28 negative 0 (null) > negative with leading zero limb +mpi_cmp_mpi:"-":"-0000000000000000123":1 + +MPI compare #29 negative 0 (null) < large positive +mpi_cmp_mpi:"-":"1230000000000000000":-1 + +MPI compare #30 negative 0 (null) > large negative +mpi_cmp_mpi:"-":"-1230000000000000000":1 + +MPI compare #31 negative with leading zero limb == 0 (null) +mpi_cmp_mpi:"-0":"":0 + +MPI compare #32 negative with leading zero limb == 0 (1 limb) +mpi_cmp_mpi:"-0":"0":0 + +MPI compare #33 negative with leading zero limb == negative 0 (null) +mpi_cmp_mpi:"-0":"-":0 + +MPI compare #34 negative with leading zero limb == negative with leading zero limb +mpi_cmp_mpi:"-0":"-0":0 + +MPI compare #35 negative with leading zero limb < positive +mpi_cmp_mpi:"-0":"7b":-1 + +MPI compare #36 negative with leading zero limb > negative +mpi_cmp_mpi:"-0":"-7b":1 + +MPI compare #37 negative with leading zero limb < positive with leading zero limb +mpi_cmp_mpi:"-0":"0000000000000000123":-1 + +MPI compare #38 negative with leading zero limb > negative with leading zero limb +mpi_cmp_mpi:"-0":"-0000000000000000123":1 + +MPI compare #39 negative with leading zero limb < large positive +mpi_cmp_mpi:"-0":"1230000000000000000":-1 + +MPI compare #40 negative with leading zero limb > large negative +mpi_cmp_mpi:"-0":"-1230000000000000000":1 + +MPI compare #41 positive > 0 (null) +mpi_cmp_mpi:"7b":"":1 + +MPI compare #42 positive > 0 (1 limb) +mpi_cmp_mpi:"7b":"0":1 + +MPI compare #43 positive > negative 0 (null) +mpi_cmp_mpi:"7b":"-":1 + +MPI compare #44 positive > negative with leading zero limb +mpi_cmp_mpi:"7b":"-0":1 + +MPI compare #45 positive == positive +mpi_cmp_mpi:"7b":"7b":0 + +MPI compare #46 positive > negative +mpi_cmp_mpi:"7b":"-7b":1 + +MPI compare #47 positive < positive with leading zero limb +mpi_cmp_mpi:"7b":"0000000000000000123":-1 + +MPI compare #48 positive > negative with leading zero limb +mpi_cmp_mpi:"7b":"-0000000000000000123":1 + +MPI compare #49 positive < large positive +mpi_cmp_mpi:"7b":"1230000000000000000":-1 + +MPI compare #50 positive > large negative +mpi_cmp_mpi:"7b":"-1230000000000000000":1 + +MPI compare #51 negative < 0 (null) +mpi_cmp_mpi:"-7b":"":-1 + +MPI compare #52 negative < 0 (1 limb) +mpi_cmp_mpi:"-7b":"0":-1 + +MPI compare #53 negative < negative 0 (null) +mpi_cmp_mpi:"-7b":"-":-1 + +MPI compare #54 negative < negative with leading zero limb +mpi_cmp_mpi:"-7b":"-0":-1 + +MPI compare #55 negative < positive +mpi_cmp_mpi:"-7b":"7b":-1 + +MPI compare #56 negative == negative +mpi_cmp_mpi:"-7b":"-7b":0 + +MPI compare #57 negative < positive with leading zero limb +mpi_cmp_mpi:"-7b":"0000000000000000123":-1 + +MPI compare #58 negative > negative with leading zero limb +mpi_cmp_mpi:"-7b":"-0000000000000000123":1 + +MPI compare #59 negative < large positive +mpi_cmp_mpi:"-7b":"1230000000000000000":-1 + +MPI compare #60 negative > large negative +mpi_cmp_mpi:"-7b":"-1230000000000000000":1 + +MPI compare #61 positive with leading zero limb > 0 (null) +mpi_cmp_mpi:"0000000000000000123":"":1 + +MPI compare #62 positive with leading zero limb > 0 (1 limb) +mpi_cmp_mpi:"0000000000000000123":"0":1 + +MPI compare #63 positive with leading zero limb > negative 0 (null) +mpi_cmp_mpi:"0000000000000000123":"-":1 + +MPI compare #64 positive with leading zero limb > negative with leading zero limb +mpi_cmp_mpi:"0000000000000000123":"-0":1 + +MPI compare #65 positive with leading zero limb > positive +mpi_cmp_mpi:"0000000000000000123":"7b":1 + +MPI compare #66 positive with leading zero limb > negative +mpi_cmp_mpi:"0000000000000000123":"-7b":1 + +MPI compare #67 positive with leading zero limb == positive with leading zero limb +mpi_cmp_mpi:"0000000000000000123":"0000000000000000123":0 + +MPI compare #68 positive with leading zero limb > negative with leading zero limb +mpi_cmp_mpi:"0000000000000000123":"-0000000000000000123":1 + +MPI compare #69 positive with leading zero limb < large positive +mpi_cmp_mpi:"0000000000000000123":"1230000000000000000":-1 + +MPI compare #70 positive with leading zero limb > large negative +mpi_cmp_mpi:"0000000000000000123":"-1230000000000000000":1 + +MPI compare #71 negative with leading zero limb < 0 (null) +mpi_cmp_mpi:"-0000000000000000123":"":-1 + +MPI compare #72 negative with leading zero limb < 0 (1 limb) +mpi_cmp_mpi:"-0000000000000000123":"0":-1 + +MPI compare #73 negative with leading zero limb < negative 0 (null) +mpi_cmp_mpi:"-0000000000000000123":"-":-1 + +MPI compare #74 negative with leading zero limb < negative with leading zero limb +mpi_cmp_mpi:"-0000000000000000123":"-0":-1 + +MPI compare #75 negative with leading zero limb < positive +mpi_cmp_mpi:"-0000000000000000123":"7b":-1 + +MPI compare #76 negative with leading zero limb < negative +mpi_cmp_mpi:"-0000000000000000123":"-7b":-1 + +MPI compare #77 negative with leading zero limb < positive with leading zero limb +mpi_cmp_mpi:"-0000000000000000123":"0000000000000000123":-1 + +MPI compare #78 negative with leading zero limb == negative with leading zero limb +mpi_cmp_mpi:"-0000000000000000123":"-0000000000000000123":0 + +MPI compare #79 negative with leading zero limb < large positive +mpi_cmp_mpi:"-0000000000000000123":"1230000000000000000":-1 + +MPI compare #80 negative with leading zero limb > large negative +mpi_cmp_mpi:"-0000000000000000123":"-1230000000000000000":1 + +MPI compare #81 large positive > 0 (null) +mpi_cmp_mpi:"1230000000000000000":"":1 + +MPI compare #82 large positive > 0 (1 limb) +mpi_cmp_mpi:"1230000000000000000":"0":1 + +MPI compare #83 large positive > negative 0 (null) +mpi_cmp_mpi:"1230000000000000000":"-":1 + +MPI compare #84 large positive > negative with leading zero limb +mpi_cmp_mpi:"1230000000000000000":"-0":1 + +MPI compare #85 large positive > positive +mpi_cmp_mpi:"1230000000000000000":"7b":1 + +MPI compare #86 large positive > negative +mpi_cmp_mpi:"1230000000000000000":"-7b":1 + +MPI compare #87 large positive > positive with leading zero limb +mpi_cmp_mpi:"1230000000000000000":"0000000000000000123":1 + +MPI compare #88 large positive > negative with leading zero limb +mpi_cmp_mpi:"1230000000000000000":"-0000000000000000123":1 + +MPI compare #89 large positive == large positive +mpi_cmp_mpi:"1230000000000000000":"1230000000000000000":0 + +MPI compare #90 large positive > large negative +mpi_cmp_mpi:"1230000000000000000":"-1230000000000000000":1 + +MPI compare #91 large negative < 0 (null) +mpi_cmp_mpi:"-1230000000000000000":"":-1 + +MPI compare #92 large negative < 0 (1 limb) +mpi_cmp_mpi:"-1230000000000000000":"0":-1 + +MPI compare #93 large negative < negative 0 (null) +mpi_cmp_mpi:"-1230000000000000000":"-":-1 + +MPI compare #94 large negative < negative with leading zero limb +mpi_cmp_mpi:"-1230000000000000000":"-0":-1 + +MPI compare #95 large negative < positive +mpi_cmp_mpi:"-1230000000000000000":"7b":-1 + +MPI compare #96 large negative < negative +mpi_cmp_mpi:"-1230000000000000000":"-7b":-1 + +MPI compare #97 large negative < positive with leading zero limb +mpi_cmp_mpi:"-1230000000000000000":"0000000000000000123":-1 + +MPI compare #98 large negative < negative with leading zero limb +mpi_cmp_mpi:"-1230000000000000000":"-0000000000000000123":-1 + +MPI compare #99 large negative < large positive +mpi_cmp_mpi:"-1230000000000000000":"1230000000000000000":-1 + +MPI compare #100 large negative == large negative +mpi_cmp_mpi:"-1230000000000000000":"-1230000000000000000":0 + +MPI compare #101 negative > negative +mpi_cmp_mpi:"-2":"-3":1 + +MPI compare #102 negative == negative +mpi_cmp_mpi:"-2":"-2":0 + +MPI compare #103 positive < positive +mpi_cmp_mpi:"2b4":"2b5":-1 + +MPI compare #104 positive < positive +mpi_cmp_mpi:"2b5":"2b6":-1 + +MPI compare (abs) #1 0 (null) == 0 (null) +mpi_cmp_abs:"":"":0 + +MPI compare (abs) #2 0 (null) == 0 (1 limb) +mpi_cmp_abs:"":"0":0 + +MPI compare (abs) #3 0 (null) == 0 (null) +mpi_cmp_abs:"":"":0 + +MPI compare (abs) #4 0 (null) == 0 (1 limb) +mpi_cmp_abs:"":"0":0 + +MPI compare (abs) #5 0 (null) < positive +mpi_cmp_abs:"":"7b":-1 + +MPI compare (abs) #6 0 (null) < positive +mpi_cmp_abs:"":"7b":-1 + +MPI compare (abs) #7 0 (null) < positive with leading zero limb +mpi_cmp_abs:"":"0000000000000000123":-1 + +MPI compare (abs) #8 0 (null) < positive with leading zero limb +mpi_cmp_abs:"":"0000000000000000123":-1 + +MPI compare (abs) #9 0 (null) < large positive +mpi_cmp_abs:"":"1230000000000000000":-1 + +MPI compare (abs) #10 0 (null) < large positive +mpi_cmp_abs:"":"1230000000000000000":-1 + +MPI compare (abs) #11 0 (1 limb) == 0 (null) +mpi_cmp_abs:"0":"":0 + +MPI compare (abs) #12 0 (1 limb) == 0 (1 limb) +mpi_cmp_abs:"0":"0":0 + +MPI compare (abs) #13 0 (1 limb) == 0 (null) +mpi_cmp_abs:"0":"":0 + +MPI compare (abs) #14 0 (1 limb) == 0 (1 limb) +mpi_cmp_abs:"0":"0":0 + +MPI compare (abs) #15 0 (1 limb) < positive +mpi_cmp_abs:"0":"7b":-1 + +MPI compare (abs) #16 0 (1 limb) < positive +mpi_cmp_abs:"0":"7b":-1 + +MPI compare (abs) #17 0 (1 limb) < positive with leading zero limb +mpi_cmp_abs:"0":"0000000000000000123":-1 + +MPI compare (abs) #18 0 (1 limb) < positive with leading zero limb +mpi_cmp_abs:"0":"0000000000000000123":-1 + +MPI compare (abs) #19 0 (1 limb) < large positive +mpi_cmp_abs:"0":"1230000000000000000":-1 + +MPI compare (abs) #20 0 (1 limb) < large positive +mpi_cmp_abs:"0":"1230000000000000000":-1 + +MPI compare (abs) #21 0 (null) == 0 (null) +mpi_cmp_abs:"":"":0 + +MPI compare (abs) #22 0 (null) == 0 (1 limb) +mpi_cmp_abs:"":"0":0 + +MPI compare (abs) #23 0 (null) == 0 (null) +mpi_cmp_abs:"":"":0 + +MPI compare (abs) #24 0 (null) == 0 (1 limb) +mpi_cmp_abs:"":"0":0 + +MPI compare (abs) #25 0 (null) < positive +mpi_cmp_abs:"":"7b":-1 + +MPI compare (abs) #26 0 (null) < positive +mpi_cmp_abs:"":"7b":-1 + +MPI compare (abs) #27 0 (null) < positive with leading zero limb +mpi_cmp_abs:"":"0000000000000000123":-1 + +MPI compare (abs) #28 0 (null) < positive with leading zero limb +mpi_cmp_abs:"":"0000000000000000123":-1 + +MPI compare (abs) #29 0 (null) < large positive +mpi_cmp_abs:"":"1230000000000000000":-1 + +MPI compare (abs) #30 0 (null) < large positive +mpi_cmp_abs:"":"1230000000000000000":-1 + +MPI compare (abs) #31 0 (1 limb) == 0 (null) +mpi_cmp_abs:"0":"":0 + +MPI compare (abs) #32 0 (1 limb) == 0 (1 limb) +mpi_cmp_abs:"0":"0":0 + +MPI compare (abs) #33 0 (1 limb) == 0 (null) +mpi_cmp_abs:"0":"":0 + +MPI compare (abs) #34 0 (1 limb) == 0 (1 limb) +mpi_cmp_abs:"0":"0":0 + +MPI compare (abs) #35 0 (1 limb) < positive +mpi_cmp_abs:"0":"7b":-1 + +MPI compare (abs) #36 0 (1 limb) < positive +mpi_cmp_abs:"0":"7b":-1 + +MPI compare (abs) #37 0 (1 limb) < positive with leading zero limb +mpi_cmp_abs:"0":"0000000000000000123":-1 + +MPI compare (abs) #38 0 (1 limb) < positive with leading zero limb +mpi_cmp_abs:"0":"0000000000000000123":-1 + +MPI compare (abs) #39 0 (1 limb) < large positive +mpi_cmp_abs:"0":"1230000000000000000":-1 + +MPI compare (abs) #40 0 (1 limb) < large positive +mpi_cmp_abs:"0":"1230000000000000000":-1 + +MPI compare (abs) #41 positive > 0 (null) +mpi_cmp_abs:"7b":"":1 + +MPI compare (abs) #42 positive > 0 (1 limb) +mpi_cmp_abs:"7b":"0":1 + +MPI compare (abs) #43 positive > 0 (null) +mpi_cmp_abs:"7b":"":1 + +MPI compare (abs) #44 positive > 0 (1 limb) +mpi_cmp_abs:"7b":"0":1 + +MPI compare (abs) #45 positive == positive +mpi_cmp_abs:"7b":"7b":0 + +MPI compare (abs) #46 positive == positive +mpi_cmp_abs:"7b":"7b":0 + +MPI compare (abs) #47 positive < positive with leading zero limb +mpi_cmp_abs:"7b":"0000000000000000123":-1 + +MPI compare (abs) #48 positive < positive with leading zero limb +mpi_cmp_abs:"7b":"0000000000000000123":-1 + +MPI compare (abs) #49 positive < large positive +mpi_cmp_abs:"7b":"1230000000000000000":-1 + +MPI compare (abs) #50 positive < large positive +mpi_cmp_abs:"7b":"1230000000000000000":-1 + +MPI compare (abs) #51 positive > 0 (null) +mpi_cmp_abs:"7b":"":1 + +MPI compare (abs) #52 positive > 0 (1 limb) +mpi_cmp_abs:"7b":"0":1 + +MPI compare (abs) #53 positive > 0 (null) +mpi_cmp_abs:"7b":"":1 + +MPI compare (abs) #54 positive > 0 (1 limb) +mpi_cmp_abs:"7b":"0":1 + +MPI compare (abs) #55 positive == positive +mpi_cmp_abs:"7b":"7b":0 + +MPI compare (abs) #56 positive == positive +mpi_cmp_abs:"7b":"7b":0 + +MPI compare (abs) #57 positive < positive with leading zero limb +mpi_cmp_abs:"7b":"0000000000000000123":-1 + +MPI compare (abs) #58 positive < positive with leading zero limb +mpi_cmp_abs:"7b":"0000000000000000123":-1 + +MPI compare (abs) #59 positive < large positive +mpi_cmp_abs:"7b":"1230000000000000000":-1 + +MPI compare (abs) #60 positive < large positive +mpi_cmp_abs:"7b":"1230000000000000000":-1 + +MPI compare (abs) #61 positive with leading zero limb > 0 (null) +mpi_cmp_abs:"0000000000000000123":"":1 + +MPI compare (abs) #62 positive with leading zero limb > 0 (1 limb) +mpi_cmp_abs:"0000000000000000123":"0":1 + +MPI compare (abs) #63 positive with leading zero limb > 0 (null) +mpi_cmp_abs:"0000000000000000123":"":1 + +MPI compare (abs) #64 positive with leading zero limb > 0 (1 limb) +mpi_cmp_abs:"0000000000000000123":"0":1 + +MPI compare (abs) #65 positive with leading zero limb > positive +mpi_cmp_abs:"0000000000000000123":"7b":1 + +MPI compare (abs) #66 positive with leading zero limb > positive +mpi_cmp_abs:"0000000000000000123":"7b":1 + +MPI compare (abs) #67 positive with leading zero limb == positive with leading zero limb +mpi_cmp_abs:"0000000000000000123":"0000000000000000123":0 + +MPI compare (abs) #68 positive with leading zero limb == positive with leading zero limb +mpi_cmp_abs:"0000000000000000123":"0000000000000000123":0 + +MPI compare (abs) #69 positive with leading zero limb < large positive +mpi_cmp_abs:"0000000000000000123":"1230000000000000000":-1 + +MPI compare (abs) #70 positive with leading zero limb < large positive +mpi_cmp_abs:"0000000000000000123":"1230000000000000000":-1 + +MPI compare (abs) #71 positive with leading zero limb > 0 (null) +mpi_cmp_abs:"0000000000000000123":"":1 + +MPI compare (abs) #72 positive with leading zero limb > 0 (1 limb) +mpi_cmp_abs:"0000000000000000123":"0":1 + +MPI compare (abs) #73 positive with leading zero limb > 0 (null) +mpi_cmp_abs:"0000000000000000123":"":1 + +MPI compare (abs) #74 positive with leading zero limb > 0 (1 limb) +mpi_cmp_abs:"0000000000000000123":"0":1 + +MPI compare (abs) #75 positive with leading zero limb > positive +mpi_cmp_abs:"0000000000000000123":"7b":1 + +MPI compare (abs) #76 positive with leading zero limb > positive +mpi_cmp_abs:"0000000000000000123":"7b":1 + +MPI compare (abs) #77 positive with leading zero limb == positive with leading zero limb +mpi_cmp_abs:"0000000000000000123":"0000000000000000123":0 + +MPI compare (abs) #78 positive with leading zero limb == positive with leading zero limb +mpi_cmp_abs:"0000000000000000123":"0000000000000000123":0 + +MPI compare (abs) #79 positive with leading zero limb < large positive +mpi_cmp_abs:"0000000000000000123":"1230000000000000000":-1 + +MPI compare (abs) #80 positive with leading zero limb < large positive +mpi_cmp_abs:"0000000000000000123":"1230000000000000000":-1 + +MPI compare (abs) #81 large positive > 0 (null) +mpi_cmp_abs:"1230000000000000000":"":1 + +MPI compare (abs) #82 large positive > 0 (1 limb) +mpi_cmp_abs:"1230000000000000000":"0":1 + +MPI compare (abs) #83 large positive > 0 (null) +mpi_cmp_abs:"1230000000000000000":"":1 + +MPI compare (abs) #84 large positive > 0 (1 limb) +mpi_cmp_abs:"1230000000000000000":"0":1 + +MPI compare (abs) #85 large positive > positive +mpi_cmp_abs:"1230000000000000000":"7b":1 + +MPI compare (abs) #86 large positive > positive +mpi_cmp_abs:"1230000000000000000":"7b":1 + +MPI compare (abs) #87 large positive > positive with leading zero limb +mpi_cmp_abs:"1230000000000000000":"0000000000000000123":1 + +MPI compare (abs) #88 large positive > positive with leading zero limb +mpi_cmp_abs:"1230000000000000000":"0000000000000000123":1 + +MPI compare (abs) #89 large positive == large positive +mpi_cmp_abs:"1230000000000000000":"1230000000000000000":0 + +MPI compare (abs) #90 large positive == large positive +mpi_cmp_abs:"1230000000000000000":"1230000000000000000":0 + +MPI compare (abs) #91 large positive > 0 (null) +mpi_cmp_abs:"1230000000000000000":"":1 + +MPI compare (abs) #92 large positive > 0 (1 limb) +mpi_cmp_abs:"1230000000000000000":"0":1 + +MPI compare (abs) #93 large positive > 0 (null) +mpi_cmp_abs:"1230000000000000000":"":1 + +MPI compare (abs) #94 large positive > 0 (1 limb) +mpi_cmp_abs:"1230000000000000000":"0":1 + +MPI compare (abs) #95 large positive > positive +mpi_cmp_abs:"1230000000000000000":"7b":1 + +MPI compare (abs) #96 large positive > positive +mpi_cmp_abs:"1230000000000000000":"7b":1 + +MPI compare (abs) #97 large positive > positive with leading zero limb +mpi_cmp_abs:"1230000000000000000":"0000000000000000123":1 + +MPI compare (abs) #98 large positive > positive with leading zero limb +mpi_cmp_abs:"1230000000000000000":"0000000000000000123":1 + +MPI compare (abs) #99 large positive == large positive +mpi_cmp_abs:"1230000000000000000":"1230000000000000000":0 + +MPI compare (abs) #100 large positive == large positive +mpi_cmp_abs:"1230000000000000000":"1230000000000000000":0 + +MPI compare (abs) #101 positive < positive +mpi_cmp_abs:"2":"3":-1 + +MPI compare (abs) #102 positive == positive +mpi_cmp_abs:"2":"2":0 + +MPI compare (abs) #103 positive < positive +mpi_cmp_abs:"2b4":"2b5":-1 + +MPI compare (abs) #104 positive < positive +mpi_cmp_abs:"2b5":"2b6":-1 + +# End of automatically generated file. diff --git a/tests/suites/test_suite_bignum.misc.data b/tests/suites/test_suite_bignum.misc.data new file mode 100644 index 0000000000..dc6830e8fa --- /dev/null +++ b/tests/suites/test_suite_bignum.misc.data @@ -0,0 +1,1966 @@ +Arguments with no value +mpi_null: + +Base test mpi_read_write_string #1 +mpi_read_write_string:10:"128":10:"128":100:0:0 + +Base test mpi_read_write_string #1 (Leading 0) +mpi_read_write_string:10:"0128":10:"128":100:0:0 + +Base test mpi_read_write_string #2 +mpi_read_write_string:10:"128":16:"80":100:0:0 + +Base test mpi_read_write_string #3 (Read zero decimal) +mpi_read_write_string:10:"0":10:"0":100:0:0 + +Base test mpi_read_write_string #3 (Read zero hex) +mpi_read_write_string:16:"0":16:"00":100:0:0 + +Base test mpi_read_write_string #3 (Read minus zero decimal) +mpi_read_write_string:10:"-0":10:"0":100:0:0 + +Base test mpi_read_write_string #3 (Read minus zero hex) +mpi_read_write_string:16:"-0":16:"00":100:0:0 + +Base test mpi_read_write_string #3 (Negative decimal) +mpi_read_write_string:10:"-23":10:"-23":100:0:0 + +Base test mpi_read_write_string #3 (Negative decimal, leading 0) +mpi_read_write_string:10:"-023":10:"-23":100:0:0 + +Base test mpi_read_write_string #3 (Negative hex -> decimal) +mpi_read_write_string:16:"-20":10:"-32":100:0:0 + +Base test mpi_read_write_string #3 (Negative hex) +mpi_read_write_string:16:"-23":16:"-23":100:0:0 + +Base test mpi_read_write_string #3 (Negative hex, leading 0) +mpi_read_write_string:16:"-023":16:"-23":100:0:0 + +Base test mpi_read_write_string #4 (Buffer just fits) +mpi_read_write_string:16:"-4":4:"-10":4:0:0 + +Test mpi_read_write_string #1 (Invalid character) +mpi_read_write_string:10:"a28":0:"":100:MBEDTLS_ERR_MPI_INVALID_CHARACTER:0 + +Test mpi_read_write_string #2 (Illegal input radix) +mpi_read_write_string:19:"a28":0:"":100:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0 + +Test mpi_read_write_string #3 (Buffer just fits) +mpi_read_write_string:16:"-23":16:"-23":4:0:0 + +Test mpi_read_write_string #4 (Buffer too small) +mpi_read_write_string:16:"-23":16:"-23":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL + +Test mpi_read_write_string #5 (Illegal output radix) +mpi_read_write_string:16:"-23":17:"-23":4:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mpi_read_write_string #6 (Output radix of 15) +mpi_read_write_string:10:"29":15:"1e":100:0:0 + +Test mpi_read_write_string #7 +mpi_read_write_string:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0:0 + +Test mpi_read_write_string #8 (Empty MPI hex -> hex) +mpi_read_write_string:16:"":16:"":4:0:0 + +Test mpi_read_write_string #9 (Empty MPI hex -> dec) +mpi_read_write_string:16:"":10:"0":4:0:0 + +Test mpi_read_write_string #9 (Empty MPI hex -> base 2) +mpi_read_write_string:16:"":2:"0":4:0:0 + +Test mpi_read_write_string #8 (Empty MPI dec -> hex) +mpi_read_write_string:10:"":16:"":4:0:0 + +Test mpi_read_write_string #9 (Empty MPI dec -> dec) +mpi_read_write_string:10:"":10:"0":4:0:0 + +Test mpi_read_write_string #9 (Empty MPI dec -> base 2) +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 + +Base test mbedtls_mpi_read_binary #1 +mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"0941379D00FED1491FE15DF284DFDE4A142F68AA8D412023195CEE66883E6290FFE703F4EA5963BF212713CEE46B107C09182B5EDCD955ADAC418BF4918E2889AF48E1099D513830CEC85C26AC1E158B52620E33BA8692F893EFBB2F958B4424" + +Base test mbedtls_mpi_read_binary_le #1 +mpi_read_binary_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"24448B952FBBEF93F89286BA330E62528B151EAC265CC8CE3038519D09E148AF89288E91F48B41ACAD55D9DC5E2B18097C106BE4CE132721BF6359EAF403E7FF90623E8866EE5C192320418DAA682F144ADEDF84F25DE11F49D1FE009D374109" + +Base test mbedtls_mpi_write_binary #1 +mpi_write_binary:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0 + +Test mbedtls_mpi_write_binary #1 (Buffer just fits) +mpi_write_binary:"123123123123123123123123123":"0123123123123123123123123123":14:0 + +Test mbedtls_mpi_write_binary #2 (Buffer too small) +mpi_write_binary:"123123123123123123123123123":"23123123123123123123123123":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL + +Base test mbedtls_mpi_write_binary_le #1 +mpi_write_binary_le:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"24448b952fbbef93f89286ba330e62528b151eac265cc8ce3038519d09e148af89288e91f48b41acad55d9dc5e2b18097c106be4ce132721bf6359eaf403e7ff90623e8866ee5c192320418daa682f144adedf84f25de11f49d1fe009d374109":200:0 + +Test mbedtls_mpi_write_binary_le #1 (Buffer just fits) +mpi_write_binary_le:"123123123123123123123123123":"2331122331122331122331122301":14:0 + +Test mbedtls_mpi_write_binary_le #2 (Buffer too small) +mpi_write_binary_le:"123123123123123123123123123":"23311223311223311223311223":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL + +Base test mbedtls_mpi_read_file #1 +mpi_read_file:"data_files/mpi_16":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0 + +Test mbedtls_mpi_read_file #1 (Empty file) +mpi_read_file:"data_files/hash_file_4":"":MBEDTLS_ERR_MPI_FILE_IO_ERROR + +Test mbedtls_mpi_read_file #2 (Illegal input) +mpi_read_file:"data_files/hash_file_2":"":0 + +Test mbedtls_mpi_read_file #3 (Input too big) +mpi_read_file:"data_files/mpi_too_big":"":MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL + +Base test mbedtls_mpi_write_file #1 +mpi_write_file:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"data_files/mpi_write" + +Test mbedtls_mpi_lsb: 0 (null) +mpi_lsb:"":0 + +Test mbedtls_mpi_lsb: 0 (1 limb) +mpi_lsb:"0":0 + +Base test mbedtls_mpi_lsb #1 +mpi_lsb:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":2 + +Base test mbedtls_mpi_lsb #2 +mpi_lsb:"18":3 + +Base test mbedtls_mpi_lsb #3 +mpi_lsb:"24":2 + +Base test mbedtls_mpi_lsb #4 +mpi_lsb:"2000":13 + +Test mbedtls_mpi_bitlen 764-bit +mpi_bitlen:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":764 + +Test mbedtls_mpi_bitlen 0x18 +mpi_bitlen:"18":5 + +Test mbedtls_mpi_bitlen 0x18 with leading 0 limb(s) +mpi_bitlen:"00000000000000018":5 + +Test mbedtls_mpi_bitlen 0x18 << 64 +mpi_bitlen:"180000000000000000":69 + +Test mbedtls_mpi_bitlen 0x01 +mpi_bitlen:"1":1 + +Test mbedtls_mpi_bitlen 0x0f +mpi_bitlen:"f":4 + +Test mbedtls_mpi_bitlen 0x10 +mpi_bitlen:"10":5 + +Test mbedtls_mpi_bitlen 0x0a +mpi_bitlen:"a":4 + +Test mbedtls_mpi_bitlen: 0 (null) +mpi_bitlen:"":0 + +Test mbedtls_mpi_bitlen: 0 (1 limb) +mpi_bitlen:"0":0 + +Test mbedtls_mpi_bitlen: -0x18 +mpi_bitlen:"-18":5 + +Base test mbedtls_mpi_cmp_int #1 +mpi_cmp_int:693:693:0 + +Base test mbedtls_mpi_cmp_int #2 +mpi_cmp_int:693:692:1 + +Base test mbedtls_mpi_cmp_int #3 +mpi_cmp_int:693:694:-1 + +Base test mbedtls_mpi_cmp_int (Negative values) #1 +mpi_cmp_int:-2:-2:0 + +Base test mbedtls_mpi_cmp_int (Negative values) #2 +mpi_cmp_int:-2:-3:1 + +Base test mbedtls_mpi_cmp_int (Negative values) #3 +mpi_cmp_int:-2:-1:-1 + +Base test mbedtls_mpi_cmp_mpi #1 +mpi_cmp_mpi:"2b5":"2b5":0 + +Base test mbedtls_mpi_cmp_mpi #2 +mpi_cmp_mpi:"2b5":"2b4":1 + +Base test mbedtls_mpi_cmp_mpi #3 +mpi_cmp_mpi:"2b5":"2b6":-1 + +Base test mbedtls_mpi_cmp_mpi (Negative values) #1 +mpi_cmp_mpi:"-2":"-2":0 + +Base test mbedtls_mpi_cmp_mpi (Negative values) #2 +mpi_cmp_mpi:"-2":"-3":1 + +Base test mbedtls_mpi_cmp_mpi (Negative values) #3 +mpi_cmp_mpi:"-2":"-1":-1 + +Base test mbedtls_mpi_cmp_mpi (Mixed values) #4 +mpi_cmp_mpi:"-3":"2":-1 + +Base test mbedtls_mpi_cmp_mpi (Mixed values) #5 +mpi_cmp_mpi:"2":"-3":1 + +Base test mbedtls_mpi_cmp_mpi (Mixed values) #6 +mpi_cmp_mpi:"-2":"1c67967269c6":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (null) +mpi_cmp_mpi:"":"":0 + +Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (1 limb) +mpi_cmp_mpi:"":"0":0 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (null) +mpi_cmp_mpi:"0":"":0 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (1 limb) +mpi_cmp_mpi:"0":"0":0 + +Test mbedtls_mpi_cmp_mpi: 0 (null) < positive +mpi_cmp_mpi:"":"7b":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive +mpi_cmp_mpi:"0":"7b":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) > negative +mpi_cmp_mpi:"":"-7b":1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative +mpi_cmp_mpi:"0":"-7b":1 + +Test mbedtls_mpi_cmp_mpi: positive > 0 (null) +mpi_cmp_mpi:"7b":"":1 + +Test mbedtls_mpi_cmp_mpi: positive > 0 (1 limb) +mpi_cmp_mpi:"7b":"0":1 + +Test mbedtls_mpi_cmp_mpi: negative < 0 (null) +mpi_cmp_mpi:"-7b":"":-1 + +Test mbedtls_mpi_cmp_mpi: negative < 0 (1 limb) +mpi_cmp_mpi:"-7b":"0":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) < positive with leading zero limb +mpi_cmp_mpi:"":"0000000000000000123":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive with leading zero limb +mpi_cmp_mpi:"0":"0000000000000000123":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) > negative with leading zero limb +mpi_cmp_mpi:"":"-0000000000000000123":1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative with leading zero limb +mpi_cmp_mpi:"0":"-0000000000000000123":1 + +Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (null) +mpi_cmp_mpi:"0000000000000000123":"":1 + +Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (1 limb) +mpi_cmp_mpi:"0000000000000000123":"0":1 + +Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (null) +mpi_cmp_mpi:"-0000000000000000123":"":-1 + +Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (1 limb) +mpi_cmp_mpi:"-0000000000000000123":"0":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) < large positive +mpi_cmp_mpi:"":"1230000000000000000":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < large positive +mpi_cmp_mpi:"0":"1230000000000000000":-1 + +Test mbedtls_mpi_cmp_mpi: 0 (null) > large negative +mpi_cmp_mpi:"":"-1230000000000000000":1 + +Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > large negative +mpi_cmp_mpi:"0":"-1230000000000000000":1 + +Test mbedtls_mpi_cmp_mpi: large positive > 0 (null) +mpi_cmp_mpi:"1230000000000000000":"":1 + +Test mbedtls_mpi_cmp_mpi: large positive > 0 (1 limb) +mpi_cmp_mpi:"1230000000000000000":"0":1 + +Test mbedtls_mpi_cmp_mpi: large negative < 0 (null) +mpi_cmp_mpi:"-1230000000000000000":"":-1 + +Test mbedtls_mpi_cmp_mpi: large negative < 0 (1 limb) +mpi_cmp_mpi:"-1230000000000000000":"0":-1 + +Base test mbedtls_mpi_lt_mpi_ct #1 +mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0 + +Base test mbedtls_mpi_lt_mpi_ct #2 +mpi_lt_mpi_ct:1:"2B5":1:"2B4":0:0 + +Base test mbedtls_mpi_lt_mpi_ct #3 +mpi_lt_mpi_ct:1:"2B5":1:"2B6":1:0 + +Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1 +mpi_lt_mpi_ct:1:"-2":1:"-2":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2 +mpi_lt_mpi_ct:1:"-2":1:"-3":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3 +mpi_lt_mpi_ct:1:"-2":1:"-1":1:0 + +Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #1 +mpi_lt_mpi_ct:1:"-3":1:"2":1:0 + +Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #2 +mpi_lt_mpi_ct:1:"2":1:"-3":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #3 +mpi_lt_mpi_ct:2:"-2":2:"1C67967269C6":1:0 + +Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage) +mpi_lt_mpi_ct:3:"2B5":2:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage) +mpi_lt_mpi_ct:3:"2B5":4:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_lt_mpi_ct (length=0) +mpi_lt_mpi_ct:0:"":0:"":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #1 +mpi_lt_mpi_ct:2:"7FFFFFFFFFFFFFFF":2:"FF":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #2 +mpi_lt_mpi_ct:2:"8000000000000000":2:"7FFFFFFFFFFFFFFF":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #3 +mpi_lt_mpi_ct:2:"8000000000000000":2:"1":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #4 +mpi_lt_mpi_ct:2:"8000000000000000":2:"0":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #5 +mpi_lt_mpi_ct:2:"FFFFFFFFFFFFFFFF":2:"FF":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #1 +mpi_lt_mpi_ct:1:"7FFFFFFF":1:"FF":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #2 +mpi_lt_mpi_ct:1:"80000000":1:"7FFFFFFF":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #3 +mpi_lt_mpi_ct:1:"80000000":1:"1":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #4 +mpi_lt_mpi_ct:1:"80000000":1:"0":0:0 + +Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #5 +mpi_lt_mpi_ct:1:"FFFFFFFF":1:"FF":0:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (XY, equal MS limbs) +mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFF1":2:"-EEFFFFFFFFFFFFFFFF":0:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (X=Y) +mpi_lt_mpi_ct:2:"EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":0:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (X=-Y) +mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":1:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #1 +mpi_lt_mpi_ct:2:"11FFFFFFFFFFFFFFFF":2:"FF1111111111111111":1:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #2 +mpi_lt_mpi_ct:2:"FF1111111111111111":2:"11FFFFFFFFFFFFFFFF":0:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #3 +mpi_lt_mpi_ct:2:"-11FFFFFFFFFFFFFFFF":2:"-FF1111111111111111":0:0 + +Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #4 +mpi_lt_mpi_ct:2:"-FF1111111111111111":2:"-11FFFFFFFFFFFFFFFF":1:0 + +Base test mbedtls_mpi_cmp_abs #1 +mpi_cmp_abs:"2b5":"2b5":0 + +Base test mbedtls_mpi_cmp_abs #2 +mpi_cmp_abs:"2b5":"2b4":1 + +Base test mbedtls_mpi_cmp_abs #3 +mpi_cmp_abs:"2b5":"2b6":-1 + +Base test mbedtls_mpi_cmp_abs (Negative values) #1 +mpi_cmp_abs:"-2":"-2":0 + +Base test mbedtls_mpi_cmp_abs (Negative values) #2 +mpi_cmp_abs:"-2":"-3":-1 + +Base test mbedtls_mpi_cmp_abs (Negative values) #3 +mpi_cmp_abs:"-2":"-1":1 + +Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (null) +mpi_cmp_abs:"":"":0 + +Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (1 limb) +mpi_cmp_abs:"":"0":0 + +Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (null) +mpi_cmp_abs:"0":"":0 + +Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (1 limb) +mpi_cmp_abs:"0":"0":0 + +Base test mbedtls_mpi_cmp_abs (Mix values) #1 +mpi_cmp_abs:"-2":"2":0 + +Base test mbedtls_mpi_cmp_abs (Mix values) #2 +mpi_cmp_abs:"2":"-3":-1 + +Base test mbedtls_mpi_cmp_abs (Mix values) #3 +mpi_cmp_abs:"-2":"1":1 + +Copy large negative to large negative +mpi_copy:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" + +Copy large negative to large positive +mpi_copy:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" + +Copy large negative to small negative +mpi_copy:"-ca5cadedb01dfaceacc01ade":"-beef" + +Copy large negative to small positive +mpi_copy:"-ca5cadedb01dfaceacc01ade":"beef" + +Copy large negative to zero (1 limb) +mpi_copy:"-ca5cadedb01dfaceacc01ade":"0" + +Copy large negative to zero (null) +mpi_copy:"-ca5cadedb01dfaceacc01ade":"" + +Copy large positive to large negative +mpi_copy:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" + +Copy large positive to large positive +mpi_copy:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" + +Copy large positive to small negative +mpi_copy:"ca5cadedb01dfaceacc01ade":"-beef" + +Copy large positive to small positive +mpi_copy:"ca5cadedb01dfaceacc01ade":"beef" + +Copy large positive to zero (1 limb) +mpi_copy:"ca5cadedb01dfaceacc01ade":"0" + +Copy large positive to zero (null) +mpi_copy:"ca5cadedb01dfaceacc01ade":"" + +Copy small negative to large negative +mpi_copy:"-bead":"-face1e55ca11ab1ecab005e5" + +Copy small negative to large positive +mpi_copy:"-bead":"face1e55ca11ab1ecab005e5" + +Copy small negative to small negative +mpi_copy:"-bead":"-beef" + +Copy small negative to small positive +mpi_copy:"-bead":"beef" + +Copy small negative to zero (1 limb) +mpi_copy:"-bead":"0" + +Copy small negative to zero (null) +mpi_copy:"-bead":"" + +Copy small positive to large negative +mpi_copy:"bead":"-face1e55ca11ab1ecab005e5" + +Copy small positive to large positive +mpi_copy:"bead":"face1e55ca11ab1ecab005e5" + +Copy small positive to small negative +mpi_copy:"bead":"-beef" + +Copy small positive to small positive +mpi_copy:"bead":"beef" + +Copy small positive to zero (1 limb) +mpi_copy:"bead":"0" + +Copy small positive to zero (null) +mpi_copy:"bead":"" + +Copy zero (1 limb) to large negative +mpi_copy:"0":"-face1e55ca11ab1ecab005e5" + +Copy zero (1 limb) to large positive +mpi_copy:"0":"face1e55ca11ab1ecab005e5" + +Copy zero (1 limb) to small negative +mpi_copy:"0":"-beef" + +Copy zero (1 limb) to small positive +mpi_copy:"0":"beef" + +Copy zero (1 limb) to zero (1 limb) +mpi_copy:"0":"0" + +Copy zero (1 limb) to zero (null) +mpi_copy:"0":"" + +Copy zero (null) to large negative +mpi_copy:"":"-face1e55ca11ab1ecab005e5" + +Copy zero (null) to large positive +mpi_copy:"":"face1e55ca11ab1ecab005e5" + +Copy zero (null) to small negative +mpi_copy:"":"-beef" + +Copy zero (null) to small positive +mpi_copy:"":"beef" + +Copy zero (null) to zero (1 limb) +mpi_copy:"":"0" + +Copy zero (null) to zero (null) +mpi_copy:"":"" + +Copy self: large negative +mpi_copy_self:"-ca5cadedb01dfaceacc01ade" + +Copy self: large positive +mpi_copy_self:"ca5cadedb01dfaceacc01ade" + +Copy self: small negative +mpi_copy_self:"-bead" + +Copy self: small positive +mpi_copy_self:"bead" + +Copy self: zero (1 limb) +mpi_copy_self:"0" + +Copy self: zero (null) +mpi_copy_self:"" + +Swap large negative with large negative +mpi_swap:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" + +Swap large negative with large positive +mpi_swap:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" + +Swap large negative with small negative +mpi_swap:"-ca5cadedb01dfaceacc01ade":"-beef" + +Swap large negative with small positive +mpi_swap:"-ca5cadedb01dfaceacc01ade":"beef" + +Swap large negative with zero (1 limb) +mpi_swap:"-ca5cadedb01dfaceacc01ade":"0" + +Swap large negative with zero (null) +mpi_swap:"-ca5cadedb01dfaceacc01ade":"" + +Swap large positive with large negative +mpi_swap:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" + +Swap large positive with large positive +mpi_swap:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" + +Swap large positive with small negative +mpi_swap:"ca5cadedb01dfaceacc01ade":"-beef" + +Swap large positive with small positive +mpi_swap:"ca5cadedb01dfaceacc01ade":"beef" + +Swap large positive with zero (1 limb) +mpi_swap:"ca5cadedb01dfaceacc01ade":"0" + +Swap large positive with zero (null) +mpi_swap:"ca5cadedb01dfaceacc01ade":"" + +Swap small negative with large negative +mpi_swap:"-bead":"-face1e55ca11ab1ecab005e5" + +Swap small negative with large positive +mpi_swap:"-bead":"face1e55ca11ab1ecab005e5" + +Swap small negative with small negative +mpi_swap:"-bead":"-beef" + +Swap small negative with small positive +mpi_swap:"-bead":"beef" + +Swap small negative with zero (1 limb) +mpi_swap:"-bead":"0" + +Swap small negative with zero (null) +mpi_swap:"-bead":"" + +Swap small positive with large negative +mpi_swap:"bead":"-face1e55ca11ab1ecab005e5" + +Swap small positive with large positive +mpi_swap:"bead":"face1e55ca11ab1ecab005e5" + +Swap small positive with small negative +mpi_swap:"bead":"-beef" + +Swap small positive with small positive +mpi_swap:"bead":"beef" + +Swap small positive with zero (1 limb) +mpi_swap:"bead":"0" + +Swap small positive with zero (null) +mpi_swap:"bead":"" + +Swap zero (1 limb) with large negative +mpi_swap:"0":"-face1e55ca11ab1ecab005e5" + +Swap zero (1 limb) with large positive +mpi_swap:"0":"face1e55ca11ab1ecab005e5" + +Swap zero (1 limb) with small negative +mpi_swap:"0":"-beef" + +Swap zero (1 limb) with small positive +mpi_swap:"0":"beef" + +Swap zero (1 limb) with zero (1 limb) +mpi_swap:"0":"0" + +Swap zero (1 limb) with zero (null) +mpi_swap:"0":"" + +Swap zero (null) with large negative +mpi_swap:"":"-face1e55ca11ab1ecab005e5" + +Swap zero (null) with large positive +mpi_swap:"":"face1e55ca11ab1ecab005e5" + +Swap zero (null) with small negative +mpi_swap:"":"-beef" + +Swap zero (null) with small positive +mpi_swap:"":"beef" + +Swap zero (null) with zero (1 limb) +mpi_swap:"":"0" + +Swap zero (null) with zero (null) +mpi_swap:"":"" + +Swap self: large negative +mpi_swap_self:"-ca5cadedb01dfaceacc01ade" + +Swap self: large positive +mpi_swap_self:"ca5cadedb01dfaceacc01ade" + +Swap self: small negative +mpi_swap_self:"-bead" + +Swap self: small positive +mpi_swap_self:"bead" + +Swap self: zero (1 limb) +mpi_swap_self:"0" + +Swap self: zero (null) +mpi_swap_self:"" + +Shrink 0 limbs in a buffer of size 0 to 0 +mpi_shrink:0:0:0:0 + +Shrink 2 limbs in a buffer of size 2 to 4 +mpi_shrink:2:2:4:4 + +Shrink 2 limbs in a buffer of size 4 to 4 +mpi_shrink:4:2:4:4 + +Shrink 2 limbs in a buffer of size 8 to 4 +mpi_shrink:8:2:4:4 + +Shrink 4 limbs in a buffer of size 8 to 4 +mpi_shrink:8:4:4:4 + +Shrink 6 limbs in a buffer of size 8 to 4 yielding 6 +mpi_shrink:8:6:4:6 + +Shrink 2 limbs in a buffer of size 4 to 0 yielding 2 +mpi_shrink:4:2:0:2 + +Shrink 1 limbs in a buffer of size 4 to 0 yielding 1 +mpi_shrink:4:1:0:1 + +Shrink 0 limbs in a buffer of size 4 to 0 yielding 1 +mpi_shrink:4:0:0:1 + +Base test mbedtls_mpi_add_abs #1 +mpi_add_abs:"bc614e":"9cde3":"c62f31" + +Base test mbedtls_mpi_add_abs #2 +mpi_add_abs:"-bc614e":"9cde3":"c62f31" + +Base test mbedtls_mpi_add_abs #3 +mpi_add_abs:"bc614e":"-9cde3":"c62f31" + +Base test mbedtls_mpi_add_abs #4 +mpi_add_abs:"-bc614e":"-9cde3":"c62f31" + +Test mbedtls_mpi_add_abs: 0 (null) + 0 (null) +mpi_add_abs:"":"":"0" + +Test mbedtls_mpi_add_abs: 0 (null) + 1 +mpi_add_abs:"":"01":"01" + +Test mbedtls_mpi_add_abs: 1 + 0 (null) +mpi_add_abs:"01":"":"01" + +Test mbedtls_mpi_add_abs #1 +mpi_add_abs:"-1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424" + +Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#1] +mpi_add_abs:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":"08":"1000000000000000000000000000000" + +Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#2] +mpi_add_abs:"08":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":"1000000000000000000000000000000" + +Base test mbedtls_mpi_add_mpi #1 +mpi_add_mpi:"bc614e":"9cde3":"c62f31" + +Base test mbedtls_mpi_add_mpi #2 +mpi_add_mpi:"-bc614e":"9cde3":"-b2936b" + +Base test mbedtls_mpi_add_mpi #3 +mpi_add_mpi:"bc614e":"-9cde3":"b2936b" + +Base test mbedtls_mpi_add_mpi #4 +mpi_add_mpi:"-bc614e":"-9cde3":"-c62f31" + +Test mbedtls_mpi_add_mpi: 0 (null) + 0 (null) +mpi_add_mpi:"":"":"0" + +Test mbedtls_mpi_add_mpi: 0 (null) + 1 +mpi_add_mpi:"":"01":"01" + +Test mbedtls_mpi_add_mpi: 1 + 0 (null) +mpi_add_mpi:"01":"":"01" + +Test mbedtls_mpi_add_mpi: 0 (null) + -1 +mpi_add_mpi:"":"-01":"-01" + +Test mbedtls_mpi_add_mpi: -1 + 0 (null) +mpi_add_mpi:"-01":"":"-01" + +Test mbedtls_mpi_add_mpi #1 +mpi_add_mpi:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":"1194815323a3b10dc8cb9293d7c85b719d79974dd43a0e4de3a5babaee7276e428559e1caa42d296a6234b1628323acff85fd798f9632d6b3d437c122ddb0c8ec215a8159a1fe2aaa91390af0b8cf65967dde43439da979d0d23b88fe14a13e30407471f77bb1c10ef08ca8af2f29f92b2874bcd5065bd2fc58b1ea366" + +Test mbedtls_mpi_add_mpi #2 +mpi_add_mpi:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424" + +Base test mbedtls_mpi_add_mpi inplace #1 +mpi_add_mpi_inplace:"bc614e":"178c29c" + +Test mbedtls_mpi_add_mpi inplace #2 +mpi_add_mpi_inplace:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"3eaa665874917221f3285ed9229cb17de6f48fdc8b962c94b6d71a200d7eb340b3842893273d7d7fbea2fa5c3b75910021af63e283d32f7ad003bb5d93a0b221e9e5bc56589ae29c58294e5f8fe2f54851ab38a62c4fe12" + +Test mbedtls_mpi_add_mpi inplace #3 +mpi_add_mpi_inplace:"ffffffffffffffffffffffffffffffff":"01fffffffffffffffffffffffffffffffe" + +Test mbedtls_mpi_add_int #1 +mpi_add_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9343e109" + +Test mbedtls_mpi_add_int #2 +mpi_add_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9216a209" + +Test mbedtls_mpi_add_int: 0 (null) + 0 +mpi_add_int:"":0:"0" + +Test mbedtls_mpi_add_int: 0 (null) + 1 +mpi_add_int:"":1:"1" + +Base test mbedtls_mpi_sub_abs #1 (|B| > |A|) +mpi_sub_abs:"5":"7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #2 (|B| > |A|) +mpi_sub_abs:"-5":"-7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #3 (|B| > |A|) +mpi_sub_abs:"-5":"7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #4 (|B| > |A|) +mpi_sub_abs:"5":"-7":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #1 (|B| >> |A| with more limbs) +mpi_sub_abs:"5":"123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #2 (|B| >> |A| with more limbs) +mpi_sub_abs:"-5":"-123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #3 (|B| >> |A| with more limbs) +mpi_sub_abs:"-5":"123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #4 (|B| >> |A| with more limbs) +mpi_sub_abs:"5":"-123456789abcdef01":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_sub_abs #1 +mpi_sub_abs:"7":"5":"2":0 + +Base test mbedtls_mpi_sub_abs #2 +mpi_sub_abs:"-7":"-5":"2":0 + +Base test mbedtls_mpi_sub_abs #3 +mpi_sub_abs:"-7":"5":"2":0 + +Base test mbedtls_mpi_sub_abs #4 +mpi_sub_abs:"7":"-5":"2":0 + +Test mbedtls_mpi_sub_abs: 0 (null) - 0 (null) +mpi_sub_abs:"":"":"":0 + +Test mbedtls_mpi_sub_abs: 0 (null) - 0 (1 limb) +mpi_sub_abs:"":"00":"":0 + +Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (null) +mpi_sub_abs:"00":"":"":0 + +Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (1 limb) +mpi_sub_abs:"00":"00":"":0 + +Test mbedtls_mpi_sub_abs: 1 - 0 (null) +mpi_sub_abs:"01":"":"01":0 + +Test mbedtls_mpi_sub_abs: 0 (null) - 1 +mpi_sub_abs:"":"01":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Test mbedtls_mpi_sub_abs #1 +mpi_sub_abs:"FFFFFFFFFF":"01":"FFFFFFFFFE":0 + +Test mbedtls_mpi_sub_abs #2 +mpi_sub_abs:"FFFFFFFFF0":"01":"FFFFFFFFEF":0 + +Test mbedtls_mpi_sub_abs #3 +mpi_sub_abs:"FF00000000":"0F00000000":"F000000000":0 + +Test mbedtls_mpi_sub_abs #4 +mpi_sub_abs:"FF00000000":"0F00000001":"EFFFFFFFFF":0 + +Base test mbedtls_mpi_sub_mpi #1 (Test with negative result) +mpi_sub_mpi:"5":"7":"-2" + +Base test mbedtls_mpi_sub_mpi #2 (Test with negative inputs) +mpi_sub_mpi:"-5":"-7":"2" + +Base test mbedtls_mpi_sub_mpi #3 (Test with negative base) +mpi_sub_mpi:"-5":"7":"-c" + +Base test mbedtls_mpi_sub_mpi #4 (Test with negative subtraction) +mpi_sub_mpi:"5":"-7":"c" + +Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (null) +mpi_sub_mpi:"":"":"0" + +Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (1 limb) +mpi_sub_mpi:"":"00":"0" + +Test mbedtls_mpi_sub_mpi: 0 (null) - 1 +mpi_sub_mpi:"":"1":"-1" + +Test mbedtls_mpi_sub_mpi: 0 (null) - -1 +mpi_sub_mpi:"":"-1":"1" + +Test mbedtls_mpi_sub_mpi: 0 (1 limb) - 0 (null) +mpi_sub_mpi:"00":"":"0" + +Test mbedtls_mpi_sub_mpi: 1 - 0 (null) +mpi_sub_mpi:"1":"":"1" + +Test mbedtls_mpi_sub_mpi: -1 - 0 (null) +mpi_sub_mpi:"-1":"":"-1" + +Test mbedtls_mpi_sub_mpi #1 +mpi_sub_mpi:"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7d59bb22d0ccd7c1334b894851e69c098d02afef307ad3685a53b64082d787c232916b1657ae5ba8baacbd0f85357e53a6530270289bd45afcb8c984ae8b9770eecaf7c83f77e2827ce0ec315ddcb4495d3cf03451969c92c77c21e056888d1c672b3058287b351732b00fdc58c4dd7152abd8627b3b957c0ea314110" + +Test mbedtls_mpi_sub_mpi #2 (Test for negative result) +mpi_sub_mpi:"1f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":"941379d00fed1491dec0abfc13b52b9049625b3c42c3a972a2549e7a3e1b12c5a304b23e9ed6e251b8af28a4b3124900b23138bfafda925ab3410d57d6f8f0dd8c8c32eb0b4329fbf792e43f9593e766fa0c3c0be077b4e5162616a6428c51b":"-941379d00fed1491bf6b78cfd96c727f4fce2bcfb17550b3aeda568bf84ffc7b4799252e981788b15eed145b1f738a40d2dfbb91921fc9daa2695b66950f5920248a553c4172d0eb02a0061469467618cdf794dc18863a40ed507a532c64612" + +Test mbedtls_mpi_sub_int #1 +mpi_sub_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9343e109" + +Test mbedtls_mpi_sub_int #2 +mpi_sub_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd9216a209" + +Test mbedtls_mpi_sub_int: 0 (null) - 0 +mpi_sub_int:"":0:"0" + +Test mbedtls_mpi_sub_int: 0 (null) - 1 +mpi_sub_int:"":1:"-1" + +Test mbedtls_mpi_sub_int: 0 (null) - -1 +mpi_sub_int:"":-1:"1" + +Test mbedtls_mpi_shift_l #1 +mpi_shift_l:"40":1:"80" + +Test mbedtls_mpi_shift_l #2 +mpi_shift_l:"1946e2958a85d8863ae21f4904fcc49478412534ed53eaf321f63f2a2227a3c63acbf50b6305595f90cfa8327f6db80d986fe96080bcbb5df1bdbe9b74fb8dedf2bddb3f8215b54dffd66409323bcc473e45a8fe9d08e77a511698b5dad0416305db7fcf":37:"328dc52b150bb10c75c43e9209f98928f0824a69daa7d5e643ec7e54444f478c7597ea16c60ab2bf219f5064fedb701b30dfd2c1017976bbe37b7d36e9f71bdbe57bb67f042b6a9bffacc8126477988e7c8b51fd3a11cef4a22d316bb5a082c60bb6ff9e000000000" + +Test mbedtls_mpi_shift_l: 0 (null) <<= 0 +mpi_shift_l:"":0:"0" + +Test mbedtls_mpi_shift_l: 0 (null) <<= 1 +mpi_shift_l:"":1:"0" + +Test mbedtls_mpi_shift_l: 0 (null) <<= 64 +mpi_shift_l:"":64:"0" + +Test mbedtls_mpi_shift_r #1 +mpi_shift_r:"80":1:"40" + +Test mbedtls_mpi_shift_r #2 +mpi_shift_r:"4a36ce2a2eba161116629d6196efb17ee4f01ef753cd32b9e952d4d69e4b2401e85e0c3ba0ea761f44e312db10209fb6b38963c9c0302dc67b1b531c32301d8d341968c734387ef8bc2496051e0bb530975839852d8dd15684788f9dca62cb0c372ac51":45:"251b6715175d0b088b314eb0cb77d8bf72780f7ba9e6995cf4a96a6b4f259200f42f061dd0753b0fa271896d88104fdb59c4b1e4e01816e33d8da98e19180ec69a0cb4639a1c3f7c5e124b028f05da984bac1cc296c6e8ab423c47cee531" + +Test mbedtls_mpi_shift_r #4 [#1] +mpi_shift_r:"FFFFFFFFFFFFFFFF":63:"01" + +Test mbedtls_mpi_shift_r #4 [#2] +mpi_shift_r:"FFFFFFFFFFFFFFFF":64:"00" + +Test mbedtls_mpi_shift_r #6 +mpi_shift_r:"FFFFFFFFFFFFFFFF":65:"00" + +Test mbedtls_mpi_shift_r #7 +mpi_shift_r:"FFFFFFFFFFFFFFFF":128:"00" + +Test mbedtls_mpi_shift_r: 0 (null) >>= 0 +mpi_shift_r:"":0:"0" + +Test mbedtls_mpi_shift_r: 0 (null) >>= 1 +mpi_shift_r:"":1:"0" + +Test mbedtls_mpi_shift_r: 0 (null) >>= 64 +mpi_shift_r:"":64:"0" + +Base test mbedtls_mpi_mul_mpi #1 +mpi_mul_mpi:"5":"7":"23" + +Base test mbedtls_mpi_mul_mpi #2 +mpi_mul_mpi:"-5":"7":"-23" + +Base test mbedtls_mpi_mul_mpi #3 +mpi_mul_mpi:"5":"-7":"-23" + +Base test mbedtls_mpi_mul_mpi #4 +mpi_mul_mpi:"-5":"-7":"23" + +Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (null) +mpi_mul_mpi:"":"":"0" + +Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (1 limb) +mpi_mul_mpi:"":"00":"0" + +Test mbedtls_mpi_mul_mpi: 0 (null) * 1 +mpi_mul_mpi:"":"01":"0" + +Test mbedtls_mpi_mul_mpi: 0 (null) * -1 +mpi_mul_mpi:"":"-01":"0" + +Test mbedtls_mpi_mul_mpi: 0 (1 limb) * -1 +mpi_mul_mpi:"00":"-01":"0" + +Test mbedtls_mpi_mul_mpi: 0 (1 limb) * 0 (null) +mpi_mul_mpi:"00":"":"0" + +Test mbedtls_mpi_mul_mpi: 1 * 0 (null) +mpi_mul_mpi:"01":"":"0" + +Test mbedtls_mpi_mul_mpi: -1 * 0 (null) +mpi_mul_mpi:"-01":"":"0" + +Test mbedtls_mpi_mul_mpi: -1 * 0 (1 limb) +mpi_mul_mpi:"-01":"00":"0" + +Test mbedtls_mpi_mul_mpi #1 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A +mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0 +mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, B < 0 +mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0, B < 0 +mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B +mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0 +mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, B < 0 +mpi_mul_mpi:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0, B < 0 +mpi_mul_mpi:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, B < 0 +mpi_mul_mpi:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0, B < 0 +mpi_mul_mpi:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" + +Test mbedtls_mpi_mul_int #1 +mpi_mul_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"==" + +Test mbedtls_mpi_mul_int #2 (Unsigned, thus failure) +mpi_mul_int:"10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"-9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"!=" + +Test mbedtls_mpi_mul_int #3 +mpi_mul_int:"-10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":9871232:"-9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"==" + +Test mbedtls_mpi_mul_int #4 (Unsigned, thus failure) +mpi_mul_int:"-10cc4ebcb68cbdaa438b80692d9e586b384ae3e1fa33f3db5962d394bec17fd92ad4189":-9871232:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"!=" + +Test mbedtls_mpi_mul_int: 0 (null) * 0 +mpi_mul_int:"":0:"":"==" + +Test mbedtls_mpi_mul_int: 0 (null) * 1 +mpi_mul_int:"":1:"":"==" + +Test mbedtls_mpi_mul_int: 0 (null) * 0x1234 +mpi_mul_int:"":0x1234:"":"==" + +Base test mbedtls_mpi_div_mpi #1 +mpi_div_mpi:"3e8":"d":"4c":"c":0 + +Base test mbedtls_mpi_div_mpi #2 (Divide by zero (1 limb)) +mpi_div_mpi:"3e8":"0":"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_div_mpi #2 (Divide by zero (null)) +mpi_div_mpi:"3e8":"":"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_div_mpi #3 +mpi_div_mpi:"3e8":"-d":"-4c":"c":0 + +Test mbedtls_mpi_div_mpi: 0 (null) / 0 (null) +mpi_div_mpi:"":"":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_mpi: 0 (null) / 0 (1 limb) +mpi_div_mpi:"":"0":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (null) +mpi_div_mpi:"0":"":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (1 limb) +mpi_div_mpi:"0":"0":"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_mpi: 0 (null) / 1 +mpi_div_mpi:"":"1":"":"":0 + +Test mbedtls_mpi_div_mpi: 0 (null) / -1 +mpi_div_mpi:"":"-1":"":"":0 + +Test mbedtls_mpi_div_mpi: -0 (null) / 1 +mpi_div_mpi:"-":"1":"":"":0 + +Test mbedtls_mpi_div_mpi: -0 (null) / -1 +mpi_div_mpi:"-":"-1":"":"":0 + +Test mbedtls_mpi_div_mpi: -0 (null) / 42 +mpi_div_mpi:"-":"2a":"":"":0 + +Test mbedtls_mpi_div_mpi: -0 (null) / -42 +mpi_div_mpi:"-":"-2a":"":"":0 + +Test mbedtls_mpi_div_mpi #1 +mpi_div_mpi:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":"22":"4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0 + +Test mbedtls_mpi_div_mpi #2 +mpi_div_mpi:"503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5a":"2f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":"1b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":"1":0 + +Test mbedtls_mpi_div_mpi #3 +mpi_div_mpi:"3e8":"7":"8e":"6":0 + +Test mbedtls_mpi_div_mpi #4 +mpi_div_mpi:"309":"7":"6f":"0":0 + +Base test mbedtls_mpi_div_int #1 +mpi_div_int:"3e8":13:"4c":"c":0 + +Base test mbedtls_mpi_div_int #2 (Divide by zero) +mpi_div_int:"3e8":0:"1":"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_div_int #3 +mpi_div_int:"3e8":-13:"-4c":"c":0 + +Test mbedtls_mpi_div_int #1 +mpi_div_int:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":34:"4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0 + +Test mbedtls_mpi_div_int #2 +mpi_div_int:"9e22d6da18a33d1ef28d2a82242b3f6e9c9742f63e5d440f58a190bfaf23a7866e67589adb80":-34:"-4a6abf75b13dc268ea9cc8b5b6aaf0ac85ecd437a4e0987fb13cf8d2acc57c0306c738c1583":"1a":0 + +Test mbedtls_mpi_div_int: 0 (null) / 0 +mpi_div_int:"":0:"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_int: 0 (1 limb) / 0 +mpi_div_int:"00":0:"":"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Test mbedtls_mpi_div_int: 0 (null) / 1 +mpi_div_int:"":1:"":"":0 + +Base test mbedtls_mpi_mod_mpi #1 +mpi_mod_mpi:"3e8":"d":"c":0 + +Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (null)) +mpi_mod_mpi:"3e8":"":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (1 limb)) +mpi_mod_mpi:"3e8":"0":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_mod_mpi #3 +mpi_mod_mpi:"-3e8":"d":"1":0 + +Base test mbedtls_mpi_mod_mpi #4 (Negative modulo) +mpi_mod_mpi:"3e8":"-d":"-1":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_mod_mpi #5 (Negative modulo) +mpi_mod_mpi:"-3e8":"-d":"-c":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Test mbedtls_mpi_mod_mpi: 0 (null) % 1 +mpi_mod_mpi:"":"1":"":0 + +Test mbedtls_mpi_mod_mpi: 0 (null) % -1 +mpi_mod_mpi:"":"-1":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Test mbedtls_mpi_mod_mpi: -0 (null) % 1 +mpi_mod_mpi:"-":"1":"":0 + +Test mbedtls_mpi_mod_mpi: -0 (null) % -1 +mpi_mod_mpi:"-":"-1":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Test mbedtls_mpi_mod_mpi: -0 (null) % 42 +mpi_mod_mpi:"-":"2a":"":0 + +Test mbedtls_mpi_mod_mpi: -0 (null) % -42 +mpi_mod_mpi:"-":"-2a":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_mod_int #1 +mpi_mod_int:"3e8":"d":"c":0 + +Base test mbedtls_mpi_mod_int #2 (Divide by zero) +mpi_mod_int:"3e8":"0":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO + +Base test mbedtls_mpi_mod_int #3 +mpi_mod_int:"-3e8":"d":"1":0 + +Base test mbedtls_mpi_mod_int #4 (Negative modulo) +mpi_mod_int:"3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_mod_int #5 (Negative modulo) +mpi_mod_int:"-3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Base test mbedtls_mpi_mod_int #6 (By 1) +mpi_mod_int:"3e8":"1":"0":0 + +Base test mbedtls_mpi_mod_int #7 (By 2) +mpi_mod_int:"3e9":"2":"1":0 + +Base test mbedtls_mpi_mod_int #8 (By 2) +mpi_mod_int:"3e8":"2":"0":0 + +Test mbedtls_mpi_mod_int: 0 (null) % 1 +mpi_mod_int:"":"1":"0":0 + +Test mbedtls_mpi_mod_int: 0 (null) % 2 +mpi_mod_int:"":"2":"0":0 + +Test mbedtls_mpi_mod_int: 0 (null) % -1 +mpi_mod_int:"":"-1":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +Test mbedtls_mpi_mod_int: 0 (null) % -2 +mpi_mod_int:"":"-2":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE + +# CURRENTLY FAILS - SEE GITHUB ISSUE #6540 +#Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810 +#depends_on:MBEDTLS_HAVE_INT64 +#mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0 + +Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810 +mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0 + +# CURRENTLY FAILS - SEE GITHUB ISSUE #6540 +#Test mbedtls_mpi_mod_int: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0 +#depends_on:MBEDTLS_HAVE_INT64 +#mpi_mod_int:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0 + +Test mbedtls_mpi_mod_mpi: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0 +mpi_mod_mpi:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0 + +# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE +Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 1205652040 -> 3644370 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0 + +Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 1205652040 -> 3644370 +mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0 + +# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE +Test mbedtls_mpi_mod_int: 230772460340063000000100500000296355640 % 1205652040 -> 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0 + +Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000296355640 % 1205652040 -> 0 +mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0 + +Base test mbedtls_mpi_exp_mod #1 +mpi_exp_mod:"17":"d":"1d":"18":0 + +Base test mbedtls_mpi_exp_mod #2 (Even N) +mpi_exp_mod:"17":"d":"1e":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_exp_mod #2 (N = 0 (null)) +mpi_exp_mod:"17":"d":"":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_exp_mod #3 (Negative N) +mpi_exp_mod:"17":"d":"-1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_exp_mod #4 (Negative base) +mpi_exp_mod:"-17":"d":"1d":"5":0 + +Base test mbedtls_mpi_exp_mod #5 (Negative exponent) +mpi_exp_mod:"17":"-d":"1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Base test mbedtls_mpi_exp_mod #6 (Negative base + exponent) +mpi_exp_mod:"-17":"-d":"1d":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (null) mod 9 +mpi_exp_mod:"":"":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (1 limb) mod 9 +mpi_exp_mod:"":"00":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 0 (null) ^ 1 mod 9 +mpi_exp_mod:"":"01":"09":"":0 + +Test mbedtls_mpi_exp_mod: 0 (null) ^ 2 mod 9 +mpi_exp_mod:"":"02":"09":"":0 + +Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (null) mod 9 +mpi_exp_mod:"00":"":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (1 limb) mod 9 +mpi_exp_mod:"00":"00":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 1 mod 9 +mpi_exp_mod:"00":"01":"09":"":0 + +Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 2 mod 9 +mpi_exp_mod:"00":"02":"09":"":0 + +Test mbedtls_mpi_exp_mod: 1 ^ 0 (null) mod 9 +mpi_exp_mod:"01":"":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 4 ^ 0 (null) mod 9 +mpi_exp_mod:"04":"":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 10 ^ 0 (null) mod 9 +mpi_exp_mod:"0a":"":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 1 ^ 0 (1 limb) mod 9 +mpi_exp_mod:"01":"00":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 4 ^ 0 (1 limb) mod 9 +mpi_exp_mod:"04":"00":"09":"1":0 + +Test mbedtls_mpi_exp_mod: 10 ^ 0 (1 limb) mod 9 +mpi_exp_mod:"0a":"00":"09":"1":0 + +Test mbedtls_mpi_exp_mod: MAX_SIZE exponent +mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:10:"":0 + +Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent +mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_exp_mod: MAX_SIZE modulus +mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE:"":0 + +Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 modulus +mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE + 1:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_exp_mod: MAX_SIZE exponent and modulus +mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:"":0 + +Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent and modulus +mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:MBEDTLS_MPI_MAX_SIZE + 1:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_exp_mod #1 +depends_on:MPI_MAX_BITS_LARGER_THAN_792 +mpi_exp_mod:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"11a9351d2d32ccd568e75bf8b4ebbb2a36be691b55832edac662ff79803df8af525fba453068be16ac3920bcc1b468f8f7fe786e0fa4ecbabcad31e5e3b05def802eb8600deaf11ef452487db878df20a80606e4bb6a163b83895d034cc8b53dbcd005be42ffdd2ce99bed06089a0b79d":"37880b547b41bda303bddda307eefe24b4aedf076c9b814b903aaf328a10825c7e259a20afc6b70b487bb21a6d32d0ee98a0b9f42ff812c901e2f79237fe3e00856992dd69d93ebc0664c75863829621751b0ac35a8ae8a0965841607d3099b8e0ed24442749ba09acbcb165598dcd40":0 + +Test mbedtls_mpi_exp_mod (Negative base) [#1] +mpi_exp_mod:"-2540be400":"2540be400":"1869f":"1":0 + +Test mbedtls_mpi_exp_mod (Negative base) [#2] +depends_on:MPI_MAX_BITS_LARGER_THAN_792 +mpi_exp_mod:"-9f13012cd92aa72fb86ac8879d2fde4f7fd661aaae43a00971f081cc60ca277059d5c37e89652e2af2585d281d66ef6a9d38a117e9608e9e7574cd142dc55278838a2161dd56db9470d4c1da2d5df15a908ee2eb886aaa890f23be16de59386663a12f1afbb325431a3e835e3fd89b98b96a6f77382f458ef9a37e1f84a03045c8676ab55291a94c2228ea15448ee96b626b998":"40a54d1b9e86789f06d9607fb158672d64867665c73ee9abb545fc7a785634b354c7bae5b962ce8040cf45f2c1f3d3659b2ee5ede17534c8fc2ec85c815e8df1fe7048d12c90ee31b88a68a081f17f0d8ce5f4030521e9400083bcea73a429031d4ca7949c2000d597088e0c39a6014d8bf962b73bb2e8083bd0390a4e00b9b3":"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":"21acc7199e1b90f9b4844ffe12c19f00ec548c5d32b21c647d48b6015d8eb9ec9db05b4f3d44db4227a2b5659c1a7cceb9d5fa8fa60376047953ce7397d90aaeb7465e14e820734f84aa52ad0fc66701bcbb991d57715806a11531268e1e83dd48288c72b424a6287e9ce4e5cc4db0dd67614aecc23b0124a5776d36e5c89483":0 + +Base test GCD #1 +mpi_gcd:"2b5":"261":"15" + +Base test GCD #2 +mpi_gcd:"6e4":"364":"1c" + +Base test GCD #3 +mpi_gcd:"2dcdb10b":"2050d306":"1" + +Test GCD: 0 (null), 0 (null) +mpi_gcd:"":"":"0" + +Test GCD: 0 (null), 0 (1 limb) +mpi_gcd:"":"00":"0" + +Test GCD: 0 (null), 3 +mpi_gcd:"":"03":"3" + +Test GCD: 0 (null), 6 +mpi_gcd:"":"06":"6" + +Test GCD: 0 (1 limb), 0 (null) +mpi_gcd:"00":"":"0" + +Test GCD: 0 (1 limb), 3 +mpi_gcd:"00":"03":"3" + +Test GCD: 0 (1 limb), 6 +mpi_gcd:"00":"06":"6" + +Test GCD: 3, 0 (null) +mpi_gcd:"03":"":"3" + +Test GCD: 3, 0 (1 limb) +mpi_gcd:"03":"00":"3" + +Test GCD: 6, 0 (null) +mpi_gcd:"06":"":"6" + +Test GCD: 6, 0 (1 limb) +mpi_gcd:"06":"00":"6" + +Test GCD: gcd=1, 0 < A < B +mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1" + +Test GCD: gcd=1, 0 < B < A +mpi_gcd:"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"1" + +Test GCD: gcd=1, A > 0, B < 0 +mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"-33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1" + +Test GCD: gcd=1, A < 0 < B, |A| < |B| +mpi_gcd:"-109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1" + +Test GCD: gcd=1, B < A < 0 +mpi_gcd:"-109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"-33ae3764fd06a00cdc3cba5c45dc79a9edb4e67e4d057cc74139d531c25190d111775fc4a0f4439b8b1930bbd766e7b46f170601f316c8a18ff8d5cb5ca5581f168345d101edb462b7d93b7c520ccb8fb276b447a63d869203cc11f67a1122dc4da034218de85e39":"1" + +Test GCD: gcd=2, 0 < A < B +mpi_gcd:"213fc8ae290cdcadfba95b36d6d0dbe4e4495f6f0d19e9e1976f28a4d2650a797e17dd4c2b282ccca9a279b3fc1b3b4b2952fdc40461e25f6a869bce7f69f0204e4b402c4566363d485c744ca032073583be630d37b2f261af25f6e59b552e3b15002b5e":"675c6ec9fa0d4019b87974b88bb8f353db69ccfc9a0af98e8273aa6384a321a222eebf8941e8873716326177aecdcf68de2e0c03e62d91431ff1ab96b94ab03e2d068ba203db68c56fb276f8a419971f64ed688f4c7b0d24079823ecf42245b89b4068431bd0bc72":"2" + +Test GCD: gcd=2, 0 < B < A +mpi_gcd:"675c6ec9fa0d4019b87974b88bb8f353db69ccfc9a0af98e8273aa6384a321a222eebf8941e8873716326177aecdcf68de2e0c03e62d91431ff1ab96b94ab03e2d068ba203db68c56fb276f8a419971f64ed688f4c7b0d24079823ecf42245b89b4068431bd0bc72":"213fc8ae290cdcadfba95b36d6d0dbe4e4495f6f0d19e9e1976f28a4d2650a797e17dd4c2b282ccca9a279b3fc1b3b4b2952fdc40461e25f6a869bce7f69f0204e4b402c4566363d485c744ca032073583be630d37b2f261af25f6e59b552e3b15002b5e":"2" + +Test GCD: gcd=3, 0 < A < B +mpi_gcd:"31dfad053d934b04f97e08d2423949d7566e0f2693a6ded26326bcf73b978fb63d23cbf240bc4332fe73b68dfa28d8f0bdfc7ca60692d38f1fc9e9b5bf1ee8307570e0426819515bec8aae72f04b0ad0459d9493d38c6b9286b8f25868ffc5589f80410d":"9b0aa62ef713e02694b62f14d1956cfdc91eb37ae7107655c3ad7f9546f4b27334661f4de2dccad2a14b92338634b71d4d451205d94459e4afea816215f0085d4389d17305c91d28278bb274f62662af17641cd6f2b893b60b6435e36e336894e8e09c64a9b91aab":"3" + +Test GCD: gcd=3, 0 < B < A +mpi_gcd:"9b0aa62ef713e02694b62f14d1956cfdc91eb37ae7107655c3ad7f9546f4b27334661f4de2dccad2a14b92338634b71d4d451205d94459e4afea816215f0085d4389d17305c91d28278bb274f62662af17641cd6f2b893b60b6435e36e336894e8e09c64a9b91aab":"31dfad053d934b04f97e08d2423949d7566e0f2693a6ded26326bcf73b978fb63d23cbf240bc4332fe73b68dfa28d8f0bdfc7ca60692d38f1fc9e9b5bf1ee8307570e0426819515bec8aae72f04b0ad0459d9493d38c6b9286b8f25868ffc5589f80410d":"3" + +Test GCD: gcd=4, 0 < A < B +mpi_gcd:"427f915c5219b95bf752b66dada1b7c9c892bede1a33d3c32ede5149a4ca14f2fc2fba98565059995344f367f836769652a5fb8808c3c4bed50d379cfed3e0409c9680588acc6c7a90b8e89940640e6b077cc61a6f65e4c35e4bedcb36aa5c762a0056bc":"ceb8dd93f41a803370f2e9711771e6a7b6d399f93415f31d04e754c70946434445dd7f1283d10e6e2c64c2ef5d9b9ed1bc5c1807cc5b22863fe3572d7295607c5a0d174407b6d18adf64edf148332e3ec9dad11e98f61a480f3047d9e8448b713680d08637a178e4":"4" + +Test GCD: gcd=4, 0 < B < A +mpi_gcd:"ceb8dd93f41a803370f2e9711771e6a7b6d399f93415f31d04e754c70946434445dd7f1283d10e6e2c64c2ef5d9b9ed1bc5c1807cc5b22863fe3572d7295607c5a0d174407b6d18adf64edf148332e3ec9dad11e98f61a480f3047d9e8448b713680d08637a178e4":"427f915c5219b95bf752b66dada1b7c9c892bede1a33d3c32ede5149a4ca14f2fc2fba98565059995344f367f836769652a5fb8808c3c4bed50d379cfed3e0409c9680588acc6c7a90b8e89940640e6b077cc61a6f65e4c35e4bedcb36aa5c762a0056bc":"4" + +Test GCD: gcd=6, 0 < A < B +mpi_gcd:"63bf5a0a7b269609f2fc11a4847293aeacdc1e4d274dbda4c64d79ee772f1f6c7a4797e481788665fce76d1bf451b1e17bf8f94c0d25a71e3f93d36b7e3dd060eae1c084d032a2b7d9155ce5e09615a08b3b2927a718d7250d71e4b0d1ff8ab13f00821a":"136154c5dee27c04d296c5e29a32ad9fb923d66f5ce20ecab875aff2a8de964e668cc3e9bc5b995a5429724670c696e3a9a8a240bb288b3c95fd502c42be010ba8713a2e60b923a504f1764e9ec4cc55e2ec839ade571276c16c86bc6dc66d129d1c138c953723556":"6" + +Test GCD: gcd=6, 0 < B < A +mpi_gcd:"136154c5dee27c04d296c5e29a32ad9fb923d66f5ce20ecab875aff2a8de964e668cc3e9bc5b995a5429724670c696e3a9a8a240bb288b3c95fd502c42be010ba8713a2e60b923a504f1764e9ec4cc55e2ec839ade571276c16c86bc6dc66d129d1c138c953723556":"63bf5a0a7b269609f2fc11a4847293aeacdc1e4d274dbda4c64d79ee772f1f6c7a4797e481788665fce76d1bf451b1e17bf8f94c0d25a71e3f93d36b7e3dd060eae1c084d032a2b7d9155ce5e09615a08b3b2927a718d7250d71e4b0d1ff8ab13f00821a":"6" + +Test GCD: 0 < A = B +mpi_gcd:"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af":"109fe45714866e56fdd4ad9b6b686df27224afb7868cf4f0cbb794526932853cbf0beea61594166654d13cd9fe0d9da594a97ee20230f12fb5434de73fb4f8102725a01622b31b1ea42e3a265019039ac1df31869bd97930d792fb72cdaa971d8a8015af" + +Base test mbedtls_mpi_inv_mod #1 +mpi_inv_mod:"3":"b":"4":0 + +Test mbedtls_mpi_inv_mod: mod 0 (null) +mpi_inv_mod:"3":"":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_inv_mod: mod 0 (1 limb) +mpi_inv_mod:"3":"0":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_inv_mod: mod negative +mpi_inv_mod:"3":"-b":"4":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_inv_mod: 2^-1 mod 4 +mpi_inv_mod:"2":"4":"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_inv_mod: mod 1 +mpi_inv_mod:"3":"1":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_inv_mod: 0 (null) ^-1 +mpi_inv_mod:"":"11":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_inv_mod: 0 (1 limb) ^-1 +mpi_inv_mod:"00":"11":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_inv_mod #1 +mpi_inv_mod:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0 + +Base test mbedtls_mpi_is_prime #1 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_is_prime #2 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_is_prime #3 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2":0 + +Base test mbedtls_mpi_is_prime #4 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"3":0 + +Base test mbedtls_mpi_is_prime #5 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"4":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_is_prime #6 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"5":0 + +Base test mbedtls_mpi_is_prime #7 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"1b":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_is_prime #8 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2f":0 + +Test mbedtls_mpi_is_prime #1a +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"b91ba63180c726fbd57786f27f1ede97a3b40c59a7fcfb5898f076e9af57028d":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_is_prime #1b +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"b3a119602ee213cde28581ecd892e0f592a338655dce4ca88054b3d124d0e561":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_is_prime #2a +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba0123":0 + +Test mbedtls_mpi_is_prime #2b +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba00c1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Test mbedtls_mpi_is_prime #3 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"257ffffffffffffffffff":0 + +Test mbedtls_mpi_is_prime #4 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"a1ffffffffffffffffffff":0 + +Test mbedtls_mpi_is_prime #5 [#1] +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"397ffffffffffffffffffffffffffff":0 + +Test mbedtls_mpi_is_prime #5 [#2] +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"aaaaaaaaaaaaaab":0 + +Test mbedtls_mpi_is_prime #6 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2aaaaaaaaaaaaaaaaaab":0 + +Test mbedtls_mpi_is_prime #7 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"aaaaaaaaaaaaaaaaaaaaaaaab":0 + +Test mbedtls_mpi_is_prime #8 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaab":0 + +Test mbedtls_mpi_is_prime #9 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":0 + +Test mbedtls_mpi_is_prime #10 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"cb50e82a8583f44ee0025942e7362991b24e12663a0ddc234a57b0f7b4ff7b025bf5a6707dedc2898e70b739042c95a996283dffdf67558768784553c61e302e8812bc90f0bb0696870cfb910b560cefed8d99bbf7a00b31ccdbd56f3594e5a653cfd127d2167b13119e5c45c3f76b4e3d904a9bc0cbb43c33aa7f23b":0 + +Test mbedtls_mpi_is_prime #11 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"7a364ab3de755f924642bd5273524234f78395da1ed9098f39af4fe248288b0cb7f1c27214588969479d7dc9f0d327b5544dd4c095aa1fa271df421fe9ee460855cc8423d223e2c85dc793f6babdca7fc804ea1f408f867db053bfd98c45085ea5d805c78d2863bacdfcaf4c6147ebb74a9056045074785714c0b84ed":0 + +Test mbedtls_mpi_is_prime #12 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"9c3525e8404f89b7d30b3ccfdb0fab17f81adebbac1b6c6bf558a796014fe3b6cd2c4445c0826d7ef5f5d3aff5ac108185675d2159cd275c64812f24da66dbb0147efc6a3d2f8060e8304f48844abc9d33686087ccc11f":0 + +Test mbedtls_mpi_is_prime #13 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba0123":0 + +Test mbedtls_mpi_is_prime #14 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2eede25f74336afd1f51cbc4e809f8bb746ffac49335d129d1ff322ee3498b2b8144f0b136de076db169da4f4436de1f0c715b3d255272b4d77523174081a2fb703f82409185e0ef73e5a8bdf94e5b789fb7bf9be8eec9f":0 + +Test mbedtls_mpi_is_prime #15 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"7fffffffffffffffffffffffffffffff":0 + +Test mbedtls_mpi_is_prime #16 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"7fffffff":0 + +Test mbedtls_mpi_is_prime #17 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"39531fcd":0 + +Test mbedtls_mpi_is_prime #18 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"ab1cdb3":0 + +Test mbedtls_mpi_is_prime #19 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"1ef3103":0 + +Test mbedtls_mpi_is_prime #20 +depends_on:MBEDTLS_GENPRIME +mpi_is_prime:"2faa127":0 + +Test mbedtls_mpi_is_prime_det (4 non-witnesses) +depends_on:MBEDTLS_GENPRIME +mpi_is_prime_det:"043BD64BA10B11DA83FBD296B04BCA9E0552FAF6E09CAC74E2D7E735ED0DB09FC47ED76145644203EE0C826013BC602F560BCDAAED557D04683859A65D659FF828A245A2C5B1AC41E01E4669A525A45E23AF":"040EA852F7935ACCECC0E87B845281F047D10DC9AAFEF990AF9D3D66770DA30B0C5B5E03EEA8C0CB79B936FE0BB8EE5389EC1D34EB16C58AA3F2E11AF084160CDF6400BE1CC179867AB074866952D9F34EE7042D27F960E715A97FCB93F3182247D0A6AE51BD21CC2F6B0651F9E572C5FB86F3137053FA85FD7A51816D69B3A53A5A438C17754836D04E98CA240B901F828332F2D72D88C497DA45F533F99A6E53EDEA6B0424EC8951B048FA9A80134B37D0A67014597934E3CFC52C5A4DD4751ADF8D66FC79E84E2A3148C4B15C17E12CB659390FD275F39A331FFC80EC699BC3F6FAB868E30E9B14575FCDAB6FAED01E00112DD28704177E09C335AD43A696FEA761E8DF3B0663277A5C3637F9060CB5E5654F72E9A6B0F369E660AD4CF7ABF4195493545B367BD55271CD4BB7D9C15D3F508FE8F7409C2126FC8E73B43A67CD4EFB21E9F15DBF040A2A8D5F5ED75CEAC12B595C0051F3EC9D5A58ACE82A9506E64F780E9836728260FFE1BFD73E8A9869E3D46A35A856D3028F7FEAB9F4F1A04449AEDC80017EE1014080D87F0B50C8EF255324CD89F7D039":82:5 + +Test mbedtls_mpi_is_prime_det (39 non-witnesses) +depends_on:MBEDTLS_GENPRIME +mpi_is_prime_det:"155102B67930FBE8858DF6C0642D77D419A7B7968E622CC7500F3E3F2C5168368C50E0083187":"119B3E2C721834D83416239B04447AA18AE0163E61DCAE97054563D79E094A6FA4485BD6A0501445BF57FE9C058926CDB862E04CC1A95D79D61D9AB3466857A53E04F8D7470C9C86649B226A13DDC534E18DFD5C22FAEA317CA4D4960F18457FD6D2FFB5F3273F74C89980DC774590D8D30D1159CA81999ED94A042D67DA68C82616AD46C2C88288A8EBD0B37AC7C152D9522CA4544642AD1210F6B642FEBF43563FA872B0DEFAFC69D0B6570E8FEA9570D0AADCFA9B06CC8BFD62CEDC221541210EEEF9762448C6D49F26AA767A4D66CB168589E0201923015314E6CD4A480E5936E7CF145F73A564C5B782635B3AFC3028E2632C5D3458224A7C9E8BA1876E8F690463C878292D3DC011E9640331E7F7621F2B5E0F6713DD8C9D6767521C4BA880DA8D11C67753C8493D2C4C4F1443147550D0B25B7FAD04EAFA9F8AA60974C1365C8A794CFEECEB4279B1150909A97E5A7A10B5D91186CA5B25A612036631FE73529C8CFAE51E76FB704A772DE5320EFC1212E7A399B1FEBF57D014AF9129DFF5D2C5DFBBEEAC55F360CF6D22FA90B8E2E9AD0C71AB6495A9452A58D653B8CC26128C66B43EFBA6E39AEC5717A1A3C2AE1449FCABAFE1180B159DA55190CD81A3D9E8D798647E11B827F0A057D6DA5AAD78AB5112EE65E10E8B8B369BA24E1B8AD2CD8548C497016C07A143DE1232F8059BE303572456FA92E76A0F23D1340629228B7D27C02D3833A72745B91A3DBEB5E081117A9F19597F00E4277B414FAEA8C8CEB895C37F956A5A22F8D7A10ADA50B22BAB312504904511AA0EFDD4D3BF20ECB17E8A684564FFB5BBD5E22C429F9A75A4FB4AE468FE7612ED53C7A11212E7EF3435CC9CA6E7DB167B8CCE2BECF35F89013F8F876223C77FA81570970858663C6E32B91080AA47F9C90177F51E6FD7747B910C9489C7B6ACB070996198AD9A40A69711274159210A9A12DBAAA4FB4632446066AB70D735DC95F7C2BCE517E88C064D728DE82B1B043DF4AEE0EFF5131120A4E5B9B4180EB6F6B8A0D1491ABDA069058A9966B1A517D8E7B4997DC52A1E698FD79E271153DF1913FE6787A5D99DE69F39C3F22D26DC731CFBB33FF5C267D85D7A3DAE8E1C87E1DB2F1236212EF1942EA756967FB3D07D629E59EA4034D9A9B5E270DD4A31C8A3DFDA99C1094B5537132C196DA2AEAF5253A019B9AF25B5DCB0D4DD75C7C9C353DA9DAABFB23959A5455312E7E1C21268C1BC14E83DCFDF50C27FD3E8B4EDC04C5F3CB5FCFFF2B57151E1B1EE1A6456DC006BC43E1158674AA4CF7D146DE4A57103BE43ED130C8007294ED2418C7A2B769A7D20EBB5A8367A77B313F81BB119B9954305FF160FF83EED7F808EE6D340A5CCC000CF81AA497D315D350CCE4E86A31456B8AA85B677491FC662933DFA55EB5BFF64B8D85430D676A85D1CAFAFF383E68C4E6C22A51063739EC03FC58C36C07C44E54828BE2152B2E9AFB0F179B157D09B64C147B524BB5424BB1914419424D9100D06EDCFC718F4DF3D562E9E16C446663F35273CA7BC5426B868A80C8D415C9A12A1619CDB7CDB5BEBC70313150BDF8C3AB26B809FE62D28E798EF1EF98C410A2DA0A9071F82154AC569078B0E647E2C085D1D907E634453442803D0492D3D0C78CACB762020C0E589C8B0981321EA2771305FD0413F3B2963FCE9A232F6641DB7E12ADC009A032063C41756E5E19E5711DE12711F07AFE7545B4D83F3EFD7BFD0435297C89DF3D4AF96EBE2CE8D64B93E36EA5D7E5A0492151D0CAEE7449A7D35E1A3C83E22C3B35162C073CC3B1CF76FBDEE84270721FC042EAAEB7325110181415E2031CFB7462F15111291CDAC0560FF9F4C7341F2FA261B97CEF348D074AA2EB4DB153FE6B1410519DA4213B611999868F3B867A2B6D758D333C4989DE80782683CA26ECDE373C71524F01B76349CE8A07A5EBECBB42259CF970DDA756EC996B189FEA045FEE45F23D476960913106ECA2510B8517AA75D56FA4152B2BDDC212014E5D07FD964D6EE532F0616DF74E104659955132331FABF2D2AD265E71C93C648A956FA0A3DB21FF103D516527F2DA0E870340B61EE8A8ED913B60605EB5A67B834D0FC90564386012585609870FEF6530B3E3C037B55506F0B5694F6B0FC":38:40 + +Test mbedtls_mpi_gen_prime (Too small) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:2:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_gen_prime (OK, minimum size) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:3:0:0 + +Test mbedtls_mpi_gen_prime (corner case limb size -1 bits) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:63:0:0 + +Test mbedtls_mpi_gen_prime (corner case limb size) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:64:0:0 + +Test mbedtls_mpi_gen_prime (corner case limb size +1 bits) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:65:0:0 + +Test mbedtls_mpi_gen_prime (Larger) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:128:0:0 + +Test mbedtls_mpi_gen_prime (Safe) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH:0 + +Test mbedtls_mpi_gen_prime (Safe with lower error rate) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH | MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 + +Test mbedtls_mpi_gen_prime standard RSA #1 (lower error rate) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:1024:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 + +Test mbedtls_mpi_gen_prime standard RSA #2 (lower error rate) +depends_on:MBEDTLS_GENPRIME +mpi_gen_prime:1536:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 + +Test bit getting (Value bit 25) +mpi_get_bit:"2faa127":25:1 + +Test bit getting (Larger but same limb) +mpi_get_bit:"2faa127":26:0 + +Test bit getting (Larger and non-existing limb) +mpi_get_bit:"2faa127":500:0 + +Test bit getting in 0 (null) +mpi_get_bit:"":500:0 + +Test bit getting (Value bit 24) +mpi_get_bit:"2faa127":24:0 + +Test bit getting (Value bit 23) +mpi_get_bit:"2faa127":23:1 + +Test bit set (Change existing value with a 1) +mpi_set_bit:"2faa127":24:1:"3faa127":0 + +Test bit set (Change existing value with a 0) +mpi_set_bit:"2faa127":25:0:"faa127":0 + +Test bit set (Add above existing limbs with a 0) +mpi_set_bit:"2faa127":80:0:"2faa127":0 + +Test bit set (Add above existing limbs with a 1) +mpi_set_bit:"2faa127":80:1:"100000000000002faa127":0 + +Test bit set (Add to 0 (null) with a 0) +mpi_set_bit:"":65:0:"":0 + +Test bit set (Add to 0 (null) with a 1) +mpi_set_bit:"":65:1:"020000000000000000":0 + +Test bit set (Bit index larger than 31 with a 0) +mpi_set_bit:"FFFFFFFFFFFFFFFF":32:0:"FFFFFFFEFFFFFFFF":0 + +Test bit set (Bit index larger than 31 with a 1) +mpi_set_bit:"00":32:1:"0100000000":0 + +Test bit set (Invalid bit value) +mpi_set_bit:"00":5:2:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Fill random: 0 bytes +mpi_fill_random:0:0:0:0 + +Fill random: 1 byte, good +mpi_fill_random:1:1:0:0 + +Fill random: 2 bytes, good, no leading zero +mpi_fill_random:2:2:0:0 + +Fill random: 2 bytes, good, 1 leading zero +mpi_fill_random:2:256:0:0 + +Fill random: MAX_SIZE - 7, good +mpi_fill_random:MBEDTLS_MPI_MAX_SIZE - 7:MBEDTLS_MPI_MAX_SIZE - 7:0:0 + +Fill random: MAX_SIZE, good +mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:0:0 + +Fill random: 0 bytes, previously small >0 +mpi_fill_random:0:0:1:0 + +Fill random: 0 bytes, previously small <0 +mpi_fill_random:0:0:-1:0 + +Fill random: 0 bytes, previously large >0 +mpi_fill_random:0:0:65:0 + +Fill random: 0 bytes, previously large <0 +mpi_fill_random:0:0:-65:0 + +Fill random: 1 byte, previously small >0 +mpi_fill_random:1:1:1:0 + +Fill random: 1 byte, previously small <0 +mpi_fill_random:1:1:-1:0 + +Fill random: 1 byte, previously large >0 +mpi_fill_random:1:1:65:0 + +Fill random: 1 byte, previously large <0 +mpi_fill_random:1:1:-65:0 + +Fill random: 9 bytes, previously small >0 +mpi_fill_random:1:1:1:0 + +Fill random: 9 bytes, previously small <0 +mpi_fill_random:1:1:-1:0 + +Fill random: 1 byte, RNG failure +mpi_fill_random:1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 2 bytes, RNG failure after 1 byte +mpi_fill_random:2:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 4 bytes, RNG failure after 3 bytes +mpi_fill_random:4:3:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 8 bytes, RNG failure after 7 bytes +mpi_fill_random:8:7:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 16 bytes, RNG failure after 1 bytes +mpi_fill_random:16:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 16 bytes, RNG failure after 8 bytes +mpi_fill_random:16:8:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: 16 bytes, RNG failure after 15 bytes +mpi_fill_random:16:15:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random: MAX_SIZE bytes, RNG failure after MAX_SIZE-1 bytes +mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE-1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +MPI random in range: 1..2 +mpi_random_many:1:"02":1000 + +MPI random in range: 1..3 +mpi_random_many:1:"03":1000 + +MPI random in range: 1..4 +mpi_random_many:1:"04":1000 + +MPI random in range: 1..5 +mpi_random_many:1:"05":1000 + +MPI random in range: 1..6 +mpi_random_many:1:"06":1000 + +MPI random in range: 1..7 +mpi_random_many:1:"07":1000 + +MPI random in range: 1..8 +mpi_random_many:1:"08":1000 + +MPI random in range: 1..9 +mpi_random_many:1:"09":1000 + +MPI random in range: 1..10 +mpi_random_many:1:"0a":1000 + +MPI random in range: 1..11 +mpi_random_many:1:"0b":1000 + +MPI random in range: 1..12 +mpi_random_many:1:"0c":1000 + +MPI random in range: 1..255 +mpi_random_many:1:"ff":200 + +MPI random in range: 1..256 +mpi_random_many:1:"0100":200 + +MPI random in range: 1..257 +mpi_random_many:1:"0101":200 + +MPI random in range: 1..272 +mpi_random_many:1:"0110":200 + +MPI random in range: 1..2^64-1 +mpi_random_many:1:"ffffffffffffffff":100 + +MPI random in range: 1..2^64 +mpi_random_many:1:"010000000000000000":100 + +MPI random in range: 1..2^64+1 +mpi_random_many:1:"010000000000000001":100 + +MPI random in range: 1..2^64+2^63 +mpi_random_many:1:"018000000000000000":100 + +MPI random in range: 1..2^65-1 +mpi_random_many:1:"01ffffffffffffffff":100 + +MPI random in range: 1..2^65 +mpi_random_many:1:"020000000000000000":100 + +MPI random in range: 1..2^65+1 +mpi_random_many:1:"020000000000000001":100 + +MPI random in range: 1..2^65+2^64 +mpi_random_many:1:"030000000000000000":100 + +MPI random in range: 1..2^66+2^65 +mpi_random_many:1:"060000000000000000":100 + +MPI random in range: 1..2^71-1 +mpi_random_many:1:"7fffffffffffffffff":100 + +MPI random in range: 1..2^71 +mpi_random_many:1:"800000000000000000":100 + +MPI random in range: 1..2^71+1 +mpi_random_many:1:"800000000000000001":100 + +MPI random in range: 1..2^71+2^70 +mpi_random_many:1:"c00000000000000000":100 + +MPI random in range: 1..2^72-1 +mpi_random_many:1:"ffffffffffffffffff":100 + +MPI random in range: 1..2^72 +mpi_random_many:1:"01000000000000000000":100 + +MPI random in range: 1..2^72+1 +mpi_random_many:1:"01000000000000000001":100 + +MPI random in range: 1..2^72+2^71 +mpi_random_many:1:"01800000000000000000":100 + +MPI random in range: 0..1 +mpi_random_many:0:"04":10000 + +MPI random in range: 0..4 +mpi_random_many:0:"04":10000 + +MPI random in range: 2..4 +mpi_random_many:2:"04":10000 + +MPI random in range: 3..4 +mpi_random_many:3:"04":10000 + +MPI random in range: smaller result +mpi_random_sizes:1:"aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb":1:0 + +MPI random in range: same size result (32-bit limbs) +mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":2:0 + +MPI random in range: same size result (64-bit limbs) +mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":1:0 + +MPI random in range: larger result +mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":3:0 + +## The "0 limb in upper bound" tests rely on the fact that +## mbedtls_mpi_read_binary() bases the size of the MPI on the size of +## the input, without first checking for leading zeros. If this was +## not the case, the tests would still pass, but would not exercise +## the advertised behavior. +MPI random in range: leading 0 limb in upper bound #0 +mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":0:0 + +MPI random in range: leading 0 limb in upper bound #1 +mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":1:0 + +MPI random in range: leading 0 limb in upper bound #2 +mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":2:0 + +MPI random in range: leading 0 limb in upper bound #3 +mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":3:0 + +MPI random in range: leading 0 limb in upper bound #4 +mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":4:0 + +MPI random in range: previously small >0 +mpi_random_sizes:1:"1234567890":4:1 + +MPI random in range: previously small <0 +mpi_random_sizes:1:"1234567890":4:-1 + +MPI random in range: previously large >0 +mpi_random_sizes:1:"1234":4:65 + +MPI random in range: previously large <0 +mpi_random_sizes:1:"1234":4:-65 + +MPI random bad arguments: min < 0 +mpi_random_fail:-1:"04":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +MPI random bad arguments: min = N = 0 +mpi_random_fail:0:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +MPI random bad arguments: min = N = 1 +mpi_random_fail:1:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +MPI random bad arguments: min > N = 0 +mpi_random_fail:1:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +MPI random bad arguments: min > N = 1 +mpi_random_fail:2:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +MPI random bad arguments: min > N = 1, 0 limb in upper bound +mpi_random_fail:2:"000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Most negative mbedtls_mpi_sint +most_negative_mpi_sint: + +MPI Selftest +depends_on:MBEDTLS_SELF_TEST +mpi_selftest: diff --git a/tests/suites/test_suite_bignum_core.function b/tests/suites/test_suite_bignum_core.function new file mode 100644 index 0000000000..b64127afc3 --- /dev/null +++ b/tests/suites/test_suite_bignum_core.function @@ -0,0 +1,1195 @@ +/* BEGIN_HEADER */ +#include "mbedtls/bignum.h" +#include "mbedtls/entropy.h" +#include "bignum_core.h" +#include "constant_time_internal.h" +#include "test/constant_flow.h" + +/** Verifies mbedtls_mpi_core_add(). + * + * \param[in] A Little-endian presentation of the left operand. + * \param[in] B Little-endian presentation of the right operand. + * \param limbs Number of limbs in each MPI (\p A, \p B, \p S and \p X). + * \param[in] S Little-endian presentation of the expected sum. + * \param carry Expected carry from the addition. + * \param[in,out] X Temporary storage to be used for results. + * + * \return 1 if mbedtls_mpi_core_add() passes this test, otherwise 0. + */ +static int mpi_core_verify_add( mbedtls_mpi_uint *A, + mbedtls_mpi_uint *B, + size_t limbs, + mbedtls_mpi_uint *S, + int carry, + mbedtls_mpi_uint *X ) +{ + int ret = 0; + + size_t bytes = limbs * sizeof( *A ); + + /* The test cases have A <= B to avoid repetition, so we test A + B then, + * if A != B, B + A. If A == B, we can test when A and B are aliased */ + + /* A + B */ + + /* A + B => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, A, B, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + B; alias output and first operand => correct result and carry */ + memcpy( X, A, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, X, B, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + B; alias output and second operand => correct result and carry */ + memcpy( X, B, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, A, X, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + if ( memcmp( A, B, bytes ) == 0 ) + { + /* A == B, so test where A and B are aliased */ + + /* A + A => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, A, A, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + A, output aliased to both operands => correct result and carry */ + memcpy( X, A, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, X, X, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + else + { + /* A != B, so test B + A */ + + /* B + A => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, B, A, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* B + A; alias output and first operand => correct result and carry */ + memcpy( X, B, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, X, A, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* B + A; alias output and second operand => correct result and carry */ + memcpy( X, A, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_add( X, B, X, limbs ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + + ret = 1; + +exit: + return ret; +} + +/** Verifies mbedtls_mpi_core_add_if(). + * + * \param[in] A Little-endian presentation of the left operand. + * \param[in] B Little-endian presentation of the right operand. + * \param limbs Number of limbs in each MPI (\p A, \p B, \p S and \p X). + * \param[in] S Little-endian presentation of the expected sum. + * \param carry Expected carry from the addition. + * \param[in,out] X Temporary storage to be used for results. + * + * \return 1 if mbedtls_mpi_core_add_if() passes this test, otherwise 0. + */ +static int mpi_core_verify_add_if( mbedtls_mpi_uint *A, + mbedtls_mpi_uint *B, + size_t limbs, + mbedtls_mpi_uint *S, + int carry, + mbedtls_mpi_uint *X ) +{ + int ret = 0; + + size_t bytes = limbs * sizeof( *A ); + + /* The test cases have A <= B to avoid repetition, so we test A + B then, + * if A != B, B + A. If A == B, we can test when A and B are aliased */ + + /* A + B */ + + /* cond = 0 => X unchanged, no carry */ + memcpy( X, A, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_core_add_if( X, B, limbs, 0 ) ); + ASSERT_COMPARE( X, bytes, A, bytes ); + + /* cond = 1 => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add_if( X, B, limbs, 1 ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + if ( memcmp( A, B, bytes ) == 0 ) + { + /* A == B, so test where A and B are aliased */ + + /* cond = 0 => X unchanged, no carry */ + memcpy( X, B, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_core_add_if( X, X, limbs, 0 ) ); + ASSERT_COMPARE( X, bytes, B, bytes ); + + /* cond = 1 => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add_if( X, X, limbs, 1 ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + else + { + /* A != B, so test B + A */ + + /* cond = 0 => d unchanged, no carry */ + memcpy( X, B, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_core_add_if( X, A, limbs, 0 ) ); + ASSERT_COMPARE( X, bytes, B, bytes ); + + /* cond = 1 => correct result and carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_add_if( X, A, limbs, 1 ) ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + + ret = 1; + +exit: + return ret; +} + +/* END_HEADER */ + +/* BEGIN_DEPENDENCIES + * depends_on:MBEDTLS_BIGNUM_C + * END_DEPENDENCIES + */ + +/* BEGIN_CASE */ +void 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 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_LE_S( 0, nb_int ); + size_t nb = nb_int; + + unsigned char buf[1024]; + TEST_LE_U( 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_LE_S( 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_LE_U( 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 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_LE_S( 0, nb_int ); + size_t nb = nb_int; + + unsigned char buf[1024]; + TEST_LE_U( 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_LE_S( 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_LE_U( 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 mpi_core_bitlen( char *input_X, int nr_bits ) +{ + mbedtls_mpi_uint *X = NULL; + size_t limbs; + + TEST_EQUAL( mbedtls_test_read_mpi_core( &X, &limbs, input_X ), 0 ); + TEST_EQUAL( mbedtls_mpi_core_bitlen( X, limbs ), nr_bits ); + +exit: + mbedtls_free( X ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_lt_ct( char *input_X, char *input_Y, int exp_ret ) +{ + mbedtls_mpi_uint *X = NULL; + size_t X_limbs; + mbedtls_mpi_uint *Y = NULL; + size_t Y_limbs; + int ret; + + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &X_limbs, input_X ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &Y, &Y_limbs, input_Y ) ); + + /* We need two same-length limb arrays */ + TEST_EQUAL( X_limbs, Y_limbs ); + + TEST_CF_SECRET( X, X_limbs * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( Y, X_limbs * sizeof( mbedtls_mpi_uint ) ); + + ret = mbedtls_mpi_core_lt_ct( X, Y, X_limbs ); + TEST_EQUAL( ret, exp_ret ); + +exit: + mbedtls_free( X ); + mbedtls_free( Y ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_cond_assign( char * input_X, + char * input_Y, + int input_bytes ) +{ + mbedtls_mpi_uint *X = NULL; + mbedtls_mpi_uint *Y = NULL; + size_t limbs_X; + size_t limbs_Y; + + TEST_EQUAL( mbedtls_test_read_mpi_core( &X, &limbs_X, input_X ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi_core( &Y, &limbs_Y, input_Y ), 0 ); + + size_t limbs = limbs_X; + size_t copy_limbs = CHARS_TO_LIMBS( input_bytes ); + size_t bytes = limbs * sizeof( mbedtls_mpi_uint ); + size_t copy_bytes = copy_limbs * sizeof( mbedtls_mpi_uint ); + + TEST_EQUAL( limbs_X, limbs_Y ); + TEST_ASSERT( copy_limbs <= limbs ); + + /* condition is false */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_core_cond_assign( X, Y, copy_limbs, 0 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + TEST_ASSERT( memcmp( X, Y, bytes ) != 0 ); + + /* condition is true */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_core_cond_assign( X, Y, copy_limbs, 1 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + /* Check if the given length is copied even it is smaller + than the length of the given MPIs. */ + if( copy_limbs < limbs ) + { + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + ASSERT_COMPARE( X, copy_bytes, Y, copy_bytes ); + TEST_ASSERT( memcmp( X, Y, bytes ) != 0 ); + } + else + ASSERT_COMPARE( X, bytes, Y, bytes ); + +exit: + mbedtls_free( X ); + mbedtls_free( Y ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_cond_swap( char * input_X, + char * input_Y, + int input_bytes ) +{ + mbedtls_mpi_uint *tmp_X = NULL; + mbedtls_mpi_uint *tmp_Y = NULL; + mbedtls_mpi_uint *X = NULL; + mbedtls_mpi_uint *Y = NULL; + size_t limbs_X; + size_t limbs_Y; + + TEST_EQUAL( mbedtls_test_read_mpi_core( &tmp_X, &limbs_X, input_X ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi_core( &tmp_Y, &limbs_Y, input_Y ), 0 ); + + size_t limbs = limbs_X; + size_t copy_limbs = CHARS_TO_LIMBS( input_bytes ); + size_t bytes = limbs * sizeof( mbedtls_mpi_uint ); + size_t copy_bytes = copy_limbs * sizeof( mbedtls_mpi_uint ); + + TEST_EQUAL( limbs_X, limbs_Y ); + TEST_ASSERT( copy_limbs <= limbs ); + + ASSERT_ALLOC( X, limbs ); + memcpy( X, tmp_X, bytes ); + + ASSERT_ALLOC( Y, limbs ); + memcpy( Y, tmp_Y, bytes ); + + /* condition is false */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_core_cond_swap( X, Y, copy_limbs, 0 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + ASSERT_COMPARE( X, bytes, tmp_X, bytes ); + ASSERT_COMPARE( Y, bytes, tmp_Y, bytes ); + + /* condition is true */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_core_cond_swap( X, Y, copy_limbs, 1 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + /* Check if the given length is copied even it is smaller + than the length of the given MPIs. */ + if( copy_limbs < limbs ) + { + ASSERT_COMPARE( X, copy_bytes, tmp_Y, copy_bytes ); + ASSERT_COMPARE( Y, copy_bytes, tmp_X, copy_bytes ); + TEST_ASSERT( memcmp( X, tmp_X, bytes ) != 0 ); + TEST_ASSERT( memcmp( X, tmp_Y, bytes ) != 0 ); + TEST_ASSERT( memcmp( Y, tmp_X, bytes ) != 0 ); + TEST_ASSERT( memcmp( Y, tmp_Y, bytes ) != 0 ); + } + else + { + ASSERT_COMPARE( X, bytes, tmp_Y, bytes ); + ASSERT_COMPARE( Y, bytes, tmp_X, bytes ); + } + +exit: + mbedtls_free( tmp_X ); + mbedtls_free( tmp_Y ); + mbedtls_free( X ); + mbedtls_free( Y ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_shift_r( char *input, int count, char *result ) +{ + mbedtls_mpi_uint *X = NULL; + mbedtls_mpi_uint *Y = NULL; + size_t limbs, n; + + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &limbs, input ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &Y, &n, result ) ); + TEST_EQUAL( limbs, n ); + + mbedtls_mpi_core_shift_r( X, limbs, count ); + ASSERT_COMPARE( X, limbs * ciL, Y, limbs * ciL ); + +exit: + mbedtls_free( X ); + mbedtls_free( Y ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_add_and_add_if( char * input_A, char * input_B, + char * input_S, int carry ) +{ + mbedtls_mpi_uint *A = NULL; /* first value to add */ + mbedtls_mpi_uint *B = NULL; /* second value to add */ + mbedtls_mpi_uint *S = NULL; /* expected result */ + mbedtls_mpi_uint *X = NULL; /* destination - the in/out first operand */ + size_t A_limbs, B_limbs, S_limbs; + + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &A, &A_limbs, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &B, &B_limbs, input_B ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &S, &S_limbs, input_S ) ); + + /* add and add_if expect all operands to be the same length */ + TEST_EQUAL( A_limbs, B_limbs ); + TEST_EQUAL( A_limbs, S_limbs ); + + size_t limbs = A_limbs; + ASSERT_ALLOC( X, limbs ); + + TEST_ASSERT( mpi_core_verify_add( A, B, limbs, S, carry, X ) ); + TEST_ASSERT( mpi_core_verify_add_if( A, B, limbs, S, carry, X ) ); + +exit: + mbedtls_free( A ); + mbedtls_free( B ); + mbedtls_free( S ); + mbedtls_free( X ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_sub( char * input_A, char * input_B, + char * input_X4, char * input_X8, + int carry ) +{ + mbedtls_mpi A, B, X4, X8; + mbedtls_mpi_uint *a = NULL; + mbedtls_mpi_uint *b = NULL; + mbedtls_mpi_uint *x = NULL; /* expected */ + mbedtls_mpi_uint *r = NULL; /* result */ + + mbedtls_mpi_init( &A ); + mbedtls_mpi_init( &B ); + mbedtls_mpi_init( &X4 ); + mbedtls_mpi_init( &X8 ); + + TEST_EQUAL( 0, mbedtls_test_read_mpi( &A, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &B, input_B ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X4, input_X4 ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X8, input_X8 ) ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, A.s ); + TEST_EQUAL( 1, B.s ); + TEST_EQUAL( 1, X4.s ); + TEST_EQUAL( 1, X8.s ); + + /* Get the number of limbs we will need */ + size_t limbs = MAX( A.n, B.n ); + size_t bytes = limbs * sizeof(mbedtls_mpi_uint); + + /* We only need to work with X4 or X8, depending on sizeof(mbedtls_mpi_uint) */ + mbedtls_mpi *X = ( sizeof(mbedtls_mpi_uint) == 4 ) ? &X4 : &X8; + + /* The result shouldn't have more limbs than the longest input */ + TEST_LE_U( X->n, limbs ); + + /* Now let's get arrays of mbedtls_mpi_uints, rather than MPI structures */ + + /* ASSERT_ALLOC() uses calloc() under the hood, so these do get zeroed */ + ASSERT_ALLOC( a, bytes ); + ASSERT_ALLOC( b, bytes ); + ASSERT_ALLOC( x, bytes ); + ASSERT_ALLOC( r, bytes ); + + /* Populate the arrays. As the mbedtls_mpi_uint[]s in mbedtls_mpis (and as + * processed by mbedtls_mpi_core_sub()) are little endian, we can just + * copy what we have as long as MSBs are 0 (which they are from ASSERT_ALLOC()) + */ + memcpy( a, A.p, A.n * sizeof(mbedtls_mpi_uint) ); + memcpy( b, B.p, B.n * sizeof(mbedtls_mpi_uint) ); + memcpy( x, X->p, X->n * sizeof(mbedtls_mpi_uint) ); + + /* 1a) r = a - b => we should get the correct carry */ + TEST_EQUAL( carry, mbedtls_mpi_core_sub( r, a, b, limbs ) ); + + /* 1b) r = a - b => we should get the correct result */ + ASSERT_COMPARE( r, bytes, x, bytes ); + + /* 2 and 3 test "r may be aliased to a or b" */ + /* 2a) r = a; r -= b => we should get the correct carry (use r to avoid clobbering a) */ + memcpy( r, a, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_sub( r, r, b, limbs ) ); + + /* 2b) r -= b => we should get the correct result */ + ASSERT_COMPARE( r, bytes, x, bytes ); + + /* 3a) r = b; r = a - r => we should get the correct carry (use r to avoid clobbering b) */ + memcpy( r, b, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_sub( r, a, r, limbs ) ); + + /* 3b) r = a - b => we should get the correct result */ + ASSERT_COMPARE( r, bytes, x, bytes ); + + /* 4 tests "r may be aliased to [...] both" */ + if ( A.n == B.n && memcmp( A.p, B.p, bytes ) == 0 ) + { + memcpy( r, b, bytes ); + TEST_EQUAL( carry, mbedtls_mpi_core_sub( r, r, r, limbs ) ); + ASSERT_COMPARE( r, bytes, x, bytes ); + } + +exit: + mbedtls_free( a ); + mbedtls_free( b ); + mbedtls_free( x ); + mbedtls_free( r ); + + mbedtls_mpi_free( &A ); + mbedtls_mpi_free( &B ); + mbedtls_mpi_free( &X4 ); + mbedtls_mpi_free( &X8 ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_mla( char * input_A, char * input_B, char * input_S, + char * input_X4, char * input_cy4, + char * input_X8, char * input_cy8 ) +{ + /* We are testing A += B * s; A, B are MPIs, s is a scalar. + * + * However, we encode s as an MPI in the .data file as the test framework + * currently only supports `int`-typed scalars, and that doesn't cover the + * full range of `mbedtls_mpi_uint`. + * + * We also have the different results for sizeof(mbedtls_mpi_uint) == 4 or 8. + */ + mbedtls_mpi A, B, S, X4, X8, cy4, cy8; + mbedtls_mpi_uint *a = NULL; + mbedtls_mpi_uint *x = NULL; + + mbedtls_mpi_init( &A ); + mbedtls_mpi_init( &B ); + mbedtls_mpi_init( &S ); + mbedtls_mpi_init( &X4 ); + mbedtls_mpi_init( &X8 ); + mbedtls_mpi_init( &cy4 ); + mbedtls_mpi_init( &cy8 ); + + TEST_EQUAL( 0, mbedtls_test_read_mpi( &A, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &B, input_B ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &S, input_S ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X4, input_X4 ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &cy4, input_cy4 ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X8, input_X8 ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &cy8, input_cy8 ) ); + + /* The MPI encoding of scalar s must be only 1 limb */ + TEST_EQUAL( 1, S.n ); + + /* We only need to work with X4 or X8, and cy4 or cy8, depending on sizeof(mbedtls_mpi_uint) */ + mbedtls_mpi *X = ( sizeof(mbedtls_mpi_uint) == 4 ) ? &X4 : &X8; + mbedtls_mpi *cy = ( sizeof(mbedtls_mpi_uint) == 4 ) ? &cy4 : &cy8; + + /* The carry should only have one limb */ + TEST_EQUAL( 1, cy->n ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, A.s ); + TEST_EQUAL( 1, B.s ); + TEST_EQUAL( 1, S.s ); + TEST_EQUAL( 1, X->s ); + TEST_EQUAL( 1, cy->s ); + + /* Get the (max) number of limbs we will need */ + size_t limbs = MAX( A.n, B.n ); + size_t bytes = limbs * sizeof(mbedtls_mpi_uint); + + /* The result shouldn't have more limbs than the longest input */ + TEST_LE_U( X->n, limbs ); + + /* Now let's get arrays of mbedtls_mpi_uints, rather than MPI structures */ + + /* ASSERT_ALLOC() uses calloc() under the hood, so these do get zeroed */ + ASSERT_ALLOC( a, bytes ); + ASSERT_ALLOC( x, bytes ); + + /* Populate the arrays. As the mbedtls_mpi_uint[]s in mbedtls_mpis (and as + * processed by mbedtls_mpi_core_mla()) are little endian, we can just + * copy what we have as long as MSBs are 0 (which they are from ASSERT_ALLOC()). + */ + memcpy( a, A.p, A.n * sizeof(mbedtls_mpi_uint) ); + memcpy( x, X->p, X->n * sizeof(mbedtls_mpi_uint) ); + + /* 1a) A += B * s => we should get the correct carry */ + TEST_EQUAL( mbedtls_mpi_core_mla( a, limbs, B.p, B.n, *S.p ), *cy->p ); + + /* 1b) A += B * s => we should get the correct result */ + ASSERT_COMPARE( a, bytes, x, bytes ); + + if ( A.n == B.n && memcmp( A.p, B.p, bytes ) == 0 ) + { + /* Check when A and B are aliased */ + memcpy( a, A.p, A.n * sizeof(mbedtls_mpi_uint) ); + TEST_EQUAL( mbedtls_mpi_core_mla( a, limbs, a, limbs, *S.p ), *cy->p ); + ASSERT_COMPARE( a, bytes, x, bytes ); + } + +exit: + mbedtls_free( a ); + mbedtls_free( x ); + + mbedtls_mpi_free( &A ); + mbedtls_mpi_free( &B ); + mbedtls_mpi_free( &S ); + mbedtls_mpi_free( &X4 ); + mbedtls_mpi_free( &X8 ); + mbedtls_mpi_free( &cy4 ); + mbedtls_mpi_free( &cy8 ); +} +/* END_CASE */ + + +/* BEGIN_CASE */ +void mpi_montg_init( char * input_N, char * input_mm ) +{ + mbedtls_mpi N, mm; + + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &mm ); + + TEST_EQUAL( 0, mbedtls_test_read_mpi( &N, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &mm, input_mm ) ); + + /* The MPI encoding of mm should be 1 limb (sizeof(mbedtls_mpi_uint) == 8) or + * 2 limbs (sizeof(mbedtls_mpi_uint) == 4). + * + * The data file contains the expected result for sizeof(mbedtls_mpi_uint) == 8; + * for sizeof(mbedtls_mpi_uint) == 4 it's just the LSW of this. + */ + TEST_ASSERT( mm.n == 1 || mm.n == 2 ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, N.s ); + TEST_EQUAL( 1, mm.s ); + + /* mbedtls_mpi_core_montmul_init() only returns a result, no error possible */ + mbedtls_mpi_uint result = mbedtls_mpi_core_montmul_init( N.p ); + + /* Check we got the correct result */ + TEST_EQUAL( result, mm.p[0] ); + +exit: + mbedtls_mpi_free( &N ); + mbedtls_mpi_free( &mm ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_montmul( int limbs_AN4, int limbs_B4, + int limbs_AN8, int limbs_B8, + char * input_A, + char * input_B, + char * input_N, + char * input_X4, + char * input_X8 ) +{ + mbedtls_mpi A, B, N, X4, X8, T, R; + + mbedtls_mpi_init( &A ); + mbedtls_mpi_init( &B ); + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &X4 ); /* expected result, sizeof(mbedtls_mpi_uint) == 4 */ + mbedtls_mpi_init( &X8 ); /* expected result, sizeof(mbedtls_mpi_uint) == 8 */ + mbedtls_mpi_init( &T ); + mbedtls_mpi_init( &R ); /* for the result */ + + TEST_EQUAL( 0, mbedtls_test_read_mpi( &A, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &B, input_B ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &N, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X4, input_X4 ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X8, input_X8 ) ); + + mbedtls_mpi *X = ( sizeof(mbedtls_mpi_uint) == 4 ) ? &X4 : &X8; + + int limbs_AN = ( sizeof(mbedtls_mpi_uint) == 4 ) ? limbs_AN4 : limbs_AN8; + int limbs_B = ( sizeof(mbedtls_mpi_uint) == 4 ) ? limbs_B4 : limbs_B8; + + TEST_LE_U( A.n, (size_t)limbs_AN ); + TEST_LE_U( X->n, (size_t)limbs_AN ); + TEST_LE_U( B.n, (size_t)limbs_B ); + TEST_LE_U( limbs_B, limbs_AN ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, A.s ); + TEST_EQUAL( 1, B.s ); + TEST_EQUAL( 1, N.s ); + TEST_EQUAL( 1, X->s ); + + TEST_EQUAL( 0, mbedtls_mpi_grow( &A, limbs_AN ) ); + TEST_EQUAL( 0, mbedtls_mpi_grow( &N, limbs_AN ) ); + TEST_EQUAL( 0, mbedtls_mpi_grow( X, limbs_AN ) ); + TEST_EQUAL( 0, mbedtls_mpi_grow( &B, limbs_B ) ); + + TEST_EQUAL( 0, mbedtls_mpi_grow( &T, limbs_AN * 2 + 1 ) ); + + /* Calculate the Montgomery constant (this is unit tested separately) */ + mbedtls_mpi_uint mm = mbedtls_mpi_core_montmul_init( N.p ); + + TEST_EQUAL( 0, mbedtls_mpi_grow( &R, limbs_AN ) ); /* ensure it's got the right number of limbs */ + + mbedtls_mpi_core_montmul( R.p, A.p, B.p, B.n, N.p, N.n, mm, T.p ); + size_t bytes = N.n * sizeof(mbedtls_mpi_uint); + ASSERT_COMPARE( R.p, bytes, X->p, bytes ); + + /* The output (R, above) may be aliased to A - use R to save the value of A */ + + memcpy( R.p, A.p, bytes ); + + mbedtls_mpi_core_montmul( A.p, A.p, B.p, B.n, N.p, N.n, mm, T.p ); + ASSERT_COMPARE( A.p, bytes, X->p, bytes ); + + memcpy( A.p, R.p, bytes ); /* restore A */ + + /* The output may be aliased to N - use R to save the value of N */ + + memcpy( R.p, N.p, bytes ); + + mbedtls_mpi_core_montmul( N.p, A.p, B.p, B.n, N.p, N.n, mm, T.p ); + ASSERT_COMPARE( N.p, bytes, X->p, bytes ); + + memcpy( N.p, R.p, bytes ); + + if (limbs_AN == limbs_B) + { + /* Test when A aliased to B (requires A == B on input values) */ + if ( memcmp( A.p, B.p, bytes ) == 0 ) + { + /* Test with A aliased to B and output, since this is permitted - + * don't bother with yet another test with only A and B aliased */ + + mbedtls_mpi_core_montmul( B.p, B.p, B.p, B.n, N.p, N.n, mm, T.p ); + ASSERT_COMPARE( B.p, bytes, X->p, bytes ); + + memcpy( B.p, A.p, bytes ); /* restore B from equal value A */ + } + + /* The output may be aliased to B - last test, so we don't save B */ + + mbedtls_mpi_core_montmul( B.p, A.p, B.p, B.n, N.p, N.n, mm, T.p ); + ASSERT_COMPARE( B.p, bytes, X->p, bytes ); + } + +exit: + mbedtls_mpi_free( &A ); + mbedtls_mpi_free( &B ); + mbedtls_mpi_free( &N ); + mbedtls_mpi_free( &X4 ); + mbedtls_mpi_free( &X8 ); + mbedtls_mpi_free( &T ); + mbedtls_mpi_free( &R ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_get_mont_r2_unsafe_neg( ) +{ + mbedtls_mpi N, RR; + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &RR ); + const char * n = "7ffffffffffffff1"; + + /* Test for zero divisor */ + TEST_EQUAL( MBEDTLS_ERR_MPI_DIVISION_BY_ZERO, + mbedtls_mpi_core_get_mont_r2_unsafe( &RR, &N ) ); + + /* Test for negative input */ + TEST_EQUAL( 0, mbedtls_test_read_mpi( &N, n ) ); + N.s = -1; + TEST_EQUAL( MBEDTLS_ERR_MPI_NEGATIVE_VALUE, + mbedtls_mpi_core_get_mont_r2_unsafe( &RR, &N ) ); + N.s = 1; + +exit: + mbedtls_mpi_free( &N ); + mbedtls_mpi_free( &RR ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_get_mont_r2_unsafe( char * input_N, + char * input_RR_X4, + char * input_RR_X8 ) +{ + mbedtls_mpi N, RR, RR_REF; + + /* Select the appropriate output */ + char * input_rr = ( sizeof(mbedtls_mpi_uint) == 4 ) ? input_RR_X4: input_RR_X8; + + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &RR ); + mbedtls_mpi_init( &RR_REF ); + + /* Read inputs */ + TEST_EQUAL( 0, mbedtls_test_read_mpi( &N, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &RR_REF, input_rr ) ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, N.s ); + TEST_EQUAL( 1, RR_REF.s ); + + /* Test valid input */ + TEST_EQUAL( 0, mbedtls_mpi_core_get_mont_r2_unsafe( &RR, &N ) ); + + /* Test that the moduli is odd */ + TEST_EQUAL( N.p[0] ^ 1, N.p[0] - 1 ); + + /* Output is +ve (or zero) */ + TEST_EQUAL( 1, RR_REF.s ); + + /* rr is updated to a valid pointer */ + TEST_ASSERT( RR.p != NULL ); + + /* Calculated rr matches expected value */ + TEST_ASSERT( mbedtls_mpi_cmp_mpi( &RR, &RR_REF ) == 0 ); + +exit: + mbedtls_mpi_free( &N ); + mbedtls_mpi_free( &RR ); + mbedtls_mpi_free( &RR_REF ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS */ +void mpi_core_ct_uint_table_lookup( int bitlen, int window_size ) +{ + size_t limbs = BITS_TO_LIMBS( bitlen ); + size_t count = ( (size_t) 1 ) << window_size; + + mbedtls_mpi_uint *table = NULL; + mbedtls_mpi_uint *dest = NULL; + + ASSERT_ALLOC( table, limbs * count ); + ASSERT_ALLOC( dest, limbs ); + + /* + * Fill the table with a unique counter so that differences are easily + * detected. (And have their relationship to the index relatively non-trivial just + * to be sure.) + */ + for( size_t i = 0; i < count * limbs; i++ ) + { + table[i] = ~i - 1; + } + + for( size_t i = 0; i < count; i++ ) + { + mbedtls_mpi_uint *current = table + i * limbs; + memset( dest, 0x00, limbs * sizeof( *dest ) ); + + /* + * We shouldn't leak anything through timing. + * We need to set these in every loop as we need to make the loop + * variable public for the loop head and the buffers for comparison. + */ + TEST_CF_SECRET( &i, sizeof( i ) ); + TEST_CF_SECRET( dest, limbs * sizeof( *dest ) ); + TEST_CF_SECRET( table, count * limbs * sizeof( *table ) ); + + mbedtls_mpi_core_ct_uint_table_lookup( dest, table, limbs, count, i ); + + TEST_CF_PUBLIC( dest, limbs * sizeof( *dest ) ); + TEST_CF_PUBLIC( table, count * limbs * sizeof( *table ) ); + ASSERT_COMPARE( dest, limbs * sizeof( *dest ), + current, limbs * sizeof( *current ) ); + TEST_CF_PUBLIC( &i, sizeof( i ) ); + } + +exit: + mbedtls_free(table); + mbedtls_free(dest); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_core_fill_random( int wanted_bytes_arg, int extra_rng_bytes, + int extra_limbs, int before, int expected_ret ) +{ + size_t wanted_bytes = wanted_bytes_arg; + mbedtls_mpi_uint *X = NULL; + size_t X_limbs = CHARS_TO_LIMBS( wanted_bytes ) + extra_limbs; + size_t rng_bytes = wanted_bytes + extra_rng_bytes; + unsigned char *rnd_data = NULL; + mbedtls_test_rnd_buf_info rnd_info = {NULL, rng_bytes, NULL, NULL}; + int ret; + + /* Prepare an RNG with known output, limited to rng_bytes. */ + ASSERT_ALLOC( rnd_data, rng_bytes ); + TEST_EQUAL( 0, mbedtls_test_rnd_std_rand( NULL, rnd_data, rng_bytes ) ); + rnd_info.buf = rnd_data; + + /* Allocate an MPI with room for wanted_bytes plus extra_limbs. + * extra_limbs may be negative but the total limb count must be positive. + * Fill the MPI with the byte value in before. */ + TEST_LE_U( 1, X_limbs ); + ASSERT_ALLOC( X, X_limbs ); + memset( X, before, X_limbs * sizeof( *X ) ); + + ret = mbedtls_mpi_core_fill_random( X, X_limbs, wanted_bytes, + mbedtls_test_rnd_buffer_rand, + &rnd_info ); + TEST_EQUAL( expected_ret, ret ); + + if( expected_ret == 0 ) + { + /* mbedtls_mpi_core_fill_random is documented to use bytes from the + * RNG as a big-endian representation of the number. We used an RNG + * with known output, so check that the output contains the + * expected value. Bytes above wanted_bytes must be zero. */ + for( size_t i = 0; i < wanted_bytes; i++ ) + { + mbedtls_test_set_step( i ); + TEST_EQUAL( GET_BYTE( X, i ), rnd_data[wanted_bytes - 1 - i] ); + } + for( size_t i = wanted_bytes; i < X_limbs * ciL; i++ ) + { + mbedtls_test_set_step( i ); + TEST_EQUAL( GET_BYTE( X, i ), 0 ); + } + } + +exit: + mbedtls_free( rnd_data ); + mbedtls_free( X ); +} +/* END_CASE */ + +/* BEGIN MERGE SLOT 1 */ + +/* BEGIN_CASE */ +void mpi_core_exp_mod( char * input_N, char * input_A, + char * input_E, char * input_X ) +{ + mbedtls_mpi_uint *A = NULL; + mbedtls_mpi_uint *E = NULL; + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *X = NULL; + size_t A_limbs, E_limbs, N_limbs, X_limbs; + const mbedtls_mpi_uint *R2 = NULL; + mbedtls_mpi_uint *Y = NULL; + mbedtls_mpi_uint *T = NULL; + /* Legacy MPIs for computing R2 */ + mbedtls_mpi N_mpi; + mbedtls_mpi_init( &N_mpi ); + mbedtls_mpi R2_mpi; + mbedtls_mpi_init( &R2_mpi ); + + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &A, &A_limbs, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &E, &E_limbs, input_E ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &N_limbs, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &X_limbs, input_X ) ); + ASSERT_ALLOC( Y, N_limbs ); + + TEST_EQUAL( A_limbs, N_limbs ); + TEST_EQUAL( X_limbs, N_limbs ); + + TEST_EQUAL( 0, mbedtls_mpi_grow( &N_mpi, N_limbs ) ); + memcpy( N_mpi.p, N, N_limbs * sizeof( *N ) ); + N_mpi.n = N_limbs; + TEST_EQUAL( 0, + mbedtls_mpi_core_get_mont_r2_unsafe( &R2_mpi, &N_mpi ) ); + TEST_EQUAL( 0, mbedtls_mpi_grow( &R2_mpi, N_limbs ) ); + R2 = R2_mpi.p; + + size_t working_limbs = mbedtls_mpi_core_exp_mod_working_limbs( N_limbs, + E_limbs ); + + /* No point exactly duplicating the code in mbedtls_mpi_core_exp_mod_working_limbs() + * to see if the output is correct, but we can check that it's in a + * reasonable range. The current calculation works out as + * `1 + N_limbs * (welem + 3)`, where welem is the number of elements in + * the window (1 << 1 up to 1 << 6). + */ + size_t min_expected_working_limbs = 1 + N_limbs * 4; + size_t max_expected_working_limbs = 1 + N_limbs * 67; + + TEST_LE_U( min_expected_working_limbs, working_limbs ); + TEST_LE_U( working_limbs, max_expected_working_limbs ); + + ASSERT_ALLOC( T, working_limbs ); + + mbedtls_mpi_core_exp_mod( Y, A, N, N_limbs, E, E_limbs, R2, T ); + + TEST_EQUAL( 0, memcmp( X, Y, N_limbs * sizeof( mbedtls_mpi_uint ) ) ); + +exit: + mbedtls_free( T ); + mbedtls_free( A ); + mbedtls_free( E ); + mbedtls_free( N ); + mbedtls_free( X ); + mbedtls_free( Y ); + mbedtls_mpi_free( &N_mpi ); + mbedtls_mpi_free( &R2_mpi ); + // R2 doesn't need to be freed as it is only aliasing R2_mpi +} +/* END_CASE */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ + +/* BEGIN_CASE */ +void mpi_core_sub_int( char * input_A, char * input_B, + char * input_X, int borrow ) +{ + /* We are testing A - b, where A is an MPI and b is a scalar, expecting + * result X with borrow borrow. However, for ease of handling we encode b + * as a 1-limb MPI (B) in the .data file. */ + + mbedtls_mpi_uint *A = NULL; + mbedtls_mpi_uint *B = NULL; + mbedtls_mpi_uint *X = NULL; + mbedtls_mpi_uint *R = NULL; + size_t A_limbs, B_limbs, X_limbs; + + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &A, &A_limbs, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &B, &B_limbs, input_B ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &X_limbs, input_X ) ); + + /* The MPI encoding of scalar b must be only 1 limb */ + TEST_EQUAL( B_limbs, 1 ); + + /* The subtraction is fixed-width, so A and X must have the same number of limbs */ + TEST_EQUAL( A_limbs, X_limbs ); + size_t limbs = A_limbs; + + ASSERT_ALLOC( R, limbs ); + +#define TEST_COMPARE_CORE_MPIS( A, B, limbs ) \ + ASSERT_COMPARE( A, (limbs) * sizeof(mbedtls_mpi_uint), B, (limbs) * sizeof(mbedtls_mpi_uint) ) + + /* 1. R = A - b. Result and borrow should be correct */ + TEST_EQUAL( mbedtls_mpi_core_sub_int( R, A, B[0], limbs ), borrow ); + TEST_COMPARE_CORE_MPIS( R, X, limbs ); + + /* 2. A = A - b. Result and borrow should be correct */ + TEST_EQUAL( mbedtls_mpi_core_sub_int( A, A, B[0], limbs ), borrow ); + TEST_COMPARE_CORE_MPIS( A, X, limbs ); + +exit: + mbedtls_free( A ); + mbedtls_free( B ); + mbedtls_free( X ); + mbedtls_free( R ); +} +/* END_CASE */ + +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ + +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ diff --git a/tests/suites/test_suite_bignum_core.generated.data b/tests/suites/test_suite_bignum_core.generated.data new file mode 100644 index 0000000000..6cd83342d6 --- /dev/null +++ b/tests/suites/test_suite_bignum_core.generated.data @@ -0,0 +1,13499 @@ +# Automatically generated by generate_bignum_tests.py. Do not edit! + +mpi_core_add_and_add_if #1 0 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0":"0":"0":0 + +mpi_core_add_and_add_if #2 0 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0":"0":"0":0 + +mpi_core_add_and_add_if #3 0 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000000":"00000001":"00000001":0 + +mpi_core_add_and_add_if #4 0 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000":"0000000000000001":"0000000000000001":0 + +mpi_core_add_and_add_if #5 0 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000000":"00000002":"00000002":0 + +mpi_core_add_and_add_if #6 0 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000":"0000000000000002":"0000000000000002":0 + +mpi_core_add_and_add_if #7 0 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000000":"00000003":"00000003":0 + +mpi_core_add_and_add_if #8 0 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000":"0000000000000003":"0000000000000003":0 + +mpi_core_add_and_add_if #9 0 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000000":"00000004":"00000004":0 + +mpi_core_add_and_add_if #10 0 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000":"0000000000000004":"0000000000000004":0 + +mpi_core_add_and_add_if #11 0 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000000":"00000038":"00000038":0 + +mpi_core_add_and_add_if #12 0 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000":"0000000000000038":"0000000000000038":0 + +mpi_core_add_and_add_if #13 0 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_add_and_add_if #14 0 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_add_and_add_if #15 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_add_and_add_if #16 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_add_and_add_if #17 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_add_and_add_if #18 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_add_and_add_if #19 0 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_add_and_add_if #20 0 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_add_and_add_if #21 0 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_add_and_add_if #22 0 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_add_and_add_if #23 0 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_add_and_add_if #24 0 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_add_and_add_if #25 0 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_add_and_add_if #26 0 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_add_and_add_if #27 1 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000000":"00000001":0 + +mpi_core_add_and_add_if #28 1 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000000":"0000000000000001":0 + +mpi_core_add_and_add_if #29 1 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000001":"00000002":0 + +mpi_core_add_and_add_if #30 1 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000001":"0000000000000002":0 + +mpi_core_add_and_add_if #31 1 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000002":"00000003":0 + +mpi_core_add_and_add_if #32 1 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000002":"0000000000000003":0 + +mpi_core_add_and_add_if #33 1 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000003":"00000004":0 + +mpi_core_add_and_add_if #34 1 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000003":"0000000000000004":0 + +mpi_core_add_and_add_if #35 1 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000004":"00000005":0 + +mpi_core_add_and_add_if #36 1 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000004":"0000000000000005":0 + +mpi_core_add_and_add_if #37 1 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000001":"00000038":"00000039":0 + +mpi_core_add_and_add_if #38 1 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000001":"0000000000000038":"0000000000000039":0 + +mpi_core_add_and_add_if #39 1 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c":0 + +mpi_core_add_and_add_if #40 1 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c":0 + +mpi_core_add_and_add_if #41 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974":0 + +mpi_core_add_and_add_if #42 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974":0 + +mpi_core_add_and_add_if #43 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde":0 + +mpi_core_add_and_add_if #44 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde":0 + +mpi_core_add_and_add_if #45 1 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5224":0 + +mpi_core_add_and_add_if #46 1 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5224":0 + +mpi_core_add_and_add_if #47 1 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8":0 + +mpi_core_add_and_add_if #48 1 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8":0 + +mpi_core_add_and_add_if #49 1 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7":0 + +mpi_core_add_and_add_if #50 1 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7":0 + +mpi_core_add_and_add_if #51 1 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aae":0 + +mpi_core_add_and_add_if #52 1 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aae":0 + +mpi_core_add_and_add_if #53 2 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000000":"00000002":0 + +mpi_core_add_and_add_if #54 2 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000000":"0000000000000002":0 + +mpi_core_add_and_add_if #55 2 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000001":"00000003":0 + +mpi_core_add_and_add_if #56 2 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000001":"0000000000000003":0 + +mpi_core_add_and_add_if #57 2 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000002":"00000004":0 + +mpi_core_add_and_add_if #58 2 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000002":"0000000000000004":0 + +mpi_core_add_and_add_if #59 2 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000003":"00000005":0 + +mpi_core_add_and_add_if #60 2 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000003":"0000000000000005":0 + +mpi_core_add_and_add_if #61 2 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000004":"00000006":0 + +mpi_core_add_and_add_if #62 2 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000004":"0000000000000006":0 + +mpi_core_add_and_add_if #63 2 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000002":"00000038":"0000003a":0 + +mpi_core_add_and_add_if #64 2 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000002":"0000000000000038":"000000000000003a":0 + +mpi_core_add_and_add_if #65 2 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d":0 + +mpi_core_add_and_add_if #66 2 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d":0 + +mpi_core_add_and_add_if #67 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975":0 + +mpi_core_add_and_add_if #68 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975":0 + +mpi_core_add_and_add_if #69 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf":0 + +mpi_core_add_and_add_if #70 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf":0 + +mpi_core_add_and_add_if #71 2 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5225":0 + +mpi_core_add_and_add_if #72 2 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5225":0 + +mpi_core_add_and_add_if #73 2 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9":0 + +mpi_core_add_and_add_if #74 2 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9":0 + +mpi_core_add_and_add_if #75 2 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8":0 + +mpi_core_add_and_add_if #76 2 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8":0 + +mpi_core_add_and_add_if #77 2 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaf":0 + +mpi_core_add_and_add_if #78 2 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaf":0 + +mpi_core_add_and_add_if #79 3 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000000":"00000003":0 + +mpi_core_add_and_add_if #80 3 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000000":"0000000000000003":0 + +mpi_core_add_and_add_if #81 3 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000001":"00000004":0 + +mpi_core_add_and_add_if #82 3 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000001":"0000000000000004":0 + +mpi_core_add_and_add_if #83 3 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000002":"00000005":0 + +mpi_core_add_and_add_if #84 3 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000002":"0000000000000005":0 + +mpi_core_add_and_add_if #85 3 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000003":"00000006":0 + +mpi_core_add_and_add_if #86 3 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000003":"0000000000000006":0 + +mpi_core_add_and_add_if #87 3 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000004":"00000007":0 + +mpi_core_add_and_add_if #88 3 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000004":"0000000000000007":0 + +mpi_core_add_and_add_if #89 3 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000003":"00000038":"0000003b":0 + +mpi_core_add_and_add_if #90 3 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000003":"0000000000000038":"000000000000003b":0 + +mpi_core_add_and_add_if #91 3 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e":0 + +mpi_core_add_and_add_if #92 3 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e":0 + +mpi_core_add_and_add_if #93 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976":0 + +mpi_core_add_and_add_if #94 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976":0 + +mpi_core_add_and_add_if #95 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0":0 + +mpi_core_add_and_add_if #96 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0":0 + +mpi_core_add_and_add_if #97 3 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5226":0 + +mpi_core_add_and_add_if #98 3 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5226":0 + +mpi_core_add_and_add_if #99 3 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da":0 + +mpi_core_add_and_add_if #100 3 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da":0 + +mpi_core_add_and_add_if #101 3 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9":0 + +mpi_core_add_and_add_if #102 3 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9":0 + +mpi_core_add_and_add_if #103 3 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab0":0 + +mpi_core_add_and_add_if #104 3 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab0":0 + +mpi_core_add_and_add_if #105 4 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000000":"00000004":0 + +mpi_core_add_and_add_if #106 4 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000000":"0000000000000004":0 + +mpi_core_add_and_add_if #107 4 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000001":"00000005":0 + +mpi_core_add_and_add_if #108 4 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000001":"0000000000000005":0 + +mpi_core_add_and_add_if #109 4 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000002":"00000006":0 + +mpi_core_add_and_add_if #110 4 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000002":"0000000000000006":0 + +mpi_core_add_and_add_if #111 4 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000003":"00000007":0 + +mpi_core_add_and_add_if #112 4 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000003":"0000000000000007":0 + +mpi_core_add_and_add_if #113 4 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000004":"00000008":0 + +mpi_core_add_and_add_if #114 4 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000004":"0000000000000008":0 + +mpi_core_add_and_add_if #115 4 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000004":"00000038":"0000003c":0 + +mpi_core_add_and_add_if #116 4 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000004":"0000000000000038":"000000000000003c":0 + +mpi_core_add_and_add_if #117 4 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f":0 + +mpi_core_add_and_add_if #118 4 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f":0 + +mpi_core_add_and_add_if #119 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977":0 + +mpi_core_add_and_add_if #120 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977":0 + +mpi_core_add_and_add_if #121 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1":0 + +mpi_core_add_and_add_if #122 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1":0 + +mpi_core_add_and_add_if #123 4 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5227":0 + +mpi_core_add_and_add_if #124 4 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5227":0 + +mpi_core_add_and_add_if #125 4 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db":0 + +mpi_core_add_and_add_if #126 4 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db":0 + +mpi_core_add_and_add_if #127 4 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda":0 + +mpi_core_add_and_add_if #128 4 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda":0 + +mpi_core_add_and_add_if #129 4 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab1":0 + +mpi_core_add_and_add_if #130 4 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab1":0 + +mpi_core_add_and_add_if #131 38 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000000":"00000038":0 + +mpi_core_add_and_add_if #132 38 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000000":"0000000000000038":0 + +mpi_core_add_and_add_if #133 38 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000001":"00000039":0 + +mpi_core_add_and_add_if #134 38 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000001":"0000000000000039":0 + +mpi_core_add_and_add_if #135 38 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000002":"0000003a":0 + +mpi_core_add_and_add_if #136 38 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000002":"000000000000003a":0 + +mpi_core_add_and_add_if #137 38 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000003":"0000003b":0 + +mpi_core_add_and_add_if #138 38 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000003":"000000000000003b":0 + +mpi_core_add_and_add_if #139 38 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000004":"0000003c":0 + +mpi_core_add_and_add_if #140 38 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000004":"000000000000003c":0 + +mpi_core_add_and_add_if #141 38 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"00000038":"00000038":"00000070":0 + +mpi_core_add_and_add_if #142 38 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000038":"0000000000000038":"0000000000000070":0 + +mpi_core_add_and_add_if #143 38 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793":0 + +mpi_core_add_and_add_if #144 38 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793":0 + +mpi_core_add_and_add_if #145 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab":0 + +mpi_core_add_and_add_if #146 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab":0 + +mpi_core_add_and_add_if #147 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15":0 + +mpi_core_add_and_add_if #148 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15":0 + +mpi_core_add_and_add_if #149 38 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad525b":0 + +mpi_core_add_and_add_if #150 38 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad525b":0 + +mpi_core_add_and_add_if #151 38 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f":0 + +mpi_core_add_and_add_if #152 38 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f":0 + +mpi_core_add_and_add_if #153 38 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e":0 + +mpi_core_add_and_add_if #154 38 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e":0 + +mpi_core_add_and_add_if #155 38 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ae5":0 + +mpi_core_add_and_add_if #156 38 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ae5":0 + +mpi_core_add_and_add_if #157 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_add_and_add_if #158 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_add_and_add_if #159 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c":0 + +mpi_core_add_and_add_if #160 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c":0 + +mpi_core_add_and_add_if #161 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d":0 + +mpi_core_add_and_add_if #162 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d":0 + +mpi_core_add_and_add_if #163 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e":0 + +mpi_core_add_and_add_if #164 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e":0 + +mpi_core_add_and_add_if #165 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f":0 + +mpi_core_add_and_add_if #166 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f":0 + +mpi_core_add_and_add_if #167 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793":0 + +mpi_core_add_and_add_if #168 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793":0 + +mpi_core_add_and_add_if #169 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a3824f4ccef0ce07060a00071d75de41cb47c5b86f1f6eb6":1 + +mpi_core_add_and_add_if #170 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a3824f4ccef0ce07060a00071d75de41cb47c5b86f1f6eb6":1 + +mpi_core_add_and_add_if #171 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce":0 + +mpi_core_add_and_add_if #172 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce":0 + +mpi_core_add_and_add_if #173 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"a0d94aa623e0ee7bae4e1048649e3045421226134d49e338":1 + +mpi_core_add_and_add_if #174 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"a0d94aa623e0ee7bae4e1048649e3045421226134d49e338":1 + +mpi_core_add_and_add_if #175 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fbc8b2c62a3927c6094d64e8f71e51ba36d577c492e3d097e":0 + +mpi_core_add_and_add_if #176 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fbc8b2c62a3927c6094d64e8f71e51ba36d577c492e3d097e":0 + +mpi_core_add_and_add_if #177 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32":0 + +mpi_core_add_and_add_if #178 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32":0 + +mpi_core_add_and_add_if #179 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631":0 + +mpi_core_add_and_add_if #180 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631":0 + +mpi_core_add_and_add_if #181 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2817526a8534628d48c5a504075d3bb3d189a80e900bc3d208":0 + +mpi_core_add_and_add_if #182 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2817526a8534628d48c5a504075d3bb3d189a80e900bc3d208":0 + +mpi_core_add_and_add_if #183 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_add_and_add_if #184 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_add_and_add_if #185 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974":0 + +mpi_core_add_and_add_if #186 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974":0 + +mpi_core_add_and_add_if #187 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975":0 + +mpi_core_add_and_add_if #188 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975":0 + +mpi_core_add_and_add_if #189 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976":0 + +mpi_core_add_and_add_if #190 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976":0 + +mpi_core_add_and_add_if #191 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977":0 + +mpi_core_add_and_add_if #192 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977":0 + +mpi_core_add_and_add_if #193 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab":0 + +mpi_core_add_and_add_if #194 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab":0 + +mpi_core_add_and_add_if #195 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce":0 + +mpi_core_add_and_add_if #196 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce":0 + +mpi_core_add_and_add_if #197 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6":0 + +mpi_core_add_and_add_if #198 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6":0 + +mpi_core_add_and_add_if #199 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550":0 + +mpi_core_add_and_add_if #200 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550":0 + +mpi_core_add_and_add_if #201 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75f023c1e8f4a943bfceb2cfe54d5cefefe64a85506eb6bfb96":0 + +mpi_core_add_and_add_if #202 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75f023c1e8f4a943bfceb2cfe54d5cefefe64a85506eb6bfb96":0 + +mpi_core_add_and_add_if #203 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a":0 + +mpi_core_add_and_add_if #204 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a":0 + +mpi_core_add_and_add_if #205 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849":0 + +mpi_core_add_and_add_if #206 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849":0 + +mpi_core_add_and_add_if #207 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff275d035cb1db644ce51bfbb3ccc125972c80f8e74dc8f2c420":0 + +mpi_core_add_and_add_if #208 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff275d035cb1db644ce51bfbb3ccc125972c80f8e74dc8f2c420":0 + +mpi_core_add_and_add_if #209 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_add_and_add_if #210 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_add_and_add_if #211 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde":0 + +mpi_core_add_and_add_if #212 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde":0 + +mpi_core_add_and_add_if #213 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf":0 + +mpi_core_add_and_add_if #214 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf":0 + +mpi_core_add_and_add_if #215 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0":0 + +mpi_core_add_and_add_if #216 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0":0 + +mpi_core_add_and_add_if #217 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1":0 + +mpi_core_add_and_add_if #218 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1":0 + +mpi_core_add_and_add_if #219 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15":0 + +mpi_core_add_and_add_if #220 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15":0 + +mpi_core_add_and_add_if #221 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a0d94aa623e0ee7bae4e1048649e3045421226134d49e338":1 + +mpi_core_add_and_add_if #222 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a0d94aa623e0ee7bae4e1048649e3045421226134d49e338":1 + +mpi_core_add_and_add_if #223 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550":0 + +mpi_core_add_and_add_if #224 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550":0 + +mpi_core_add_and_add_if #225 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"9e3045ff78d10ef056922089abc68248b8dc866e2b7457ba":1 + +mpi_core_add_and_add_if #226 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"9e3045ff78d10ef056922089abc68248b8dc866e2b7457ba":1 + +mpi_core_add_and_add_if #227 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fb9e227bbf8829cd53d1a5ed0b90d6da6e421dca40c677e00":0 + +mpi_core_add_and_add_if #228 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fb9e227bbf8829cd53d1a5ed0b90d6da6e421dca40c677e00":0 + +mpi_core_add_and_add_if #229 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4":0 + +mpi_core_add_and_add_if #230 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4":0 + +mpi_core_add_and_add_if #231 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3":0 + +mpi_core_add_and_add_if #232 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3":0 + +mpi_core_add_and_add_if #233 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2814a965de8952adbd6de91448a46405d500726eeae9ee468a":0 + +mpi_core_add_and_add_if #234 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2814a965de8952adbd6de91448a46405d500726eeae9ee468a":0 + +mpi_core_add_and_add_if #235 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_add_and_add_if #236 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_add_and_add_if #237 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5224":0 + +mpi_core_add_and_add_if #238 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5224":0 + +mpi_core_add_and_add_if #239 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5225":0 + +mpi_core_add_and_add_if #240 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5225":0 + +mpi_core_add_and_add_if #241 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5226":0 + +mpi_core_add_and_add_if #242 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5226":0 + +mpi_core_add_and_add_if #243 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5227":0 + +mpi_core_add_and_add_if #244 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5227":0 + +mpi_core_add_and_add_if #245 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad525b":0 + +mpi_core_add_and_add_if #246 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad525b":0 + +mpi_core_add_and_add_if #247 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fbc8b2c62a3927c6094d64e8f71e51ba36d577c492e3d097e":0 + +mpi_core_add_and_add_if #248 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fbc8b2c62a3927c6094d64e8f71e51ba36d577c492e3d097e":0 + +mpi_core_add_and_add_if #249 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75f023c1e8f4a943bfceb2cfe54d5cefefe64a85506eb6bfb96":0 + +mpi_core_add_and_add_if #250 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75f023c1e8f4a943bfceb2cfe54d5cefefe64a85506eb6bfb96":0 + +mpi_core_add_and_add_if #251 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fb9e227bbf8829cd53d1a5ed0b90d6da6e421dca40c677e00":0 + +mpi_core_add_and_add_if #252 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75fb9e227bbf8829cd53d1a5ed0b90d6da6e421dca40c677e00":0 + +mpi_core_add_and_add_if #253 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"92774fd8e9b2de823740117b6f1cc7fe2376bbe8d4a3c2d6593a2adf1c9c3157ebc0a59603e8fa1a324b4efec1322aefc251f6dea5e6944f2a14b29755ba7b00af57d64459e79952c5b62d57ef3e55b4b7a53565ea24897e52bdff3ed55742605df889362517cebdd594097878342aba23a29d17c65459050f6732d9ed5aa446":1 + +mpi_core_add_and_add_if #254 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"92774fd8e9b2de823740117b6f1cc7fe2376bbe8d4a3c2d6593a2adf1c9c3157ebc0a59603e8fa1a324b4efec1322aefc251f6dea5e6944f2a14b29755ba7b00af57d64459e79952c5b62d57ef3e55b4b7a53565ea24897e52bdff3ed55742605df889362517cebdd594097878342aba23a29d17c65459050f6732d9ed5aa446":1 + +mpi_core_add_and_add_if #255 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"cfcbfa5662487a4b0d05d18bee71564a54bb6bd48580b57a004af23aba81d6b6bd7dba5e48c92987755eaa32e9fcf1e6665defc68bc39313a41af3126ebeefd9551e2f74f9de3ea8acef9e16e29e44e3e87834195be0eff52e71bcb27bb2c361460d13ee3a382ab96561caffa17e2806ca72fa58fd934349d5589369331af7fa":0 + +mpi_core_add_and_add_if #256 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"cfcbfa5662487a4b0d05d18bee71564a54bb6bd48580b57a004af23aba81d6b6bd7dba5e48c92987755eaa32e9fcf1e6665defc68bc39313a41af3126ebeefd9551e2f74f9de3ea8acef9e16e29e44e3e87834195be0eff52e71bcb27bb2c361460d13ee3a382ab96561caffa17e2806ca72fa58fd934349d5589369331af7fa":0 + +mpi_core_add_and_add_if #257 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"ddfd047d7feb1c69e7c1d746879470c454342055b86daca36851badfb79a674f696d7705704d52d762ed5d1af9eb69754da29f4dbceba858c6fe126f2d01eea31b9093b5060d3783b2aabc2fd97eb5d41047629b8798e634741bb00a53575a6f30d4de9d5f68cf05c1f294b2c84c24e70305cc98c0ba8b5259145f3de5ee80f9":0 + +mpi_core_add_and_add_if #258 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"ddfd047d7feb1c69e7c1d746879470c454342055b86daca36851badfb79a674f696d7705704d52d762ed5d1af9eb69754da29f4dbceba858c6fe126f2d01eea31b9093b5060d3783b2aabc2fd97eb5d41047629b8798e634741bb00a53575a6f30d4de9d5f68cf05c1f294b2c84c24e70305cc98c0ba8b5259145f3de5ee80f9":0 + +mpi_core_add_and_add_if #259 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"bb0b817e8bb8d3c7634df4e430cb7244510be03d97d5898e6c53429c0fd44875592fd33aade91d896f85a9a3fbb2316cb96d16c5692674f1f45f80bf8c283f1130e5220407be08b058da22afb2fc9e6039db65549593bdcf7384e405b9fdf4d0592dcc204410e686305b479b09043ba25471528fb1aaf1332bb7c520cae16cd0":1 + +mpi_core_add_and_add_if #260 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"bb0b817e8bb8d3c7634df4e430cb7244510be03d97d5898e6c53429c0fd44875592fd33aade91d896f85a9a3fbb2316cb96d16c5692674f1f45f80bf8c283f1130e5220407be08b058da22afb2fc9e6039db65549593bdcf7384e405b9fdf4d0592dcc204410e686305b479b09043ba25471528fb1aaf1332bb7c520cae16cd0":1 + +mpi_core_add_and_add_if #261 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_add_and_add_if #262 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_add_and_add_if #263 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8":0 + +mpi_core_add_and_add_if #264 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8":0 + +mpi_core_add_and_add_if #265 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9":0 + +mpi_core_add_and_add_if #266 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9":0 + +mpi_core_add_and_add_if #267 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da":0 + +mpi_core_add_and_add_if #268 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da":0 + +mpi_core_add_and_add_if #269 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db":0 + +mpi_core_add_and_add_if #270 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db":0 + +mpi_core_add_and_add_if #271 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f":0 + +mpi_core_add_and_add_if #272 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f":0 + +mpi_core_add_and_add_if #273 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32":0 + +mpi_core_add_and_add_if #274 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32":0 + +mpi_core_add_and_add_if #275 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a":0 + +mpi_core_add_and_add_if #276 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a":0 + +mpi_core_add_and_add_if #277 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4":0 + +mpi_core_add_and_add_if #278 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4":0 + +mpi_core_add_and_add_if #279 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"cfcbfa5662487a4b0d05d18bee71564a54bb6bd48580b57a004af23aba81d6b6bd7dba5e48c92987755eaa32e9fcf1e6665defc68bc39313a41af3126ebeefd9551e2f74f9de3ea8acef9e16e29e44e3e87834195be0eff52e71bcb27bb2c361460d13ee3a382ab96561caffa17e2806ca72fa58fd934349d5589369331af7fa":0 + +mpi_core_add_and_add_if #280 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"cfcbfa5662487a4b0d05d18bee71564a54bb6bd48580b57a004af23aba81d6b6bd7dba5e48c92987755eaa32e9fcf1e6665defc68bc39313a41af3126ebeefd9551e2f74f9de3ea8acef9e16e29e44e3e87834195be0eff52e71bcb27bb2c361460d13ee3a382ab96561caffa17e2806ca72fa58fd934349d5589369331af7fa":0 + +mpi_core_add_and_add_if #281 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0d20a4d3dade1613e2cb919c6dc5e49686001bc0365da81da75bb99658677c158f3acf268da958f4b872056712c7b8dd0a69e8ae71a091d81e21338d87c364b1fae488a599d4e3fe94290ed5d5fe3413194b32cccd9d566c0a257a26220e44622e219ea64f5886b4f52f8c86cac825537143579a34d22d8e9b49f3f878db4bae":0 + +mpi_core_add_and_add_if #282 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0d20a4d3dade1613e2cb919c6dc5e49686001bc0365da81da75bb99658677c158f3acf268da958f4b872056712c7b8dd0a69e8ae71a091d81e21338d87c364b1fae488a599d4e3fe94290ed5d5fe3413194b32cccd9d566c0a257a26220e44622e219ea64f5886b4f52f8c86cac825537143579a34d22d8e9b49f3f878db4bae":0 + +mpi_core_add_and_add_if #283 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad":0 + +mpi_core_add_and_add_if #284 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad":0 + +mpi_core_add_and_add_if #285 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f8602bfc044e6f903913b4f4b02000908250902948b27c32136409f7adb9edd42aece802f2c94cf6b29904d8247cf8635d790fad4f0373b66e65c13aa52cb3e9d6ab7b34a7b4ae064013936ea65c8d8f6aae6408075024464f38a179605975d1414256d859314281c0290922324e38eefb41afd0e8e9db77f1a925b010a1c084":0 + +mpi_core_add_and_add_if #286 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f8602bfc044e6f903913b4f4b02000908250902948b27c32136409f7adb9edd42aece802f2c94cf6b29904d8247cf8635d790fad4f0373b66e65c13aa52cb3e9d6ab7b34a7b4ae064013936ea65c8d8f6aae6408075024464f38a179605975d1414256d859314281c0290922324e38eefb41afd0e8e9db77f1a925b010a1c084":0 + +mpi_core_add_and_add_if #287 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_add_and_add_if #288 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_add_and_add_if #289 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7":0 + +mpi_core_add_and_add_if #290 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7":0 + +mpi_core_add_and_add_if #291 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8":0 + +mpi_core_add_and_add_if #292 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8":0 + +mpi_core_add_and_add_if #293 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9":0 + +mpi_core_add_and_add_if #294 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9":0 + +mpi_core_add_and_add_if #295 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda":0 + +mpi_core_add_and_add_if #296 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda":0 + +mpi_core_add_and_add_if #297 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e":0 + +mpi_core_add_and_add_if #298 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e":0 + +mpi_core_add_and_add_if #299 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631":0 + +mpi_core_add_and_add_if #300 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631":0 + +mpi_core_add_and_add_if #301 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849":0 + +mpi_core_add_and_add_if #302 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849":0 + +mpi_core_add_and_add_if #303 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3":0 + +mpi_core_add_and_add_if #304 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3":0 + +mpi_core_add_and_add_if #305 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ddfd047d7feb1c69e7c1d746879470c454342055b86daca36851badfb79a674f696d7705704d52d762ed5d1af9eb69754da29f4dbceba858c6fe126f2d01eea31b9093b5060d3783b2aabc2fd97eb5d41047629b8798e634741bb00a53575a6f30d4de9d5f68cf05c1f294b2c84c24e70305cc98c0ba8b5259145f3de5ee80f9":0 + +mpi_core_add_and_add_if #306 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ddfd047d7feb1c69e7c1d746879470c454342055b86daca36851badfb79a674f696d7705704d52d762ed5d1af9eb69754da29f4dbceba858c6fe126f2d01eea31b9093b5060d3783b2aabc2fd97eb5d41047629b8798e634741bb00a53575a6f30d4de9d5f68cf05c1f294b2c84c24e70305cc98c0ba8b5259145f3de5ee80f9":0 + +mpi_core_add_and_add_if #307 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad":0 + +mpi_core_add_and_add_if #308 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad":0 + +mpi_core_add_and_add_if #309 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2982b92216235a5198439d11a00c198a84f184c29c37967077694ae052989d46e71a4874dcb1ab94938f6b3732a4a7fad8f347bcd3f0bc6263e772470449624587c95125b232d5b49f9f4b07c3bf15f368e98fd1250d42ea957960d5d157727e03b1340499b9cf4dae511fed18641f13e268fc19bb20bd9fa2c18ba1de825dac":0 + +mpi_core_add_and_add_if #310 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2982b92216235a5198439d11a00c198a84f184c29c37967077694ae052989d46e71a4874dcb1ab94938f6b3732a4a7fad8f347bcd3f0bc6263e772470449624587c95125b232d5b49f9f4b07c3bf15f368e98fd1250d42ea957960d5d157727e03b1340499b9cf4dae511fed18641f13e268fc19bb20bd9fa2c18ba1de825dac":0 + +mpi_core_add_and_add_if #311 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0691362321f111af13cfbaaf49431b0a81c944aa7b9f735b7b6ad29caad27e6cd6dca4aa1a4d7646a027b7c0346b6ff244bdbf34802b88fb9148e097636fb2b39d1ddf74b3e3a6e145ceb1879d3cfe7f927d928a33081a8594e294d137fe0cdf2c0a21877e61e6ce1cb9d2d5591c35cf33d48210ac1123807564f184c3754983":1 + +mpi_core_add_and_add_if #312 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0691362321f111af13cfbaaf49431b0a81c944aa7b9f735b7b6ad29caad27e6cd6dca4aa1a4d7646a027b7c0346b6ff244bdbf34802b88fb9148e097636fb2b39d1ddf74b3e3a6e145ceb1879d3cfe7f927d928a33081a8594e294d137fe0cdf2c0a21877e61e6ce1cb9d2d5591c35cf33d48210ac1123807564f184c3754983":1 + +mpi_core_add_and_add_if #313 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_add_and_add_if #314 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_add_and_add_if #315 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aae":0 + +mpi_core_add_and_add_if #316 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aae":0 + +mpi_core_add_and_add_if #317 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaf":0 + +mpi_core_add_and_add_if #318 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaf":0 + +mpi_core_add_and_add_if #319 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab0":0 + +mpi_core_add_and_add_if #320 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab0":0 + +mpi_core_add_and_add_if #321 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab1":0 + +mpi_core_add_and_add_if #322 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ab1":0 + +mpi_core_add_and_add_if #323 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ae5":0 + +mpi_core_add_and_add_if #324 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341ae5":0 + +mpi_core_add_and_add_if #325 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2817526a8534628d48c5a504075d3bb3d189a80e900bc3d208":0 + +mpi_core_add_and_add_if #326 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2817526a8534628d48c5a504075d3bb3d189a80e900bc3d208":0 + +mpi_core_add_and_add_if #327 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff275d035cb1db644ce51bfbb3ccc125972c80f8e74dc8f2c420":0 + +mpi_core_add_and_add_if #328 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff275d035cb1db644ce51bfbb3ccc125972c80f8e74dc8f2c420":0 + +mpi_core_add_and_add_if #329 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2814a965de8952adbd6de91448a46405d500726eeae9ee468a":0 + +mpi_core_add_and_add_if #330 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2814a965de8952adbd6de91448a46405d500726eeae9ee468a":0 + +mpi_core_add_and_add_if #331 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"bb0b817e8bb8d3c7634df4e430cb7244510be03d97d5898e6c53429c0fd44875592fd33aade91d896f85a9a3fbb2316cb96d16c5692674f1f45f80bf8c283f1130e5220407be08b058da22afb2fc9e6039db65549593bdcf7384e405b9fdf4d0592dcc204410e686305b479b09043ba25471528fb1aaf1332bb7c520cae16cd0":1 + +mpi_core_add_and_add_if #332 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"bb0b817e8bb8d3c7634df4e430cb7244510be03d97d5898e6c53429c0fd44875592fd33aade91d896f85a9a3fbb2316cb96d16c5692674f1f45f80bf8c283f1130e5220407be08b058da22afb2fc9e6039db65549593bdcf7384e405b9fdf4d0592dcc204410e686305b479b09043ba25471528fb1aaf1332bb7c520cae16cd0":1 + +mpi_core_add_and_add_if #333 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f8602bfc044e6f903913b4f4b02000908250902948b27c32136409f7adb9edd42aece802f2c94cf6b29904d8247cf8635d790fad4f0373b66e65c13aa52cb3e9d6ab7b34a7b4ae064013936ea65c8d8f6aae6408075024464f38a179605975d1414256d859314281c0290922324e38eefb41afd0e8e9db77f1a925b010a1c084":0 + +mpi_core_add_and_add_if #334 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f8602bfc044e6f903913b4f4b02000908250902948b27c32136409f7adb9edd42aece802f2c94cf6b29904d8247cf8635d790fad4f0373b66e65c13aa52cb3e9d6ab7b34a7b4ae064013936ea65c8d8f6aae6408075024464f38a179605975d1414256d859314281c0290922324e38eefb41afd0e8e9db77f1a925b010a1c084":0 + +mpi_core_add_and_add_if #335 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0691362321f111af13cfbaaf49431b0a81c944aa7b9f735b7b6ad29caad27e6cd6dca4aa1a4d7646a027b7c0346b6ff244bdbf34802b88fb9148e097636fb2b39d1ddf74b3e3a6e145ceb1879d3cfe7f927d928a33081a8594e294d137fe0cdf2c0a21877e61e6ce1cb9d2d5591c35cf33d48210ac1123807564f184c3754983":1 + +mpi_core_add_and_add_if #336 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0691362321f111af13cfbaaf49431b0a81c944aa7b9f735b7b6ad29caad27e6cd6dca4aa1a4d7646a027b7c0346b6ff244bdbf34802b88fb9148e097636fb2b39d1ddf74b3e3a6e145ceb1879d3cfe7f927d928a33081a8594e294d137fe0cdf2c0a21877e61e6ce1cb9d2d5591c35cf33d48210ac1123807564f184c3754983":1 + +mpi_core_add_and_add_if #337 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e39fb3242dbec90c8f5bd84cf27a1c8a7ea104925b0750467f6c5a59030c5f92c69f00df57e940f8acc00449363237e9b08836ac2c665594beaa4ee7c2960321b2726dc3b594780debfe180776bae70bbc1195434102f220944bc8cc9ea4a74054630f0a6309fe4e8b2285bd99d44c8a854008079d01896148085767a868355a":1 + +mpi_core_add_and_add_if #338 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad + f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_add_and_add_if:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e39fb3242dbec90c8f5bd84cf27a1c8a7ea104925b0750467f6c5a59030c5f92c69f00df57e940f8acc00449363237e9b08836ac2c665594beaa4ee7c2960321b2726dc3b594780debfe180776bae70bbc1195434102f220944bc8cc9ea4a74054630f0a6309fe4e8b2285bd99d44c8a854008079d01896148085767a868355a":1 + +Constant time MPI table lookup - One limb MPI with 0 bit window +mpi_core_ct_uint_table_lookup:32:0 + +Constant time MPI table lookup - One limb MPI with 1 bit window +mpi_core_ct_uint_table_lookup:32:1 + +Constant time MPI table lookup - One limb MPI with 2 bit window +mpi_core_ct_uint_table_lookup:32:2 + +Constant time MPI table lookup - One limb MPI with 3 bit window +mpi_core_ct_uint_table_lookup:32:3 + +Constant time MPI table lookup - One limb MPI with 4 bit window +mpi_core_ct_uint_table_lookup:32:4 + +Constant time MPI table lookup - One limb MPI with 5 bit window +mpi_core_ct_uint_table_lookup:32:5 + +Constant time MPI table lookup - One limb MPI with 6 bit window +mpi_core_ct_uint_table_lookup:32:6 + +Constant time MPI table lookup - Smallest curve sized MPI with 0 bit window +mpi_core_ct_uint_table_lookup:192:0 + +Constant time MPI table lookup - Smallest curve sized MPI with 1 bit window +mpi_core_ct_uint_table_lookup:192:1 + +Constant time MPI table lookup - Smallest curve sized MPI with 2 bit window +mpi_core_ct_uint_table_lookup:192:2 + +Constant time MPI table lookup - Smallest curve sized MPI with 3 bit window +mpi_core_ct_uint_table_lookup:192:3 + +Constant time MPI table lookup - Smallest curve sized MPI with 4 bit window +mpi_core_ct_uint_table_lookup:192:4 + +Constant time MPI table lookup - Smallest curve sized MPI with 5 bit window +mpi_core_ct_uint_table_lookup:192:5 + +Constant time MPI table lookup - Smallest curve sized MPI with 6 bit window +mpi_core_ct_uint_table_lookup:192:6 + +Constant time MPI table lookup - Largest curve sized MPI with 0 bit window +mpi_core_ct_uint_table_lookup:512:0 + +Constant time MPI table lookup - Largest curve sized MPI with 1 bit window +mpi_core_ct_uint_table_lookup:512:1 + +Constant time MPI table lookup - Largest curve sized MPI with 2 bit window +mpi_core_ct_uint_table_lookup:512:2 + +Constant time MPI table lookup - Largest curve sized MPI with 3 bit window +mpi_core_ct_uint_table_lookup:512:3 + +Constant time MPI table lookup - Largest curve sized MPI with 4 bit window +mpi_core_ct_uint_table_lookup:512:4 + +Constant time MPI table lookup - Largest curve sized MPI with 5 bit window +mpi_core_ct_uint_table_lookup:512:5 + +Constant time MPI table lookup - Largest curve sized MPI with 6 bit window +mpi_core_ct_uint_table_lookup:512:6 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 0 bit window +mpi_core_ct_uint_table_lookup:2048:0 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 1 bit window +mpi_core_ct_uint_table_lookup:2048:1 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 2 bit window +mpi_core_ct_uint_table_lookup:2048:2 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 3 bit window +mpi_core_ct_uint_table_lookup:2048:3 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 4 bit window +mpi_core_ct_uint_table_lookup:2048:4 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 5 bit window +mpi_core_ct_uint_table_lookup:2048:5 + +Constant time MPI table lookup - Small FF/RSA sized MPI with 6 bit window +mpi_core_ct_uint_table_lookup:2048:6 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 0 bit window +mpi_core_ct_uint_table_lookup:4096:0 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 1 bit window +mpi_core_ct_uint_table_lookup:4096:1 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 2 bit window +mpi_core_ct_uint_table_lookup:4096:2 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 3 bit window +mpi_core_ct_uint_table_lookup:4096:3 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 4 bit window +mpi_core_ct_uint_table_lookup:4096:4 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 5 bit window +mpi_core_ct_uint_table_lookup:4096:5 + +Constant time MPI table lookup - Large FF/RSA sized MPI with 6 bit window +mpi_core_ct_uint_table_lookup:4096:6 + +Core modular exponentiation (Mongtomery form only) #1 0 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #2 0 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000001":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #3 0 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000002":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #4 0 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000003":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #5 0 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000004":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #6 0 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"0000000000000038":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #7 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #8 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #9 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #10 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #11 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #12 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #13 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #14 1 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #15 1 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000001":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #16 1 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000002":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #17 1 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000003":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #18 1 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000004":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #19 1 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"0000000000000038":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #20 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #21 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #22 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #23 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #24 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #25 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #26 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000024":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #27 2 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #28 2 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000001":"0000000000000048" + +Core modular exponentiation (Mongtomery form only) #29 2 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000002":"000000000000003d" + +Core modular exponentiation (Mongtomery form only) #30 2 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000003":"0000000000000027" + +Core modular exponentiation (Mongtomery form only) #31 2 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000004":"000000000000004e" + +Core modular exponentiation (Mongtomery form only) #32 2 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"0000000000000038":"000000000000001f" + +Core modular exponentiation (Mongtomery form only) #33 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000003e" + +Core modular exponentiation (Mongtomery form only) #34 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000002a" + +Core modular exponentiation (Mongtomery form only) #35 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000016" + +Core modular exponentiation (Mongtomery form only) #36 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000000d" + +Core modular exponentiation (Mongtomery form only) #37 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000027" + +Core modular exponentiation (Mongtomery form only) #38 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000046" + +Core modular exponentiation (Mongtomery form only) #39 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000048":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000008" + +Core modular exponentiation (Mongtomery form only) #40 3 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #41 3 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000001":"0000000000000019" + +Core modular exponentiation (Mongtomery form only) #42 3 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000002":"000000000000004b" + +Core modular exponentiation (Mongtomery form only) #43 3 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000003":"000000000000003b" + +Core modular exponentiation (Mongtomery form only) #44 3 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000004":"000000000000000b" + +Core modular exponentiation (Mongtomery form only) #45 3 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"0000000000000038":"000000000000001a" + +Core modular exponentiation (Mongtomery form only) #46 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000004e" + +Core modular exponentiation (Mongtomery form only) #47 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000044" + +Core modular exponentiation (Mongtomery form only) #48 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000004b" + +Core modular exponentiation (Mongtomery form only) #49 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000031" + +Core modular exponentiation (Mongtomery form only) #50 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"000000000000003b" + +Core modular exponentiation (Mongtomery form only) #51 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000031" + +Core modular exponentiation (Mongtomery form only) #52 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000019":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000001e" + +Core modular exponentiation (Mongtomery form only) #53 4 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #54 4 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000001":"000000000000003d" + +Core modular exponentiation (Mongtomery form only) #55 4 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000002":"000000000000004e" + +Core modular exponentiation (Mongtomery form only) #56 4 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000003":"000000000000003f" + +Core modular exponentiation (Mongtomery form only) #57 4 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000004":"0000000000000003" + +Core modular exponentiation (Mongtomery form only) #58 4 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"0000000000000038":"000000000000001d" + +Core modular exponentiation (Mongtomery form only) #59 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000021" + +Core modular exponentiation (Mongtomery form only) #60 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000031" + +Core modular exponentiation (Mongtomery form only) #61 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000004e" + +Core modular exponentiation (Mongtomery form only) #62 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000007" + +Core modular exponentiation (Mongtomery form only) #63 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"000000000000003f" + +Core modular exponentiation (Mongtomery form only) #64 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000007" + +Core modular exponentiation (Mongtomery form only) #65 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"000000000000003d":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000000b" + +Core modular exponentiation (Mongtomery form only) #66 38 ^ 0 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000000":"0000000000000024" + +Core modular exponentiation (Mongtomery form only) #67 38 ^ 1 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000001":"0000000000000018" + +Core modular exponentiation (Mongtomery form only) #68 38 ^ 2 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000002":"0000000000000010" + +Core modular exponentiation (Mongtomery form only) #69 38 ^ 3 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000003":"0000000000000042" + +Core modular exponentiation (Mongtomery form only) #70 38 ^ 4 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000004":"000000000000002c" + +Core modular exponentiation (Mongtomery form only) #71 38 ^ 38 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"0000000000000038":"000000000000000b" + +Core modular exponentiation (Mongtomery form only) #72 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000023" + +Core modular exponentiation (Mongtomery form only) #73 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000020" + +Core modular exponentiation (Mongtomery form only) #74 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000043" + +Core modular exponentiation (Mongtomery form only) #75 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000004f" + +Core modular exponentiation (Mongtomery form only) #76 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000042" + +Core modular exponentiation (Mongtomery form only) #77 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000004" + +Core modular exponentiation (Mongtomery form only) #78 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53 +mpi_core_exp_mod:"0000000000000053":"0000000000000018":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000004c" + +Core modular exponentiation (Mongtomery form only) #170 0 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #171 0 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000001":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #172 0 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000002":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #173 0 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000003":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #174 0 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000004":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #175 0 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"0000000000000038":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #176 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #177 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #178 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #179 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #180 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #181 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #182 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000" + +Core modular exponentiation (Mongtomery form only) #183 1 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #184 1 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000001":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #185 1 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000002":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #186 1 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000003":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #187 1 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000004":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #188 1 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"0000000000000038":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #189 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #190 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #191 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #192 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #193 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #194 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #195 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000034":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #196 2 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #197 2 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000001":"0000000000000023" + +Core modular exponentiation (Mongtomery form only) #198 2 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000002":"0000000000000001" + +Core modular exponentiation (Mongtomery form only) #199 2 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000003":"0000000000000002" + +Core modular exponentiation (Mongtomery form only) #200 2 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000004":"0000000000000004" + +Core modular exponentiation (Mongtomery form only) #201 2 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"0000000000000038":"000000000000003a" + +Core modular exponentiation (Mongtomery form only) #202 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000003e" + +Core modular exponentiation (Mongtomery form only) #203 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000001d" + +Core modular exponentiation (Mongtomery form only) #204 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000001d" + +Core modular exponentiation (Mongtomery form only) #205 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000003b" + +Core modular exponentiation (Mongtomery form only) #206 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000008" + +Core modular exponentiation (Mongtomery form only) #207 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"000000000000000d" + +Core modular exponentiation (Mongtomery form only) #208 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000023":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000002f" + +Core modular exponentiation (Mongtomery form only) #209 3 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #210 3 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000001":"0000000000000012" + +Core modular exponentiation (Mongtomery form only) #211 3 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000002":"0000000000000036" + +Core modular exponentiation (Mongtomery form only) #212 3 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000003":"0000000000000018" + +Core modular exponentiation (Mongtomery form only) #213 3 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000004":"0000000000000003" + +Core modular exponentiation (Mongtomery form only) #214 3 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"0000000000000038":"0000000000000012" + +Core modular exponentiation (Mongtomery form only) #215 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000001b" + +Core modular exponentiation (Mongtomery form only) #216 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000006" + +Core modular exponentiation (Mongtomery form only) #217 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000006" + +Core modular exponentiation (Mongtomery form only) #218 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000027" + +Core modular exponentiation (Mongtomery form only) #219 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000009" + +Core modular exponentiation (Mongtomery form only) #220 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000027" + +Core modular exponentiation (Mongtomery form only) #221 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000012":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000036" + +Core modular exponentiation (Mongtomery form only) #222 4 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #223 4 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000001":"0000000000000001" + +Core modular exponentiation (Mongtomery form only) #224 4 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000002":"0000000000000004" + +Core modular exponentiation (Mongtomery form only) #225 4 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000003":"0000000000000010" + +Core modular exponentiation (Mongtomery form only) #226 4 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000004":"0000000000000040" + +Core modular exponentiation (Mongtomery form only) #227 4 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"0000000000000038":"0000000000000001" + +Core modular exponentiation (Mongtomery form only) #228 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000003a" + +Core modular exponentiation (Mongtomery form only) #229 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #230 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #231 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000037" + +Core modular exponentiation (Mongtomery form only) #232 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000031" + +Core modular exponentiation (Mongtomery form only) #233 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000037" + +Core modular exponentiation (Mongtomery form only) #234 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"0000000000000001":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000004" + +Core modular exponentiation (Mongtomery form only) #235 38 ^ 0 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000000":"0000000000000034" + +Core modular exponentiation (Mongtomery form only) #236 38 ^ 1 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000001":"000000000000000e" + +Core modular exponentiation (Mongtomery form only) #237 38 ^ 2 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000002":"0000000000000019" + +Core modular exponentiation (Mongtomery form only) #238 38 ^ 3 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000003":"0000000000000014" + +Core modular exponentiation (Mongtomery form only) #239 38 ^ 4 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000004":"0000000000000010" + +Core modular exponentiation (Mongtomery form only) #240 38 ^ 38 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"0000000000000038":"0000000000000037" + +Core modular exponentiation (Mongtomery form only) #241 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000038" + +Core modular exponentiation (Mongtomery form only) #242 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000011" + +Core modular exponentiation (Mongtomery form only) #243 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000011" + +Core modular exponentiation (Mongtomery form only) #244 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000005" + +Core modular exponentiation (Mongtomery form only) #245 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000044" + +Core modular exponentiation (Mongtomery form only) #246 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000040" + +Core modular exponentiation (Mongtomery form only) #247 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 45 +mpi_core_exp_mod:"0000000000000045":"000000000000000e":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000002c" + +Core modular exponentiation (Mongtomery form only) #339 0 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #340 0 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #341 0 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #342 0 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #343 0 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #344 0 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #345 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #346 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #347 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #348 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #349 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #350 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #351 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #352 1 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #353 1 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000001":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #354 1 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000002":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #355 1 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000003":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #356 1 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000004":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #357 1 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"000000000000000000000000000000000000000000000038":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #358 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #359 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #360 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #361 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #362 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #363 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #364 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #365 2 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #366 2 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000001":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a" + +Core modular exponentiation (Mongtomery form only) #367 2 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000002":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294" + +Core modular exponentiation (Mongtomery form only) #368 2 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000003":"a0359b265cc460e064d2ffdffb6d97d7ed3d06420bf28dcd" + +Core modular exponentiation (Mongtomery form only) #369 2 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000004":"6eaa0ea652105abd46a0ffbc6820408ef4d629a7e055643f" + +Core modular exponentiation (Mongtomery form only) #370 2 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"000000000000000000000000000000000000000000000038":"62015328f2ca428af48be3c3fcd2f5d8ec5e4455d7eafb29" + +Core modular exponentiation (Mongtomery form only) #371 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a" + +Core modular exponentiation (Mongtomery form only) #372 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"736abac95d6913b563ab6ff9a569e4abc9aa12e85a544fc1" + +Core modular exponentiation (Mongtomery form only) #373 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"282c8509e8b0a486b3c4e12271eadfdfe1809ded8d2795d7" + +Core modular exponentiation (Mongtomery form only) #374 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0175241247dcdbbf89f446579973575b638b58b7f2e3e367" + +Core modular exponentiation (Mongtomery form only) #375 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2e65c6de86c5c97cd8d871ba5f6525316fe2c4573f80300" + +Core modular exponentiation (Mongtomery form only) #376 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"142557251841691ee543b7f389e21395a4e58aecdb2ec4bb" + +Core modular exponentiation (Mongtomery form only) #377 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"89ebe4c06108cfff8af5bfa1ae74a016eb2a47fea953dc1d" + +Core modular exponentiation (Mongtomery form only) #378 3 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #379 3 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000001":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef" + +Core modular exponentiation (Mongtomery form only) #380 3 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000002":"ce74737ff54bf9dce1cdffdc6cb2a8b707992365d462d672" + +Core modular exponentiation (Mongtomery form only) #381 3 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000003":"c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a0" + +Core modular exponentiation (Mongtomery form only) #382 3 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000004":"b40ed24c63e890a7d815fea35c707568174327b2bafbcf2a" + +Core modular exponentiation (Mongtomery form only) #383 3 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"000000000000000000000000000000000000000000000038":"8813b3fbe64484b1bce761cc58c440081dd65c0e2fce3a62" + +Core modular exponentiation (Mongtomery form only) #384 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef" + +Core modular exponentiation (Mongtomery form only) #385 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cd7adadf6ded8b4750d7547e3bfee9dd6ab336d05bcc1bea" + +Core modular exponentiation (Mongtomery form only) #386 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"455d2f52a5208242666bd83d75127ce619e2f3153a75c4f3" + +Core modular exponentiation (Mongtomery form only) #387 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aec48a75180e3bcf1586bfb806a41599c701bb0a13734137" + +Core modular exponentiation (Mongtomery form only) #388 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"48aec5edce9dbb93307c9f1b43cc1c7ea4f5f7034a91be1e" + +Core modular exponentiation (Mongtomery form only) #389 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"6731cabcb7db4086080d1c1d76d93dbc4b1604d343c7f6d7" + +Core modular exponentiation (Mongtomery form only) #390 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"26db13a77ba51e3a29249c1d83f74f798547b71391c182cd" + +Core modular exponentiation (Mongtomery form only) #391 4 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #392 4 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000001":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294" + +Core modular exponentiation (Mongtomery form only) #393 4 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000002":"6eaa0ea652105abd46a0ffbc6820408ef4d629a7e055643f" + +Core modular exponentiation (Mongtomery form only) #394 4 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000003":"1725eb4c79509cee1479feea830b23fa0810e0e712362246" + +Core modular exponentiation (Mongtomery form only) #395 4 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000004":"5c97ad31e54273b851e7fbaa0c2c8fe82043839c48d88918" + +Core modular exponentiation (Mongtomery form only) #396 4 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"000000000000000000000000000000000000000000000038":"7e3bde47fedc2e1cc1be77ae2fc87640579e1f338f8767c6" + +Core modular exponentiation (Mongtomery form only) #397 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294" + +Core modular exponentiation (Mongtomery form only) #398 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"13f157672ac702d88612609658e50fe336390a368de63811" + +Core modular exponentiation (Mongtomery form only) #399 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"7bd536293aa0a337596886cf1e1503512973a6b3cafbf599" + +Core modular exponentiation (Mongtomery form only) #400 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"80b42a0fbce2bcaf13c9710a13de25543fd311ed02a8247a" + +Core modular exponentiation (Mongtomery form only) #401 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"2fb1779eef2fb9c5b85013851d8ec5d404a60a12e7a21030" + +Core modular exponentiation (Mongtomery form only) #402 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0702555838a9f70a56265d5f722d13e3923f04146f2d1864" + +Core modular exponentiation (Mongtomery form only) #403 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"3dbb796d3196a61f8f9c448731192ab3bc8429f28f1efc26" + +Core modular exponentiation (Mongtomery form only) #404 38 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #405 38 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000001":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4" + +Core modular exponentiation (Mongtomery form only) #406 38 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000002":"557c4363331406805c40cad14b7b37370f079ded668dfa9f" + +Core modular exponentiation (Mongtomery form only) #407 38 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000003":"ac955566480891c6ebbe5d7a3ee387378d950d01a8b510f6" + +Core modular exponentiation (Mongtomery form only) #408 38 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000004":"0ff58e792a3d60e206be721a1c2e9c3db52814caebc8c376" + +Core modular exponentiation (Mongtomery form only) #409 38 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"000000000000000000000000000000000000000000000038":"9192a9df5fbe61561274de19a967d2f48262afb2319875d3" + +Core modular exponentiation (Mongtomery form only) #410 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4" + +Core modular exponentiation (Mongtomery form only) #411 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"7dc4a890f04c11924824e053725f4835103178a9e6b91f0e" + +Core modular exponentiation (Mongtomery form only) #412 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"caf610a7e50cc1b225c830220ce430e3d71d5b9b2c63c32d" + +Core modular exponentiation (Mongtomery form only) #413 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"cc084102738f63219204e5311f4b473d66461ff47940d961" + +Core modular exponentiation (Mongtomery form only) #414 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"483cf8addb7ed889ed57f74597aaf131d112a42ebb95c46f" + +Core modular exponentiation (Mongtomery form only) #415 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"be2e8eacadc61914b863a8fc21273c0defdbe7fc9993f991" + +Core modular exponentiation (Mongtomery form only) #416 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"82cfbe250b33cc8c9f42c6851b81e1ce853eb4f5d9c477c6" + +Core modular exponentiation (Mongtomery form only) #430 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #431 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000001":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78" + +Core modular exponentiation (Mongtomery form only) #432 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000002":"8cf29cb53dff685f629a4464bccc8e83b32e76165b5821ba" + +Core modular exponentiation (Mongtomery form only) #433 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000003":"638536b608028f1bd69faa2028bca8354b921396cba9a68a" + +Core modular exponentiation (Mongtomery form only) #434 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000004":"6a50d1c3bc09aa9c69f97fe308a6ffd5559f0ea2d5d8d8b7" + +Core modular exponentiation (Mongtomery form only) #435 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"000000000000000000000000000000000000000000000038":"89bf50d3553ba1accb080cb0c21b2a8808307b1bfac88bb6" + +Core modular exponentiation (Mongtomery form only) #436 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78" + +Core modular exponentiation (Mongtomery form only) #437 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2adca997fb1adbc30f958fcbb83f2348b4ca0b719119bb95" + +Core modular exponentiation (Mongtomery form only) #438 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"95af967be5e7d836bd093c3a844685f95e952387404857db" + +Core modular exponentiation (Mongtomery form only) #439 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6c4b190c526b19cb1f5392f60b9a7fae40ecd620c2da0b42" + +Core modular exponentiation (Mongtomery form only) #440 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"9292184182b3939ff72185aa4f3aac9054d7a365620bf258" + +Core modular exponentiation (Mongtomery form only) #441 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"44e78065023a54a431eb8d548defe45d607014d147f79737" + +Core modular exponentiation (Mongtomery form only) #442 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"ad8a821ec364be5096e5d9051e75f0a5c9617d91aa1bb9a7" + +Core modular exponentiation (Mongtomery form only) #443 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000000":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Core modular exponentiation (Mongtomery form only) #444 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000001":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3" + +Core modular exponentiation (Mongtomery form only) #445 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000002":"84f5715e6166e92d827da90f387d9974d31df7a41eb9bbee" + +Core modular exponentiation (Mongtomery form only) #446 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000003":"55213e86191cc7819cc98db4aa0cc8f26a72a47b6504b16d" + +Core modular exponentiation (Mongtomery form only) #447 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000004":"11fb76bc742e761930f5ec720dc42b23c0ea939913359549" + +Core modular exponentiation (Mongtomery form only) #448 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"000000000000000000000000000000000000000000000038":"67de8bdd949244a08d4c0c47e39af43424dbfbc1cf6ee41f" + +Core modular exponentiation (Mongtomery form only) #449 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3" + +Core modular exponentiation (Mongtomery form only) #450 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"342bc4a4c507359ac34e1be50bb9fef6109f096c28049458" + +Core modular exponentiation (Mongtomery form only) #451 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1f39ea71fad1e059db23871f472cbe4b916f6c50f1aa8445" + +Core modular exponentiation (Mongtomery form only) #452 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"7bd9203bf975bbf70004804ae02041c53f0826b6921d4bdd" + +Core modular exponentiation (Mongtomery form only) #453 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"05cd13191af06a48e3d51f24fd0e325fae4e80f19c38d950" + +Core modular exponentiation (Mongtomery form only) #454 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"93a98908baf47d0fe6d644208746b5cf52e2a0c20da64d8c" + +Core modular exponentiation (Mongtomery form only) #455 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_exp_mod:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0ca01d0a16599026b808970ae5864bdc70be430b5cd821c1" + +Core modular exponentiation (Mongtomery form only) #508 0 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #509 0 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #510 0 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #511 0 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #512 0 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #513 0 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #514 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #515 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #516 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #517 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #518 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #519 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #520 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #521 1 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #522 1 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000001":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #523 1 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000002":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #524 1 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000003":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #525 1 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000004":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #526 1 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"000000000000000000000000000000000000000000000038":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #527 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #528 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #529 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #530 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #531 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #532 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #533 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #534 2 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #535 2 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000001":"0024db95aee870fca333b314d66c6d5fedb43716c951485e" + +Core modular exponentiation (Mongtomery form only) #536 2 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000002":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc" + +Core modular exponentiation (Mongtomery form only) #537 2 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000003":"00936e56bba1c3f28ccecc5359b1b57fb6d0dc5b25452178" + +Core modular exponentiation (Mongtomery form only) #538 2 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000004":"0126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f0" + +Core modular exponentiation (Mongtomery form only) #539 2 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"000000000000000000000000000000000000000000000038":"cbc7f16c92d2a2baba8c4286877c783301191afdbc82133c" + +Core modular exponentiation (Mongtomery form only) #540 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2b118a033f97d99a7eaf2e635107a7d5d185aa2682a84133" + +Core modular exponentiation (Mongtomery form only) #541 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"56dc49a743dd116f415f3a2ad6671fb419eecea7284bebe7" + +Core modular exponentiation (Mongtomery form only) #542 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"21309971b728ef8cf371dfc5b2aeefb22471115d3765e99f" + +Core modular exponentiation (Mongtomery form only) #543 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"726dc37bdeb90f4f7572f74fde8b66fb91adfb03d90d5bc6" + +Core modular exponentiation (Mongtomery form only) #544 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"05218fe7ccf32bb0ce0af8fa2c3772cb1e72b693da49b39f" + +Core modular exponentiation (Mongtomery form only) #545 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"617c21498dbd7725fba62b007f396121b9151a975fff2dbf" + +Core modular exponentiation (Mongtomery form only) #546 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0024db95aee870fca333b314d66c6d5fedb43716c951485e":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"322d47389940543ad6d62761a3c768a1defee368213a44bb" + +Core modular exponentiation (Mongtomery form only) #547 3 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #548 3 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000001":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d" + +Core modular exponentiation (Mongtomery form only) #549 3 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000002":"00a5dc219315fc70de68a5ddc4e7ec2fadaaf7e689edc5a7" + +Core modular exponentiation (Mongtomery form only) #550 3 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000003":"01f19464b941f5529b39f1994eb7c48f0900e7b39dc950f5" + +Core modular exponentiation (Mongtomery form only) #551 3 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000004":"05d4bd2e2bc5dff7d1add4cbec274dad1b02b71ad95bf2df" + +Core modular exponentiation (Mongtomery form only) #552 3 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"000000000000000000000000000000000000000000000038":"e1d12672c2c17dc8c31840d61868d88c3fdede1e5cbe86f4" + +Core modular exponentiation (Mongtomery form only) #553 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"8826f459981b454f59f868f6b5baff708a7a6f8a89eb7fd1" + +Core modular exponentiation (Mongtomery form only) #554 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"b34dfb4ea6bcac1c2876110f44b7a3f233ddbcfb83eb7d79" + +Core modular exponentiation (Mongtomery form only) #555 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"62dcfde863135359f415fc585f1d2f0f4bb7740b2280f673" + +Core modular exponentiation (Mongtomery form only) #556 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"233200d88fc6201432f29f8566cd2f76f1540be079de67df" + +Core modular exponentiation (Mongtomery form only) #557 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"08c778349c44ca8f816835e12a380b05eb8328bb1cccf42f" + +Core modular exponentiation (Mongtomery form only) #558 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c28724438933eda12a1b1cdc98f120ffd0beb199019adf75" + +Core modular exponentiation (Mongtomery form only) #559 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"9e5488e21e1b68309a85c3c3ba243573f72ca7580e54cbba" + +Core modular exponentiation (Mongtomery form only) #560 4 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #561 4 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000001":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc" + +Core modular exponentiation (Mongtomery form only) #562 4 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000002":"0126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f0" + +Core modular exponentiation (Mongtomery form only) #563 4 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000003":"049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc0" + +Core modular exponentiation (Mongtomery form only) #564 4 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000004":"126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f00" + +Core modular exponentiation (Mongtomery form only) #565 4 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"000000000000000000000000000000000000000000000038":"5e1c6fc900a0e2024e6bdd4aadb6647e5dffdecac715edf4" + +Core modular exponentiation (Mongtomery form only) #566 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"766bbaa1933aab0715c65e36ae8059fb3e60b68fcd3ae54d" + +Core modular exponentiation (Mongtomery form only) #567 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"bf129c5d7b1b4d651a3deecced7ea3c67ab8d7f8f08e5c7b" + +Core modular exponentiation (Mongtomery form only) #568 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ef38652911f419b30f296f1b4e8f0ab986cec2b54bc33235" + +Core modular exponentiation (Mongtomery form only) #569 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3594f35e8a4141ab3dd4ba10f4de940c213173aef686a16c" + +Core modular exponentiation (Mongtomery form only) #570 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"df0f1b5e5a8aa09b9f79c926a18683bb6c1dd13554d39c67" + +Core modular exponentiation (Mongtomery form only) #571 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"08555128e4e0b2930a55a6302efab147ac7576f8eb080a51" + +Core modular exponentiation (Mongtomery form only) #572 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"281b3fbb20852f3089852bfd9b0abe81d191f6d2f837e14e" + +Core modular exponentiation (Mongtomery form only) #573 38 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #574 38 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000001":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48" + +Core modular exponentiation (Mongtomery form only) #575 38 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000002":"e1c0f4cf4fb40b679ca8dfa1581deb8fefd16b9111db3fc0" + +Core modular exponentiation (Mongtomery form only) #576 38 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000003":"65bc912caca14ed7e3638ec9cbebff2ab58ecd6a2c3d5eff" + +Core modular exponentiation (Mongtomery form only) #577 38 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000004":"42d5313447461a14c0ffee09d2488476edfb4d3453eae3d2" + +Core modular exponentiation (Mongtomery form only) #578 38 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"000000000000000000000000000000000000000000000038":"2299552f34156570f24335bc0a568b3261ce14457ebbf8a7" + +Core modular exponentiation (Mongtomery form only) #579 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"307558b7dc37e8ef3acef9c8082d95037512056c80564c29" + +Core modular exponentiation (Mongtomery form only) #580 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"b4b8fd89e333a7d2a82b1de2b775a634fa7cac12ae52a5f9" + +Core modular exponentiation (Mongtomery form only) #581 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"762f48a5698f2ad605dcb7429892b8fa6d0f9605e9a4a0e0" + +Core modular exponentiation (Mongtomery form only) #582 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"97e926f3e1c1846373e9e061e6714a2c36b17fc6f10765c6" + +Core modular exponentiation (Mongtomery form only) #583 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f3424dd6731094b5f39fa423358ef0f96b35fd59b1ffd132" + +Core modular exponentiation (Mongtomery form only) #584 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"49c7fe0a6742343da8dde3c7467d656bc88f8296fa5fc6ad" + +Core modular exponentiation (Mongtomery form only) #585 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"30680fd9cc06ae8f28b5ed29a769a80086250dfb8f043f77" + +Core modular exponentiation (Mongtomery form only) #586 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #587 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000001":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78" + +Core modular exponentiation (Mongtomery form only) #588 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000002":"8e252eee33d3c6f20e8fdc43b373e365ad11421986ea558f" + +Core modular exponentiation (Mongtomery form only) #589 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000003":"32df6cb40c45993b472077311d695be543130ba21e63e898" + +Core modular exponentiation (Mongtomery form only) #590 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000004":"59b53f94b3344393c8d5b848caff67eab6416011bfe31433" + +Core modular exponentiation (Mongtomery form only) #591 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"000000000000000000000000000000000000000000000038":"199e4f207e8a2403a86031f1036c69c5a4c9e6b93477bf3e" + +Core modular exponentiation (Mongtomery form only) #592 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"e03fc545ec699307c098b78b00fd551399d33fcb00173163" + +Core modular exponentiation (Mongtomery form only) #593 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c4885e82e45f2f63cf303ea8b606f606270d71aa30674338" + +Core modular exponentiation (Mongtomery form only) #594 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"67e70d4b42f34c908082fb52bdec47aecf1f92dd4e067857" + +Core modular exponentiation (Mongtomery form only) #595 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"44a032cd98fca45f0ecaff08a5773e702b544d499fff2932" + +Core modular exponentiation (Mongtomery form only) #596 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"3809ceb74b5a154b9fdde8cb28acc2785488a0b8b9a9fa94" + +Core modular exponentiation (Mongtomery form only) #597 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"30936e50177af6e0b66e2b344ef5a3b423732bbdc87003ea" + +Core modular exponentiation (Mongtomery form only) #598 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"599c66c4c58a0f811e451732f8a5477188c61b11f2106a9f" + +Core modular exponentiation (Mongtomery form only) #599 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #600 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000001":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a" + +Core modular exponentiation (Mongtomery form only) #601 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000002":"2a91d83c37801d9f91d54cbb054e17aa97cdd37f9d529be5" + +Core modular exponentiation (Mongtomery form only) #602 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000003":"eec76b0f9fb50b5ab61e4f23af30a4edaa05eaf95ad7c20f" + +Core modular exponentiation (Mongtomery form only) #603 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000004":"23e3f02f76dbc6874d2682c1be0ac17158fc5c06d2f3e642" + +Core modular exponentiation (Mongtomery form only) #604 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"000000000000000000000000000000000000000000000038":"7f0032ad4012649e4aac26fd4c6fdbf4c664e8851cab4ad2" + +Core modular exponentiation (Mongtomery form only) #605 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"557745996a3416a26b0b7847e40a4f43fa89a2e04f424aa6" + +Core modular exponentiation (Mongtomery form only) #606 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e7cfdc1529afdfd8c15c44d718bea8740eb64724d00dbb54" + +Core modular exponentiation (Mongtomery form only) #607 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"e4fc581667af423aa43baffaaed7f68975adf89e5a13895d" + +Core modular exponentiation (Mongtomery form only) #608 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"bd20affafd19cc9d921925eabaa79a9539cc466dd91e6c39" + +Core modular exponentiation (Mongtomery form only) #609 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"a5d5aa35a6ecc1bbcb5d9bd3ae28a6266a50896dff6992e3" + +Core modular exponentiation (Mongtomery form only) #610 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c1d04aada3c17ed78aff0b2c4851d095b95a8f4387d8b1b2" + +Core modular exponentiation (Mongtomery form only) #611 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"49072571a90ac5bf4af577b508fe6ce7cfa8c3ea881a9b5e" + +Core modular exponentiation (Mongtomery form only) #612 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000000":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Core modular exponentiation (Mongtomery form only) #613 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000001":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70" + +Core modular exponentiation (Mongtomery form only) #614 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000002":"531c46d0a91c719bc7284a841541118abed4c736f781c15a" + +Core modular exponentiation (Mongtomery form only) #615 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000003":"6f5f4fb84f5773a70c1f400d44b569677977e4d441b9c386" + +Core modular exponentiation (Mongtomery form only) #616 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000004":"94f54ca664c35010042187f244c530dc28aaae49bb3802d3" + +Core modular exponentiation (Mongtomery form only) #617 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"000000000000000000000000000000000000000000000038":"59a47284611c4cb93f75d01c6268be2c82185ddddc137e4d" + +Core modular exponentiation (Mongtomery form only) #618 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b5df45fe64ae405265d657d91c9f0f90b4d84dda823061b9" + +Core modular exponentiation (Mongtomery form only) #619 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"569599bb9d443f3fcfb6ebef84dc3e892cbd64d2854bf899" + +Core modular exponentiation (Mongtomery form only) #620 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"098b667be2a182fbe1c7964ba526b2ff0239e02b16c9e993" + +Core modular exponentiation (Mongtomery form only) #621 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"8e583b3e60f042d28179567c5b41e282b5eefc21a3c19bc6" + +Core modular exponentiation (Mongtomery form only) #622 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"865d2e2d793457e7ffca7bb3bfde4267761c773d1b1c8627" + +Core modular exponentiation (Mongtomery form only) #623 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b430042099b81fa9a12433287d727936ad7fe4622eb7f128" + +Core modular exponentiation (Mongtomery form only) #624 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_core_exp_mod:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e37ca0f1d54b16ca066b99cdf702cefc276109cc2cc6b673" + +Core modular exponentiation (Mongtomery form only) #677 0 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #678 0 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #679 0 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #680 0 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #681 0 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #682 0 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #683 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #684 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #685 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #686 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #687 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #688 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #689 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #690 1 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #691 1 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #692 1 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #693 1 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #694 1 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #695 1 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #696 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #697 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #698 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #699 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #700 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #701 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #702 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #703 2 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #704 2 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba" + +Core modular exponentiation (Mongtomery form only) #705 2 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551" + +Core modular exponentiation (Mongtomery form only) #706 2 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"23ab70c36f81a774ebbfa896d47018094eae5473d8cd31d041dd29a470f30948653cc411ec731d7d048775063a05295134662da6c27f1a742d98830b535b98fc9348d0aa3e7a016223711d4853c8537869c5f5026d495088624a03c5d54bb41e2a2551f14688f64ad41bd0a5a6fb2a5d4dd2ee89205a42e6b2fc01be5d3acaa2" + +Core modular exponentiation (Mongtomery form only) #707 2 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"4756e186df034ee9d77f512da8e030129d5ca8e7b19a63a083ba5348e1e61290ca798823d8e63afa090eea0c740a52a268cc5b4d84fe34e85b310616a6b731f92691a1547cf402c446e23a90a790a6f0d38bea04da92a110c494078baa97683c544aa3e28d11ec95a837a14b4df654ba9ba5dd1240b485cd65f8037cba759544" + +Core modular exponentiation (Mongtomery form only) #708 2 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"6c4527d8818fe9b3c3ad2135aa5e5c55a440eddc2257c76b5a4d5a040cad5c0257def0733ce5751a3b82ebc5c9bce9272a1a7b3db2e222ebb759c0f243fca3e951473729f38ad6d63889c24b010f38c048d2069028d1120d210c15aefb9a0a8621ffa31dc9cfc2fb6fe017b8e6ea808ebeb21c68f99c9794f03d06f2f9f62f45" + +Core modular exponentiation (Mongtomery form only) #709 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"96ba10023d64b95130dd9b1fc451e10e0580b324fb6cbbfc8be78f3248301023810c752386189cddcd3e98b87c6958ef0681df7f1b65cf233ee05f36b67846e28c8425a3640df66594f4aaff10f331aefd205c855470a1991363ad141b5f384e943b0e1a81b031d2404f11cba9567bfcb1b3218e632e4aca920569d83179ddd9" + +Core modular exponentiation (Mongtomery form only) #710 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"872c522133b076c2edf608b2c8a8a9a409d8ea6fd6ed1e051beec4225039702a2b7bda1db1601d2345b317813d868f2a9af4ab924119f751448bba43566a0f981a53dd3b4b1bbd72ebd1e8e90a6de03a83ddb253a431cef1740f097bd3f8db6dc5574ad5ad232f3fa68c4163776a0ac46ada7c97c1d6ea5fc87d3f2a30b89385" + +Core modular exponentiation (Mongtomery form only) #711 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"3cb732efdefb447968b500f51050a3f3bf67e3ff779181192e0832c1a207d120228b3a207fcf25a896d9d77a7ca9b5adba5bb5b303fbe104c3a96a6683af809d140905888f0563ae2e42165f35adbecf7772cf2dfb08cc4364602f6d7fa7bb0ce278309d5c8faa859dac7faee51d6a362a434475faea72d56ccc79da2e148fb3" + +Core modular exponentiation (Mongtomery form only) #712 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba" + +Core modular exponentiation (Mongtomery form only) #713 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"9918bafd8d24b13e3fc8204e7d6fc60817a8823f228ee97078a6ad3824ede67575e444082d431b736b7a350c860b34890213665d54a035d4b7eb409f3ac0278e2acfa593d30ff1f2866c375409926d726318bced0b3967e5ccb216fb3f5d4e97a2c3b656dac66c6850635bd40e4f605371a6cfa53edc935056f9d5f02dbf3e1d" + +Core modular exponentiation (Mongtomery form only) #714 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"73fa2bb5acd45764062b02179ea27d5461e84eb4bca3535bfcde71f323da9347f757b43df62b7ea30c608c5c24c2c55038ae2e40eb361f1bc347d963ed1884ae97b24f475f07b2380f611989c5559ebcf1ab6944d8dc4d8691fee3e8c97f854eb2942924a99887018b5fca5da5a28c6783059b5fadbc953d59a620bb9bc0a849" + +Core modular exponentiation (Mongtomery form only) #715 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"885754d024af72007a9337da7d5f26ca624135954754f28a58abe19fda051df81d28d37a05fab101020034d841d8ac89a8dff92d1da433c99937ba9ff4414b54c16e4a4a2e23de88ebc9a613a24314a5ebafda56008419dd1b5a1a5bdb09bf454ec97d53f6d5d42b242f4d5d1251b4dbd370912b90ce55abf16b8358b1ad342f" + +Core modular exponentiation (Mongtomery form only) #716 3 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #717 3 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997" + +Core modular exponentiation (Mongtomery form only) #718 3 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"5a6fc8d6faa83833d01f9fd91ce1b40a3cf2f67f6e7b506515401434e2a4f09c6f5c7146ea7ea06feb61cd86d96c13d9533d32376f8bd04c988e29bfa87e5b7c3b9ce588118634b8c096069c5c29289e0df35a4f78370bc938eb04266aa012edfb290d5633fd0eebe951cbe96ae115003c019ffd3d3016642b486851668d787f" + +Core modular exponentiation (Mongtomery form only) #719 3 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"4613b2987b1f395a54bed6cd9f16b81fa51d8589e1200fc41323272f19a0b92958350109bd876442a8ffc1152bab2614188e9b36fbb026be34a023f34e9dd4f45b2ac576079ed180dee6fd291cdc4effce07743b7392de9c81620cd3d5349799c27ee367896b4564d12b5f00048929a3a233916bd46616a9fa259f873cfb175a" + +Core modular exponentiation (Mongtomery form only) #720 3 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"08ff6fdcfc843ccde29c7bab25b5c45fdd9d32a9390e4de10ccc601dbe9412d012beb05236a1afbae1d99bc022685cc46882d635a01d2a1308d6128e40fc415cb9d4653fe9e8a7d939d9e0cf5ef5c2250e43c1ff65a657165ac726dc14f2259d1880659b89b5e8cf88b81843d181678dd4c965b79a08177b66bd4528c043f3eb" + +Core modular exponentiation (Mongtomery form only) #721 3 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0605fdd294bef13e94307289ab35206540bf0a36a79fb843682511016551fa99b897d044fe6feccdc4c005835bd06c48e99b4cea06cef8529322ceb21ebabc7dad3ffebb13fa32a7dca0a1d9c93cf521009ecea8914ff506197e5f5200aa9a0668f7fbc2821f9043a56e0d8b8b958843cb440529288c07333d075aa816237af9" + +Core modular exponentiation (Mongtomery form only) #722 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"7890921a7448bdab32aa424843ce8010ee83c1fb32d6a07e2f4dbe585bf25c6634fcf691d93b41733d48cece809e7fdcb4d8dad762b2d005d585ae44ac5ec502edc08262a809b9b61e5da3d1f93f6f630de4cdb56a7ba55d22432a33369edf2bf61c3bca726373ac804cbfab60db62d9fb3cbe91957575c6e24bddec9e154cc7" + +Core modular exponentiation (Mongtomery form only) #723 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"29e680d3931a2dd7d1f6b26aa8d2916031b55aaadce6809afa262917f593e5049ed45bc57e6e8db82de2bb86e281a30f8cddf905c06ca5cfe1c95f970b849b399e8ec52422e70c15d32f5efd1d1bd5d41ba6aca7bdf84f94d4d9e9090a35f38f154659224dbc2255439b0f2f9f3a334d61772ed678f410ab4ae5508576556120" + +Core modular exponentiation (Mongtomery form only) #724 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"395acb8fc952259a02b4c2624be7a893f4e96af0317e802cc3ff3dc6d5ea76de63008403ebee34440b5d8da7c64587db6f8e8a187778945f4b14939300b5178a0acb0ede421554790a7f572f3378af4b335a7f5a29d62b7e80c461489e83de1f948ff916abee8bae5a3186d2ab33ca7594dd9795b2168275e55ffbe9a50d0863" + +Core modular exponentiation (Mongtomery form only) #725 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997" + +Core modular exponentiation (Mongtomery form only) #726 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1826ee39ff1d6010e8de749eab208337df68b64707709e26f91f278b3785ac024b610889630dcdd3568719d6e7419eb9e9867c0cb2e306cd49467dc1763eeb75d1d04297dbd9a0d276e33a25671e79e135536612f5faed71b3a1c977229a949cc40b2fa9df9caaf6a23ca73d38af553b8b7a6e97ab0eec09bd4d83fee364e90a" + +Core modular exponentiation (Mongtomery form only) #727 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4d12dbb2a99afcbe90085a98909061e31cef8e6998c5b7ed3da4b56467ae30627a2551785f56cbb75bb26f80c5cd8874ad20646680d7da5182faded776591f2e53dd0bdb79f62ebae786a8e287bf71108fbdc4020784b3a350cc7de15f44044d39a39df09a27b8baca0e21c9e4a72d459dd6fb293aaac3be5b31fdbb53b373c4" + +Core modular exponentiation (Mongtomery form only) #728 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"c057eb2197e23f6d8dcaad7d58fdd841f75d94188d66d5272714aa8e97aa639be8ce209c518dcf3477fd6861f1a81b6f484a715df325b7400c460ccfc762e552200540ef572117b6bb29533ac9efbd942455cb3264ee4b2b71293c83814249861df672c8182247bda99ebe4c13c8bba85fafdddf48c6f6dba8d4135f9218f71e" + +Core modular exponentiation (Mongtomery form only) #729 4 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #730 4 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551" + +Core modular exponentiation (Mongtomery form only) #731 4 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"4756e186df034ee9d77f512da8e030129d5ca8e7b19a63a083ba5348e1e61290ca798823d8e63afa090eea0c740a52a268cc5b4d84fe34e85b310616a6b731f92691a1547cf402c446e23a90a790a6f0d38bea04da92a110c494078baa97683c544aa3e28d11ec95a837a14b4df654ba9ba5dd1240b485cd65f8037cba759544" + +Core modular exponentiation (Mongtomery form only) #732 4 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"541fde2f0733cc66425d3bf8ebf25c4b63b745aa5c17ad16e24c37b3f94a31973405cdc461a46edb0b1600b26f903511c20871c6c1058979d7b9bf0eefff8a64429a9a2fc6dc3e67b8add396a6a370e8f25d0d6075383f83e8f11e8f3fb1ffc1222e4aef21bbcaf7b6148070fbbf3d8d5cc625bd1fa7eab3102c7485f32902ed" + +Core modular exponentiation (Mongtomery form only) #733 4 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"8743d0cfa7f5c257edd4e725f83b0d2e7d21b8b5060cd2f05c93c96056daadb0da36e446849d3e5f13325b4a5da7becf26f8cbabb122dbbfc9dca2f01520ec10b2be7d9cee7d2cf57fdc37aea2ee98c96da19acedfceb9507a657a9d941c5dd459bce7217463447fed87fd07b2e2e0d8614748689b757e49b8fe38aad5f6b991" + +Core modular exponentiation (Mongtomery form only) #734 4 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"741db29a70a8ab9782d0b13664caf866013adb2c59ad4e6eeb65e698c24f71099c3b23e3a6b540c84f7d56f10d9e9e8a2773f5195cc2aea18abbb85e308afc2b7509a555000fb412f627b3a0960a5e96f421c8256d164236dc9b87b64effd6bef6fb5d1345877599b6bea50b13cb41011c4c79eace43ae1a7a68dd0dbd09fd17" + +Core modular exponentiation (Mongtomery form only) #735 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"31266c1e7d2fb6c7788fbfd853472b801f507db5f381893de511b89797912bb962fb1c006b133babe0ea186a03c950a5937865c258072b64fbdac2b603418c50f0f4adabbd69ef5c076b8d2fc05c4d091b543bd09041f660faf10adc4138d1c09525a0df2c75bf9a00887cec9e55419c10f45c36e68f71c3736e88ffca21145b" + +Core modular exponentiation (Mongtomery form only) #736 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"879e4fa4b7a032cddde3036241786667390ec44e1d61578ada1b1aef5cab537b70749109b8ef86832b14742db6d7ac93d8887f0cdd6471c7c45f6201da290e807801bdfec29e8e03b74c06641f62e3416d5f680deafc298e08a7e066af90e0d9536aff4b7acb6fd9593096060e4ae13c676c0d80b61b1006d45ae4f357e03830" + +Core modular exponentiation (Mongtomery form only) #737 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"b2b0228401289fcbdbfdbd06f5bd4af3ed1f7af9d996124f84070e047b739da69a2bf1699a89850bc33ae43a304700a78314190fdd00fd250aa8a7a1727a51564b7a7467126681a4fe26acf72eb1b2b5ea855b3fbb9d2ba8ceba943a0e1e92d0f63e8ac05041ace452d8452a8fae1d92b47aef07dbbcd49c5269b873ef0d74aa" + +Core modular exponentiation (Mongtomery form only) #738 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551" + +Core modular exponentiation (Mongtomery form only) #739 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c446bad7273bc6750c2d0f46a125fb005eb870e3ba91d99b44c7a0b7e5da5a8c6fd05f7fcd536fcfdabc0eca29f1562ac145f5843f03f35b71dae2ba972aba865d59f90e6ab62248f6941942fa23c53ce294778b16c9af73585cb20ec0a1a52cbb1ea0359431601f6cf0597df8f10e820d468eb21d25531df451e7ad2a4072a5" + +Core modular exponentiation (Mongtomery form only) #740 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1fc72af641427e007a8fa2c96e5e19195e705aba2327e03068b97756a4dfc3b904d1ccec1c0d74ee43a51070f25e5d0f8b89b6ccffb3543233ea07c3bea4994f87f81778e77a5dbf30efc8c80adb51f8d89524800753dfd0ca4f3f852da759298e1877a6142dc2f3f9ca7aeac3521d25567c64f162f594500f6d9af8e06d3c94" + +Core modular exponentiation (Mongtomery form only) #741 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2701962ca402564a3ed47445b4adf9480527de836607c9f2f75c3bd5a0c62801b2944ebc234996d5a5475e0320934445b4a5ce974fe240a7cabe762b49fd8bda0b42ce27846ac1738a6a8c6a3952a2e181f31b2b3e36d870dc0ffedc15a78268588c4fbebee0836ff2c7b02687d28ddb5f534b59c49a68a809c2711c94f0c0e1" + +Core modular exponentiation (Mongtomery form only) #742 38 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #743 38 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b" + +Core modular exponentiation (Mongtomery form only) #744 38 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"617068873fed6e7c8b57cbd2d243da80b370fe8352228501d450fcbb99199081bf95eaba895f72e728450c33cea47b088c6a2258770d853aa5be97f296a0af29e62924798d1bf49ea027ba668cd94387375b797b4a56c9505abae0f6dba95c33df26fba80203c5ff822436eb7d911cc95d9316454fd872137e7a5120454f24a1" + +Core modular exponentiation (Mongtomery form only) #745 38 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"174c27a5a9016f609153aa1ba2d3404061f4c3f2c0ea5218bd2606457b5b023efa229d64d817f22f282200e603d5a639f7e4fe9c4b4c52a78999d215edd0d4a119de2dfc2066ecd59b95624bb1bd408c6ccc42186a0ec96a7bdc402fccf22b43dbebd0657c11e8e1b49d83a920fe0b3b9719966881e6427f5ad0909125085987" + +Core modular exponentiation (Mongtomery form only) #746 38 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"6142bcb23b37c199248d019950dfb61b0326a95fb556ace654a2de95a613e9bef4507d4d39820c02308e45549325dbdef321cd9486fe57b89b67dd06047f123b9a928c5a08cd02c1b78af88713ab1d99a5bed52574ce72d01ff40cb854f3afb701abfa90b4a3852601b8b095cef5f4daa2b10f95176180ccaf6a073251c3a8b6" + +Core modular exponentiation (Mongtomery form only) #747 38 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"513a59191b4846de70c245b1a78d3cfdf93e5e13bccf12206624efa86ba02c39f5f6e681f001ff793cf0be30f6f764f80b8980a65c4e6a51ee663fa6b0b66a765226973502cd772d8dbdb45bee88bf4ed2e17e6a39668562ab674ba8cfad3373db197f5e1eb959789cad5509135b656fd1d8cb7dce79f5c33c97fc6c929c5be4" + +Core modular exponentiation (Mongtomery form only) #748 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"20ed4c6c9a0795e62904ae769122a3b1661d96deb7f2b3c77a9c3c99eb7ca560d5e0102dd7c0b7a3a667df19e6a3618e0de71e2d17a374acab7aa3fc6c8bcbc621aa53798f519d0791811bc5c9a0be1110ebe3dccaa60499bcdd519972054d2d8087ea65a8c552b79ca0f0501a761235cc4a99161590e196d8c08b4308754581" + +Core modular exponentiation (Mongtomery form only) #749 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"580a99e80021827a2b9e1b9bb0c36ec8ef4f822612716e286c16ea7f692cbe77f76a0903ef0964633576276d0a6a4ede743104dfe57e89bc7778a161715649741acce5595be5d8fe3d63fd8e821376b0a50ac0a170ac8d1e883f496cd4f1cc32d86678837b8567b58d7fe284aa5d524ddb897879210c78ddab24fa1a7bcd01b7" + +Core modular exponentiation (Mongtomery form only) #750 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"b0e9e5c2ea7a63a0fbee262e82a1057b2c14cac57acdd98aea18a05c131cf7dad5776ee445100d9d5a8bcd355747634c789c35b096bd0f7b06bd73ab425f1b260788de9b1727d4d1fb216d6292bd3b941f41ec0fa250bac2cfaa7b0902f1b16aa5e406c33ce9823645a7d82425236de812964ba66735fb8e841d8527048728a9" + +Core modular exponentiation (Mongtomery form only) #751 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b" + +Core modular exponentiation (Mongtomery form only) #752 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"30d6b3733ad5bdb53585089266e40b8102d73754ffe5ec896d7b55da6bfa9718c4d06c16fd45433261ee2b319c5a937c2992dcad9ea5d341ea50a0d1ab58bd55b4c6476d6349d47130bccf51008eb1b5ed293dddb731ea8b9fc15a0d91b3d14a40915d5ca409a516e8b208c01a5a488fde5e8bfe5beb09d4b94c44396377e5b3" + +Core modular exponentiation (Mongtomery form only) #753 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"522d8aa7f85cea778d88aba80a82be7c0a5114a1c5294d9d8da9956cce80a4c4ebd8dff9c8e9900b0f722538a3c4c5e321a58af8672b32cbd60a1595a0d9149a5f0bb60603fdc7059bb4b80d5c9b68e2ccb58caa838dc6a54807f674d319b7639297c26742beee65220af51c52d3c2be0ab72bb0288b13158eb5d15c62f0c996" + +Core modular exponentiation (Mongtomery form only) #754 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"25b8bf1d70ab07c2b23225ae1e14dfead93e29a87a67b0175a552e68855da211e2434f6695f0c3fd34337b8aa04d3257a92204aa3e88251da184d259617f4da06b2e8286a811c56e71e6bdb319f13ead496d51ccaf4b37069945fc426aba22d5e953afe84cb3f6d840c56947ea7c00cf4687f92fcb115169721d5f7c4b86c4d7" + +Core modular exponentiation (Mongtomery form only) #755 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #756 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359" + +Core modular exponentiation (Mongtomery form only) #757 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"b214e40f9a12ea08c297162e39d5f53cc30ba12faf0a24d5c76f1209d9f0988f705fffb836afe9744526e4e4ee580559c5fea1cdfb0b9420081c8f58372b6447323a7fc6083673dc9daacf146013c8e7f318a511233a815580ad618b2fcce2d4b0b5831d76ab57bc20d322dc7111f66f651887fde7376c5533b1665cc4c42b4f" + +Core modular exponentiation (Mongtomery form only) #758 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"312d7ad92c28cf4af470b28e8f966f3edf7fac85d85d509b17eb8c57404429e2c29e8fb4ad41308aff75feb59b3ae9a7c06e6b4dced2f69566bd591d1df0ff7d280b706ed7a3ff238cc9760a744fa154a9091ca23d0aaa7906d4d0a29607f0b42583b114daf6d1d718615acf130d331917ae8f825e2baca72faf48596fb5d1d6" + +Core modular exponentiation (Mongtomery form only) #759 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"69530dbcf2d34f935f0d78ea5742ffc894875828ada9cc0f4f0f4ea2cfab0c538a9d12f0407ebeacbaa3ce183aca1a11fb8f70a1934642cf9847c96b6bbe1bc7457ecae9be9d581a42850153ac19334f67b33a577e40438a06b096e24624fd9d561df14a892f8656ddd8c9c0cbc819cdff862a0560124d0fd8a78b52ab934070" + +Core modular exponentiation (Mongtomery form only) #760 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"63424747ff76efd4b659899117d3348753c1ce6212cf170946b76916d53ae8cebcdbc3eda6f262f230ea4438b6843731f73cf3be4bb821119199c4d96800b51548dcc698b13ad65cb0c30baf8b926c81796a7b5b826ede5b56dccf6efc515ba933f7e6ab9506aa37bed81803f13644a1ceb8ecf8609dad947e1bab99f0c31cee" + +Core modular exponentiation (Mongtomery form only) #761 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c244430923396e32ceb566e1926cc56ee7324158a56edce560f852b5ffc1d778d519918f37eb59de04ca98214c6a28d77a295107809f1987baf9eebca232398b3c5d5a7bc50ecd166f58455d287932cb244115d17e851e2ca4145989faa5963d1be553037f601f9a26662c6806dd79b0f18fe8ccac1aacbf9ba2082c93efd6c2" + +Core modular exponentiation (Mongtomery form only) #762 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"462796e4e7a4c00418dd9bc84c9ee3a6ed868a69ca069e8d0d5b3880cf3565dd4d6b33a168dae04d0fa53a2e64f06e9afee4b8a1e6103b4e6cf2838ca05627832cfdff974a4d82e7e5a2d2e0afec9924b84dc75dd52714755867f51c2ae9daf450bff7218ba9596f99f28afb317a4045cdfaa275768ddf7281ca56b7a90af565" + +Core modular exponentiation (Mongtomery form only) #763 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"17e2bf7e40581448784801bd63817a72514d6f0d031b6304c1b5b912389fc361431d5fd80028166db19baf7917dc0c2e67682c5b1167cf42509c23e024a70b0355a11fdd0fc3721cd1096a85ef43b9230d30eb2c0e11c73696c9226855eb1216c2c9b4a0f33451e3a1bdac2006dd6d0dc687938afadae319c6eba45851f855e8" + +Core modular exponentiation (Mongtomery form only) #764 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359" + +Core modular exponentiation (Mongtomery form only) #765 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"5ef142cf4d792c99cf35a79c859e23c88da85f82c3c0502b23921e8338c5f58d4c8593506d6224204bbb0540c60ef5ff57fd19d12de7c8bafb649fa7cc25292414d7b0fb359aa9853c5a94cfa5281524859d5f43b0281207c9ded85328f6a822bba20e29b5f3c00c881b649b9e04eccb1f835c9a465dc721700718771ecfa7ea" + +Core modular exponentiation (Mongtomery form only) #766 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"7eccbd086c4931dc5d5550d1da610c9c5c020949ac7818318dd3f513bda925a483acec2f93da28262d79dea05fd8f06e65b4eac27859d59cdd9960c8a76e4c24359c791cf5c2c5aba4d4c0eb9b477ff6e58ab8cce8e93e96162832a5db5a6d3a0802a6ddf1bc7ee060bd3588b971dfb88ce482b65ffe39379c3972c18ebf8b33" + +Core modular exponentiation (Mongtomery form only) #767 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2e10c5c86dd6a11ad888df4c7c5c96fb73472263f66d2d01e28b7f9608c2f4f42c83ddfc94e8fe369e298837636926e5ecc26cb3e8443774c2daeff9d171d08e59268a3f4dfd3f01d6cd8c9e5fa4fa533eda9f5f7f654ad7627f40768b95fae6eebfa45d7026c3ac67349cfbb05486c118ad9128b106775aa1fb10011ce8abcf" + +Core modular exponentiation (Mongtomery form only) #768 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #769 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52" + +Core modular exponentiation (Mongtomery form only) #770 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"b6ac736a50b22d480b6ab4b3a8d4d0cad04a583327cd78e88d870d15aebb35891844ac3c4942ec9b8cd8a8cd55c09e370e40131cc5c5e2a01b50b835e7e96d3c7383018e7cb9995f9a3400d89d11c595ff2e3351841af3b1fffc6310703ca0552981d6e7e21156647fc5d46f1e935263af72ac469e631ed152cdd4c3d496e9bc" + +Core modular exponentiation (Mongtomery form only) #771 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"15d9a8a79a59ecb2583fcc227eff730d9f374aa815e3a9166213def7e54232f8b6ddbc1ffc9a0e7d74b0b2d2b160368c997263b7c976f42d4f69cb5b2a2adbf1c7778fc99a2d9ddca8a4aa725498174f6398eaf921539ff0a1b728887bb86f2aab4393a4c0b137e519979183b341c65c54b5ff7898f355228c66a170eb9e8191" + +Core modular exponentiation (Mongtomery form only) #772 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"ad4b82ca454b3161f2a26c8bf3962c6b49060cddaae7fc0940fd4416d7cb0deccf8d91a9361ccf7158176e985d9bb4e8349bddd83a9afa57937f00bb72e9a76c4c59f291f754f4a707f04f10485879c736956c02a8dafbc25c2d5151101ffab725b383d65292fbf55ebc873e0ac37f989c45c7583db97f5240f0b9ab16c57857" + +Core modular exponentiation (Mongtomery form only) #773 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"3741073026b11d7c0d34a625b78204f58b11c1d4af72cb9ee1ddb4545b8e02430c2428a74041f67827fe4a73f1bdbafce3b06ac00755adc18a5c0a2f8ed9834e51e76b6ee87568c8ee1a0f51cd5184c852fb6748a10ede85905c93918618c37db57b1f167110ca8f90bbf8f609a70a9476303991ae5dfc714522c8297d1ba5ee" + +Core modular exponentiation (Mongtomery form only) #774 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"7887531f107c383042b5a8749317f4042ab6d2f81975a8a92a21d6cfe3bd4c78050d400a45d11ffb3c6bea3e00c7751d8429b900f5c04fed70e9a5227328cc54db253c537763673a81d18fa30c12c95f268b5c53aa51f71201b9022885c9f47e9cdd009214b56db3e00372615362aa257e05de1588a207383c1451d263fedfa1" + +Core modular exponentiation (Mongtomery form only) #775 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c03ae3ba7b23a924857dc33251d6cf4b908ebcd7c3c3e14f9e729d86b4eea413c5eceabe30b08b4f5f38c53f3b5b8fdc65b72cc6ee5e0f85396b2abd6d221baa3701fdf6ff8bcefff7e0d0904379cc77e1d516a15b8078b0a5d6cdf9e3298af925425469bd0c77147ac45fec43678c97902f67ffc77dbc8e075d26c23dcf9e21" + +Core modular exponentiation (Mongtomery form only) #776 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1bb2f228a3abcff507c0b3b1afcb2a11629529abcc4c3da5dc2ef39f4c24dcd04226eaea240454774532031b1a7dd8a01fea6f1d4c459dc914fef02169a0d67e2b773099cd527cf5df2c428bb5c96ee51a7b2e57b109c8f86dd91e3bbcf6cd063ced63bfddcc2668a084c0ac31f79ac73907d46fa6e9bd4273287b254fb38fa3" + +Core modular exponentiation (Mongtomery form only) #777 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52" + +Core modular exponentiation (Mongtomery form only) #778 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"58c582683e3fecdfa274f7b4e09bb36853583ebf38113d596b34c2ddf1dad3350d2b241a02fc674e66b8514344b8cd571fa541f741d75c97c5c20e17ac4832136a5ce78714f5ff350df6a4820fc6d508bb3bef6a0349af85c4c94470d11a5a7b8e8a7af7d8922dc139fbfea426729cb22e8c86b05ebb48f85832ad10f0164aac" + +Core modular exponentiation (Mongtomery form only) #779 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"9b7e69e0c0febabfac6867972240a7992a258ad5033d750f4f87d36507deeb1f924379e6f348dfacc8ea892568c348c856281cf0510aaea6ccb1debaffd418f5d71bddfeffc78dd919fdef1c6a6add40f2cdf01d57a3e1e70ae5e22d8a750b8de5196966068cbf5f83a30e10c5cfacae8ff129d58c95bf7f5296bcee1dcf16c7" + +Core modular exponentiation (Mongtomery form only) #780 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"4edf10985785d5faea4a86eaedfc527c8df7ce19e9f8f723b3757fb4d8426831b8ec68c9fe8f4f095280a78b678c0a276f640e0a72a62593e222941f9460c020944fef065f0a0a8289b2d1fa01b2326782f6b0ea7528bf4714ed99153546b2154180965ce14a21d9452ed4a5d6278e9235f361a0b228e5b75e9ed5623e070074" + +Core modular exponentiation (Mongtomery form only) #781 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #782 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8" + +Core modular exponentiation (Mongtomery form only) #783 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"1cb03e73b94f132fd5a153c2b49ce29fb1731b8bb59fd61085092c7640721c51efeb739d23feccebe4e884c0de8f4ff80da01079a9837b5c06787d8f86cc7620f7136f5cdd129858cafaec6c23643014fc78130eed9e3cc78f3c9c026e66a9f3b1dad91dd257c9f72b0015ca88f670ba689f60532e0bd3c873bd03d9b45dba32" + +Core modular exponentiation (Mongtomery form only) #784 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"3bd7cf2df89bdb04b96e4f1cf709be63beec84260da297d70da931dcb06caf78a94d2ead2908986510d3217779e9243497f66e6f772a0b462fd894eff3055eaca91992cdb1c1e5bf42fad82de9b33afadfa35405e8dfc9d6a0e0081f01f61a5e7e355d0f3d3fb6bbe0ed36a701602b969ea5bce20e14fb911ab6c93585ecb585" + +Core modular exponentiation (Mongtomery form only) #785 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"48d37b1c11af0fd5abe1769421f787a37fd1181783259304fbe40601e1bea7c09e1cfb97c7a2b05b714244274819caa7c3b3807eca3826b7ec5cfcc8f8e282255ef7b11c18e22bf196bbabbaef7f4d21c5534bf71f4699d6f81eadbd715cfcb2f063a72ca5dd5f131b32cec3acdb3d75d69aacb7932dd45c3a5cfddab4bf76dd" + +Core modular exponentiation (Mongtomery form only) #786 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"10467b6b357c34a4bdc83c8e07adbd32061d3f0214e563424d3fc4971eb3c91343ca1e9d67ddcc34d1bb59bb6aa9903e56af890e7c1d7240d9b05120512b7333920ce705bd328823c41358f0f15d63f5e00b5a433813a3ada536f0ba8c4ec0d28bb7f0a9559887e89a882430c34fc65e24222577812e9eb5f37b61b2fdd6bac5" + +Core modular exponentiation (Mongtomery form only) #787 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c8e10c193fd05e1790e4392a365d0779ffd604f0d3dac7627ddd5bb6f54a6966479f7b26790f039188ce58aaac72d1788b06455681a38ef710ad1014f608a02af5c7f7e8d73d9825efad53550baf0dc39edb0af72f2a9ab4968cc7addcc83d110bd16db939223bdd0084eff1255789b60cac291acd573e9ba20d8b35e23930" + +Core modular exponentiation (Mongtomery form only) #788 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"89e098aa0ef8e1870d111e40be6c47f117120088eaf1fd3857d5dcd53e9ba4d13af2649312d19ab4f3bcdde0a4bea3edb8209a2198f660ac082d2d8e4bac140682963207c29b888470eecfc7d810849469d1d3e405a0762421df00a6b8bf1a1b407208ca45a9b1da3be9b215bb4dd9d4abefd98f1cd8b0f35bc5c6f8bc82ab23" + +Core modular exponentiation (Mongtomery form only) #789 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"47c7aad0e6f637c7abe1c6f2b665973fb678031370394c2f2aae539f54c3752f423d47a0dfa88735547a6de06cc72508219f9429afd01b8c7d8e9c40bd5cd21c52fd5b3286ad0addc530bdee8015fbb203802883ce398c99250390977e1e035c8fd03d65c49755a401b0351bb7020810873343621ebde1d367e280be10f68874" + +Core modular exponentiation (Mongtomery form only) #790 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8" + +Core modular exponentiation (Mongtomery form only) #791 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"7bf96c6477bc94ec3f06994fa420f35fe8f04704aa16981b74ee66bd75c182c48268375f2d3254a082c8aa58ff4ed43a718553dc66a94d8201379e23179730c41c685e0f77eb270c652ed0234eba3571097f44a8dde80372589c7ba4472f06a26bfb907d129b5cce787339d25db259b7a82448cdd8fdcdbb5afe3ebbe06977c4" + +Core modular exponentiation (Mongtomery form only) #792 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"7504ea24f8f2dfb6827705496843e1fd18a6f7efd3fcbdade4eb94cc5083b2c8c5c125fd142db0674f34249ff6c243d58494c10ef4b762cbcacbc6300bfa9bbeaebd68262208f10a865aab4dfbbfa6e57bd07bbbbe46f13dff28a402051ca25853ca0e732aa85c5ebda1a95d1889193efaafb262b4fed8bde88e492880a80e03" + +Core modular exponentiation (Mongtomery form only) #793 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"1f2d697ca9012b0eda047236c8f2eb690c36711bbd05739437fbe752d2c274c49f0b72182d942dab4d143fbbbee73296d97698e662efcfe072efba5ee6074fb36b3d71c3f8c3ec6ca140920b9668dd4103cce34e753592568bda2ef00d1e7cdcf6fa2fcd602aaf8b21c4fa8aaa6db37187d2bc846fd4f7d87a189584bbdba0f8" + +Core modular exponentiation (Mongtomery form only) #807 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #808 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef" + +Core modular exponentiation (Mongtomery form only) #809 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"9f781cca75162c2c08ca687585b01ce2dd9f4ed64d82ef48f2924dc4e424b61ee371c6b4bd95acb5530c8f1ea3031e3eed657bf186e12680749f7c8a1c93689090d84e11390570a8984ff0277f2cd463e64396e90661482e0df7d92ebd23442071ab88573e84ece57449e0f953c6e55e5d526cf08c715b317ea42361e93e3d56" + +Core modular exponentiation (Mongtomery form only) #810 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0df2ad19ae65cfb4b1df1fea8bd24994da5f46a1b749cf87cee4bdcbb2cd98ebb86b31891ca1631fc13a224f4cb93352cb1586042ee9d267c4046bd337ed541e4c284576ea1fdbbba61c567f551f2da77c791a3d05cdaff6b6727458f0ba699a43ac5314422a5899bad4379e4b739115135f25f44d75fd316877f2bc78a799a5" + +Core modular exponentiation (Mongtomery form only) #811 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c1b84b9d5e77d57d55a74c298bbdab6e544dde53ce6ddc5c4508bcfb6ee2130b26f02aa0e9280a596cb06647f5687c5e64569cc5113710de23b1c99b18060607739a9ac020b26a43d2d117a6f32dd049a38854c408d8e174c7613ff6cac7eb798eb1a37510aa0227a832074caeb0d300b3a79752831f322f8a27c76d65fa3fba" + +Core modular exponentiation (Mongtomery form only) #812 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"8e9cd4ee34586c9573e851929d24f405dd632c60512f8b6f3d99c34cb3cedaaeeadffeb2caa7e41f10bb9fdeca99c1daaafcc86b9aaf84b67c60e377342719ea2f03d15c82a1a5b4e9a098cbbb9b457158969e4340f0a477d0c8f9176554da169312ad46f94ed63061536c5fed82db27d5700673a7c9abc949f4b07e90ae1aaa" + +Core modular exponentiation (Mongtomery form only) #813 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1e6572cd5ab38f8cc401a0044ceae0cc61bf804b9ce39f31eeee117cfb4b319149ce579d0b9edf0b6e19a58fc144e2ea00ba4c4bd209e603e1d621732968e4b925496f64cd55962972dccba91759c3a2a118c6be0f5ad7708fa60397cb346f130d8b1ef1f41c9c40cd82885eaf8ce73fd4890883104e9f92fb5f04d495b2c7c9" + +Core modular exponentiation (Mongtomery form only) #814 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"34d470ea30243874e3d9e73528d9b4c61202b3f2edd5d9645eb1ee67b48ed48486312cca6d6d13580035f884fb2a8a5a9072cbb43471da9ed24e0cad2c1c84c8deb2f0ceef99bb389f681677fa39bc8e34376f784a4a4c1a699632f8c68b24c4f264e59bf0f496f4f28d8871506fc6a666fbf4314be5dbd4b5b14f21933f68e0" + +Core modular exponentiation (Mongtomery form only) #815 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"b96d1991664cc70bddd620c8bf8f32a8fe13c77841e0db519f6f8531828add88e0e14030f772b60d90df2432455a999e84f16424bfccf3d62774940bda672016df90cde178fbe78066582f55bb7e82d005114e30b1be705839ba98b175ddec8e8920f487d5f4c99068af98998835a01343e2318caf4bcc2b08d9f6a9728258cd" + +Core modular exponentiation (Mongtomery form only) #816 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef" + +Core modular exponentiation (Mongtomery form only) #817 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"a94cacca8d462e4d353ddc5b2ef00abaaab1c4489c24f5d10cf8aacb9db5dd74e22d5e0f27a539dc3c917597792b93d5aa6534d5a8e8bd0d18fde126388fcd2b5cb925d346cda1b926ac55e32b0c67d06e4201ae9b6fbcaebde5df8b98f421d002909ba7de366b9214f63b1104afd8f26f676d535a8fa57199276d9a7a7a2370" + +Core modular exponentiation (Mongtomery form only) #818 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1682a80fbad1e9bf672066f0edc323d5bc68d9e3e475360f030a535c4bf848d8cbf2b437f6d488e644265cf33508f025d9c1041585dad65efd2e9bbad9110a2cc538b88a0dbfe850d41913f0829eb1068b83e38ff50c5237b43aa9d20bbb59c4c995d98ca23d0fd2801a496b3ec86769fb75052d51696b838fc9bb9666b2814b" + +Core modular exponentiation (Mongtomery form only) #819 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"3d4990aac47924eac62b02dca879b083ce621dc794ca6292601fb8a27a1f1ff818a846a16b013b1461f980ee523282e15f4b29fa8b0a2814905b0df757187fe34fffa8e748112b8d917119dbefbc006fa6f253d1ab15257e55d8745ca8013f5aa75fb7f622950453985021aac09085df3615263fa0d396e8fd503e0b1557c004" + +Core modular exponentiation (Mongtomery form only) #820 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Core modular exponentiation (Mongtomery form only) #821 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a" + +Core modular exponentiation (Mongtomery form only) #822 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"b31f6767b21bc40d07084d7eecdf63e4888199b4efed68e2dfb5c57a29c5b1d9091f6a2f9c82010787b247cc3a6cc306991ccdb41b51935720121d1c50efaeb1bddb99df0934ced3ac902e3aaaba96f1ec2591d9c87b8ebba671ab00756c36ffa14768f83394e940342138d85183efcc023cf99f58d04a0a60441b753a2f15fc" + +Core modular exponentiation (Mongtomery form only) #823 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"591a402256637575b0a602fdac9f65045ae319e57295ae5be422990f5027f6a9fad875fc6af7f42312289b26642fe4e9602cfb8da80c4aebb2ba6140f3a67b854915e18fd99fa76bd01942c26079bca97e847369ad8ec6fc39f49cd4f5a04255331aa38be33b328db434e6f261f68e867a764a58b4357d90081306683a1db56b" + +Core modular exponentiation (Mongtomery form only) #824 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"4484ac5ce3be5ff6193708a04d796c9e49e19aedbbb3aa83a7693a746ba42cdd83bd430da51eaed133d5aa315d865cf10d69cbbaa3862127c223808b3c24766446e1595118cbd9bfa9d94246ecb897e5d4b4232e848472ca95122fabe58f108545a00be746734928a8bf98635ea7fe7748e3ee04d9a347fbb0e625e7e2e8f5c7" + +Core modular exponentiation (Mongtomery form only) #825 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0e6eaf76791864ac8eaea55a17e73e7f8519f52cd00c2b70aeb4bffd71bcf1366169adca4b78a40e6455a98f258e9ffcacaa5e6acf3ff3a442be465be1d0ecf2eac4d99d326a02e3bd179438bbdfa3886c685b5b928420f7ff1b539127cbf37f2dc5ca2bb2c5d99da9e877bfa8578069a7ccaa9286ba84ec3deb8b78303d1832" + +Core modular exponentiation (Mongtomery form only) #826 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"556a1d408f2ae4f88b759ac3502355e1e4eabae3190783d2b90488aae9855f7ef27f79dc86e5fb5cc54df361c7ad5664fe772aa8e3ac7a0f08a884cffbea532fdcbbaf87b42f9499f54d4c83cb347d431e5d92c005493aa02e741af0c0ed86f1c02fff30eaac069a4c3356c4c135c9ee82c4ea7057b0a75cee80ac229c082d5d" + +Core modular exponentiation (Mongtomery form only) #827 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"be1168eabf7ba5f5b5d247b1af4027da3f4b6cb2a3edddf9f8927b9b41e81bfcaa98a3cf437e8046bed1b54892cd2909ba741a6f66116a026e8584b212b38aec966f754b55ab8ab08f61d41c37e03dff2606c5de796f0edbbf274a817d0e3650bdbe111127f5fa3bd733e1282fe5f329acd5c627a864c4ff38c58bfa471c4656" + +Core modular exponentiation (Mongtomery form only) #828 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"181c049d630047f43ec7acdd918ca3888dc87bd7c98c031a7929f17062aafdc747e4ff957dcd41e79df6e5c3dcd9bc5714de94e7d4689af1b3f0a0ebf36a2a5c6bc69e060aa75420be558b1de1e3bec628ab653961d46d35b30c86a6b9b44154743547d20222bfb353b906996beeeb56ab0e470f5dbe509c2cecad76ea3378e5" + +Core modular exponentiation (Mongtomery form only) #829 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a" + +Core modular exponentiation (Mongtomery form only) #830 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"62b0f7b96e049b69bc55feaef88abe5954a8d62074575a9ab850e303bea31fb27ae7ea35c743a5e54fbaf0e09b9c4e6e9a119316271af1fba6416cc6ba0df9781fa10fc615cbb652e6041840cdbe0d854947f7f1d563087c2f4d4a4c313f80bbae3ca4faab4f6bc8f1be4c08c416793451c86cd8e89797de6bbcccad49409b08" + +Core modular exponentiation (Mongtomery form only) #831 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"22eb3f4f020a07dad1c96626684b7d7143dccb084448145545464a154eafb8d3c9f5bafd0902573a5a16f5588d3324d16ced67f005920e150dae55917f7f5da877cb252f8fc8cead32a4821849a8808eadd1e0c5c3e21273e12e0308b3b35830b5cd9889f4deb5bdb9e1fa2b8068c8a29e1db10c73e983a656e78220dfde1d55" + +Core modular exponentiation (Mongtomery form only) #832 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_exp_mod:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"65acf4279e5bc194fbd6f729d3ac71b1837c5c31e923ba01755144bde63f002d0b56d3d9d752da5db46e014b703a16df844d22b2b914ad3289fc153215386020dcb03bee4e42822d91f4d32ef5fd11080310d91068e1fe198a1cc5f3f048d2c749a003a553f60f8a46a15c9627f4864940de5747599277b33d990b03cdec3cd3" + +Core modular exponentiation (Mongtomery form only) #846 0 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #847 0 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #848 0 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #849 0 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #850 0 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #851 0 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #852 0 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #853 0 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #854 0 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #855 0 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #856 0 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #857 0 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #858 0 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Core modular exponentiation (Mongtomery form only) #859 1 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #860 1 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #861 1 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #862 1 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #863 1 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #864 1 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #865 1 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #866 1 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #867 1 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #868 1 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #869 1 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #870 1 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #871 1 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #872 2 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #873 2 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a" + +Core modular exponentiation (Mongtomery form only) #874 2 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4" + +Core modular exponentiation (Mongtomery form only) #875 2 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"262954d0f692d0f7cb7d6df65ce8ec6924be94c9161798a8da4474aa7f6b734604712ea743d6b3376e135cb6f8f7d357623f0314fbc9eb11048fb783bd3234b191ef93a80deca63d1189e4624d4f121b4f4370b13ac90c1206f5d805a2d7da71572b9b2281d37fef010cb7ce857779a3da908605939514d83c34acc24be355e8" + +Core modular exponentiation (Mongtomery form only) #876 2 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"4c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd0" + +Core modular exponentiation (Mongtomery form only) #877 2 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"1a0c32fb0b0849f3af1c75d6085bc9f5abb1b680023a3ce8783eb7d6352a3685d83f19c524675373836b11891ec45fb25b41f1a44181ead2a5015c49959d9779423eed68d85aea31e37ce8c1c7a704f140a86eff06b42cd51ca8d4cc066d9af89dde0e45a4bb1c9aafac6c0cd6175bde1302da86860c686156ddfe812fe6cc1c" + +Core modular exponentiation (Mongtomery form only) #878 2 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"006342c5cb8b9e6349ea22991bc39b5bf81125b1f44e650541ab330ece2748808152be0be88c6968c9069c2122d1fc9387c8c2e1cb1ba2411dae9af8f7c793ddf52eba5629b9e527989ff8feb6619f8b8aa2fa9cb0087ffb384cd90add09ba29abae5ba81890450c4367e2b33c9549bbe80e01fa23b11ed8b08382afab433bae" + +Core modular exponentiation (Mongtomery form only) #879 2 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"50f28b6daa705ade934d8b9ba7ad73577eb07b494d32eccc909fa2f7a893837b08dec6765106e9d9671f985b3a4a72bdb166bf085ebd79226b209dcd87a56d8b2e679adf57de85a99c6e6b7580aca5c6309bb8bc5146a9b12a1ea1dcf7604c0e87b08b7f1bee0ca2a198ac694c7cd93e787af509ea056bda6bc6c43bbe6c8e3c" + +Core modular exponentiation (Mongtomery form only) #880 2 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"19f1cedfb44a20609b48a254dedf8041944906c198ed8b086c7330633f39b759eb26e80f73dd1eaed488f3a25e5f08075ebd9e9d41494c9be44ddb4fdc50f647702f3b5717d897127e310efedbdef37f694bfca4207cd98fcf364fa4759df8d849ca29cc669358fd73987673436f96e8e115adf45d8cc10fc0e738aeafcb4e8a" + +Core modular exponentiation (Mongtomery form only) #881 2 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"1e3b04f1cd93471209d5db8f10e8c29aad891bbc2b58f616e91fdf5e0bbbbde42930a800d0245c0c9931801274ef1a722fa66457f7c92ac82a98f3d0665b7946dc284ff747c955a79b803a37af66e4f637d5c8d1f93a3815e3f6c2b81fa059659557c69f11c03bbb4775cf7352b9380b3c8c2198e419405ef318d22ca3a43129" + +Core modular exponentiation (Mongtomery form only) #882 2 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"342bb550c0e415e803227a7f8b151d78b40da2cc1893e269df507fd098cd832dc97aab6863643dfc0ca41c175f1f436bb98bda2f13f312d7f0b77c21c59fbfe9404aa3e66ffb5968143b9693bc5c12ae45fd71a62f656c881f548b8c10801603da4c40271ad5d19dcd764128c99a7570f955d0f01b8bdf25882f769b213c02a8" + +Core modular exponentiation (Mongtomery form only) #883 2 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1f699d53044d0af1e1f7ae95aa88309ba0284f2d588541d7b94c31c69aec2d298098af610f969c7952c87ee5d62ddb9a3740765a6bbf041ebdee8932188a6ca781bde4d5f7649373ac0feca06154590f7f9a3d53d55a1152a7628b7d191e313426c1d0d327064eea6990a0e95f8bbbecbb9a47dd03564810ec67308c99f65726" + +Core modular exponentiation (Mongtomery form only) #884 2 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"52e7ecdbe1cd5b9f770e4b7b6f5251d7e7b301e5329a1f0d976e565ccb4e4042ad667de3d185ac1b50eb5927758686eb96f33c47ddb27642b48796aad3372d255ea1b25236c18f38c7b430757b7c840f6e48b85641e0fc53755422cea55c39227bd72adf1ac525bad334d7ca768071c25d0402913c46639c84ade740ea861669" + +Core modular exponentiation (Mongtomery form only) #885 3 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #886 3 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037" + +Core modular exponentiation (Mongtomery form only) #887 3 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"2aee7f6b15652b16c4ed1bb5288609f64956676238da8bbdf58d033fcf58e1aec4ff547c2c51899e5bd5c84dd816cdc24e86e3779b4328732521ae7434d87b47c42d861d0faa3b04b3bb20ee96f8f45eb92bdec762222d9447d493065732d5bf82110e86d20defece12e4ec8562668d855e296c64607b77343bb425a955fc0a5" + +Core modular exponentiation (Mongtomery form only) #888 3 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"2d0d371f4a759f4ea1ec8d09bd7127bc92e07c59b625f440e9bf394688af1f2f39d80a10d272e452b8177cc67d4ebcbfe501f5325c47387a24eb0857711634095d47e328da3de2a5fbec76fa88237ddd4ed1165d88d993e84272a21341b6d5033f2a520b3b929fc5ee40c956f2ad8a452ac31f3db83d5c8d785ea397d89e102e" + +Core modular exponentiation (Mongtomery form only) #889 3 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"33695e3be9a6fbf638eae1077c32810f6f7ebb402e082dc9c655db5ab4b1d7b098622acec4d6f46fccdc9a306cf689b8a8732a629f53688f2447160125cf5e4e2896fa4c39f8d989d480791e5ba31a590fc0bd1ffcffc6e4324ccf3a0142d2ce76761c987820af5115783902c842ee8ba964b8a40ede4bdc1648c74fa258fec9" + +Core modular exponentiation (Mongtomery form only) #890 3 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"36d43d5b63bfc48119315b5d8d7ba8b39ebac665c1ee13bc0c5d802caa27e67bc66fa31c8e363b19ff4fe8ead6f1483c27d1ee98a0c83975d1c3b852e04aa70083fb4e4cb5c491b67caa94b5bbeac862d4c59b36077e896099fd45b48c81fb07edf8dacf5c948f14bb2e8c807f08ed5b57159ff932475aceefbba2f307141c9c" + +Core modular exponentiation (Mongtomery form only) #891 3 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"3dfafb606825a6201d60f326491e1d54ffaa6007da16ad46cef2def4609a56eeacc66a4a430b91165eb5ca28003aa2f852d7fb0db0bcf8bc1d32b1305df1eaac4a8a86dd90c8699d3fa02e191fdf0f8aa3d8f3bc221adc727a0c58fcd68d5bf0b5b20c0b800ca656789b4b4174b8fcb75179e9c1983a227a7ba2869164f4c931" + +Core modular exponentiation (Mongtomery form only) #892 3 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2bb6924cc0ae607e7c4d3781b22aea1eb517fd825baf7f12b42261ae03ecc3cba6d898a17c9c198bcca9b7b56df5b6025500f0ec90cc3f175a1c2f178c98aabbb4b86b43c4c1b4f58265d791d35f9f86f5ddb8c6e537ad557f0374426c97b5d526f6d7bf231c4d7325b9c3f7c4dfc2080b19a85e33f0c533c943414a9d57b3b7" + +Core modular exponentiation (Mongtomery form only) #893 3 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0ed03b624ed6cb133ee6ef7088922f2b4ce944467b329ce90249ab615c5d5c3724f315907579bb5b727b7e5d9af1914924067e7ccecc246b38081ee493008d8f2b5f98cc44d40d8eb6045bd3df34f54004508ff82c808871d0dd68fb42e1c532ccb5ac51c6d3eaf6ebad4f838e5c08625175cb118cf031562f6f5685cf9f0b53" + +Core modular exponentiation (Mongtomery form only) #894 3 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"4af8b52a974b58b4d27ab5fd013615d2c1111b2fcd896a3c2f0f5b99cc0c803e6ee75addac7905caaf563aa8ff831cb4bc4f4e784df64faec67f8a356a02abd4e2b0dce8f403918575f6bb7afd8bad229a0a9b3f7d65219b17aa2841ac7e5c1a36fd7810316dafd28bea42eb769d5e1fc77361da9557fde6653a22f439385387" + +Core modular exponentiation (Mongtomery form only) #895 3 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"432484cc60578c91c2422dee4cf92c2a2f26b7c59c5caf3e9d6e119c9c47b087a3e6e04360a43e0658019b90806185c1eee345d2eb332b7b211d98db3f4f2909a68c6f7e71762b70bf29a3ccf6ff24a72ebbcb663e3641d8703ff62398ba5b6a62f8b568c62f2a548ba206c3732b6c1279949df5742e0eda8a62baf90b2a4660" + +Core modular exponentiation (Mongtomery form only) #896 3 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"158d266f0992a03eb3b9814b4fb45a825a95b891c9cc1656658acb5d0c4f0a6fd4f5185b4272ef1f82205eee49690d91e3f8e810fa147fccc7a6892165c4a5d60811e0d19e5efce0411363831bae162a85180ebe2610106ef4ac40df31e08624494b7aa63eff382f74e640ddc84f26d02f6bd8d03ca3cc97a02991b508f2e5c6" + +Core modular exponentiation (Mongtomery form only) #897 3 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"08818f73d59c5bc7235169402772d64318f358349a2f751c555ffd71f9fa2ba42a478f37289ebd4b57d1f5504023a4ecce852f52aedbc6d4389f803f217df5521b12d293e4b5a3d4f3bf5c89959ac3ffa28ea8e8d83f1e0e3ce40bb15ad2822800d5cc2be57136c46a5369b01d9eca6223c9483b0a6b8b31f0283a010b2b9c46" + +Core modular exponentiation (Mongtomery form only) #898 4 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #899 4 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4" + +Core modular exponentiation (Mongtomery form only) #900 4 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"4c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd0" + +Core modular exponentiation (Mongtomery form only) #901 4 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"360fd121d368e1dd555b1d71b2e480d64a8c78e1d37fb85bed6c33e94b490898e4179b0f073070225e5d514ea6dd9525fe3ff90a7dc895ea450fb30e6137ec22c1ba8fb57122c6b02e805f9eb422731de403f39ffda18212788d7b2dcb19ced8e4424c785ed66f75e887556dfc6abc534fd640ed4f1b495ce92bfbaaa89719fd" + +Core modular exponentiation (Mongtomery form only) #902 4 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"30c2b643622fc389fbb6e99b5350170c97ec6fed652b837dc7e12eb3626d16a966128574b7be4f78c2a18cf4858afb89ebda79c10c1dd5ea7f4ac62f29f934ef2868e0791b097df07b77a6d856fb0df9d6aac28ebb6c1ea0b81fbeb7a4a3e2ed02f77ecf062b5dd637890fb3d21f90c5918fb98b08b991daff09a7bad35a0472" + +Core modular exponentiation (Mongtomery form only) #903 4 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"10cc72e0ae5400799aa7177a24423198410de0c3989bb7aec3a22bab1cbd2967017d6e4d94fea76aba3d5a91e56da26fcff750eea401780d8aab4fd6f2323e47dbe6a71be27a052ee8b310f7d44f7d956887410f73210ba081af17ffb6d76516cc691fb6d787cfc40de9bc63b0751a929833699b8b8da47a13893f8aac1c2822" + +Core modular exponentiation (Mongtomery form only) #904 4 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"3bcafc5dda22d977dbbe8e47e99c4b67f5b0444901d132e5467e09c0977f55e811b68050338b34e13ae65088462a47720d890acbd306f3408bf1e534ffb28372c6def7f7021aa7a1e50c909c4ebf6a003c889984552e25cff9f87ca0bdac97af56dffc79d20df98f709bd4ee41e6fd6d5faa4cc589fc216b65d4c6c78ff1b4c8" + +Core modular exponentiation (Mongtomery form only) #905 4 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"19298748041d54251308eab0d5fad573d2de41b1fb2c1875fea327dacca243b7a8bc3a13716251c1c5b10117e958a426cbe8027f86c06f364b28437599d5e57a3db9ee5cef1ac7ea3fced8621e0e2901795063cbd281aed24b4fee3c53536b8eaa0eb6fdfc67cd58ede98896e557e68a5c512e21c35bd7dca36719d9eb7e91b8" + +Core modular exponentiation (Mongtomery form only) #906 4 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"4deb62bc209eefe74f1fdf895a77b47c2c5919849ad3a46661009211b2fa4948652b86e2b5defaa8c179a2eae910f27a6c77964536d50caf4cceb562b8e94a41bd032b8d9d57aa8b51d9d3c082d0b77f493793fec3db60f18da191033cb1619ae64fda14ecf10a851b95ad318c831239b061beda072a954da0e919080e039a22" + +Core modular exponentiation (Mongtomery form only) #907 4 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3d2604a47067efa680f15dd36be182cd3a0fb48204a3e0123ee023ba2c00f865a83150c0ebee1e198fa89c7f3f5db669a2da7c6bd7307be1cd5d181e6c80f3410b2c72353e2278a0f3c8446393509162128abb992da8cc8d0d8ae8149800f917b64ee413180ab3757a9424524568a9b884bae0c0b175cdebf9fc345ba14b0140" + +Core modular exponentiation (Mongtomery form only) #908 4 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06801a269f4ff551ad9b145110080626d3d3cb6193daec4509a4c5d29a4d167c5a4a35ff985cb1e5a48c86bb9a88f961dde3ed1da0af8ee505117e0d19417767d07b53d583bb493796bf7767d7d42b87dc8cda1527c1ac125ebb2276ff03d488d4866ff4076e2dd9dd917e9e224c36712042c964b26106a5a3261b9e90d2bd49" + +Core modular exponentiation (Mongtomery form only) #909 4 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"12110e1ccf59d82dc5c74914bf55155fc8efdc8fbe5273f088c537076bddfd450b03293be7f6ce098b5100c5391f463d82b9f44ca3fd394051ee57a9e9d10c10efdd2e5483685c61f96d21b0583cdc71ea44790c5ade93f561e3e312506ca285fc648b4dd035fe55441f86c7fbd9e9c738ac6c702dd7ecdadf7fd4ab7c6dc203" + +Core modular exponentiation (Mongtomery form only) #910 4 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"524925b3b4b40404974b3f184fc48ba0edd5799e35533b1304bd4fa1b29d0c2e4619dda54dbad22d994dfe2161a7a58c50e34e8c8abe7e8116e472e7d327ee92439b04f284ab11098885325ea6b62d27e0b3adf9199369ad28a401f3f2db46b50d1eb647ced8d1bcc9a40d9e840b0f9bc5cb35ea74e98a71f1aaf0916d9d3630" + +Core modular exponentiation (Mongtomery form only) #911 38 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #912 38 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415" + +Core modular exponentiation (Mongtomery form only) #913 38 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"34fc6a5cb590de9d67f2a62175beda6169aea367e2a619728ba3b103a2e56f7e18ec34cdc2901e10fe0ae7cf9ca9a7ebde7ab9a7d89ed6cd333ae8201abfb6b71be04b1e644f091d1d39bf0a1e73801beb23688477d83fcb06bccacb279cbc56169e4b6c0ebc857b8ded1ccd677db3bb42526fde02d99b0a99d9e0253c46f30e" + +Core modular exponentiation (Mongtomery form only) #914 38 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"24338aa31f46cdd81b2b4259093e1e131e7457b429e2a504ca1d384446ad165b8f7b466127ca591312e99c9fc5862522c4c9d68b51f01e5c06345d50a32e84e663387b505aedc6221e358c9b5a02008343568bfcad087b5918c83778e26ea6ba3c6ac1e03691a2ee42bb83a67b7837b020c5e6ae16d3536254cb2ec088db5dad" + +Core modular exponentiation (Mongtomery form only) #915 38 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"116fa87fce0fd83dbcf3f170627f8097ce31c4323fabb1b510a8c399f548574d676893e7f81a2f63912d9faa2e4ff2f26e65f18ee8508f32600421276f5f4717464a8d3bf1effdb3ad40a65dfdbf2ed20a320ff714a4078f72c1fa772b0c532e8e86042e71af240d9a11843987c3a82b05dafc1a91cf525ac8a6e6e03bdfd3c0" + +Core modular exponentiation (Mongtomery form only) #916 38 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"063ea3666f8efe4b25f829ad26eef88684d83866fc31b4ea2f1128dce946c684cfc368218ef7651c402a8a33403956889898cca8810054e8cd0474b9f97f1b2ebaa56a987ef5926b1ad400fc8404ea02731ff65adfac746d2128935203efd725f7c46d6bd0c577da44655b266436ebb4cb9d77c03a1e64aa0873b2ab11927fb8" + +Core modular exponentiation (Mongtomery form only) #917 38 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2417daee307667a8b691a66115017789a7fe845007063bea730d5e9e9bb499580a05f95e78cfaea639e4044d3d651a5bc4d922d835a39a1c969be4aa09d27bb172ca6d3e23adc052bcdbb279f09e66daae095d6d7e5f8495fd01d49763d9ccc142f12339f6d2350bf210ee2545a70f9689793496bc1548d808ae38ce49acc7fa" + +Core modular exponentiation (Mongtomery form only) #918 38 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"3330c34d85ff2f15cd8d9bd772f8a974e730a5b3c44173f62f9ffcd3156fbf4f2269729c201d5ee8a589a8c4c35adb2bfdf643be42705fdd0d6f223e21d4d78e2173f97673902b459b6ab0beca4d6a46ed3810ab87dd3450218115a2693a1d694f96c3c3aae17c687834674409e259b93e8c65a27ae1ffdd011c683ff987eaa5" + +Core modular exponentiation (Mongtomery form only) #919 38 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2a3626f71a549b89d6b527f51d8c1de8e4482c26dd4578b5e4bd8bc5bb35a7a2bab985d8f48894bb37908713f562c3d9ec7aee7d851267dc2482b38b78f4f004b550a841824a728b09c532e9fdfaa9cd20cb3ed7071699631d3feb74ea75b1455c140b335dea65e1dbacd69dc7464d5f249ca2463eb0f7e665504f69b6211572" + +Core modular exponentiation (Mongtomery form only) #920 38 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"03b9ed70cd4d770397e1d3240d683c54e1eab2fe65cb7ee80fa4c558344016ff0a3775c245c7d9b1975a01a644ff4a157188f559b51799c5639be412656b398ed1d35a3ef41c0a6437751b685417beb6ea69c8605a9fa2e91698e0379ffab3702720cfae7d85cba5caa899c762ff3f9091d2db92e30af228d804a58e87234d52" + +Core modular exponentiation (Mongtomery form only) #921 38 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1fe7d3885bb41a40f22d73ee975f6c675e61f4419edd1b395ed03ff946ebb66e5c863b49d262843ad990ca92355c8d80ec0f866281e1676c5a4fa9cd0e36e9cb1aa61fae1568f6eb6f6e403c8880ea95abc82fb6fc3e7f44cb90b27be08ee92d4f34ca9fa79a8d773ecd1e311804e89cc6adf11ca8708863185d05d3173d0c24" + +Core modular exponentiation (Mongtomery form only) #922 38 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0e1ce404419b743676fb6ec4382aab03de03aaf1819c56814ce651c2c5948eaa389922bc59946413c666e962ea3067ab2ce11f9344b9cc8487c1335b1d106dbd6abe536c3295dcf4ff9b78e14b4695130830b157219f612864a4e361eb7d0262af1fd17b2712ab05355ef1c63bd6c55e611a50d32b254638f4e997d0e5c06cb6" + +Core modular exponentiation (Mongtomery form only) #923 38 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0fad3239c53a5e1ed1ba1c4621d5dd0f794cc15af5733a2238bb2c049ba289b9f13d9621a9b20492da8d8b3d4ec715a6d9841433fe0fcb22db17dc5eb5b2ef38152984619ab41114892b64d6f107dd8d11b36a5243e56b2a8148939e820ec6ca9b136f24bc57b6de72e97cdf0260fcf26d8d8291bfe2a23c93d6d55bf163a725" + +Core modular exponentiation (Mongtomery form only) #924 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #925 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d" + +Core modular exponentiation (Mongtomery form only) #926 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"2a084546770c85bc300b8742b337294c955a8cf12ffe2377a2da2670564a6f7944d6005a5573a32f1bc08f29f40be8890e8af6e7528c68b540fd0b5c865a4db2c7abe1015517e3973ecf72dd62510de30fe7bef5b10942c8bf37c4a2abb241d6192f7a5a9570930e5f3e28b916b524c24b43880c7e75781361670154a9f229df" + +Core modular exponentiation (Mongtomery form only) #927 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"018b59342c2dc063faea68e1d8d9f6fb30ee693b20e5d688378f6a7cbc2ab27b691089b7d0121df2dba02bc04e0906ad29d9bbd9135e50cf7815b1bf68195e3d165d3efefca0d0a7c3bdf377497d6f0c3d65f009b16298fbec7296c275caef6183c2ef9eedf25ba30bd2110e0853046938698a49a6e45168fdc6ddc1e7feda3f" + +Core modular exponentiation (Mongtomery form only) #928 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0926a7943990ec6ff92999a938edcc17192b0cee1b5261d46f3ff6f3aad3accf43484b9ea595cd99c572858dead6cd2a650da4cc3b64be8e6db025a882d9e5c1603fc39023625b8114bf38413b3ef20a97b64734557f64237a00a9c5a73e96a2f6a49cb655db20d66b9ddf84c76ae347c079a96ef3b11ec2e57662e5574b221e" + +Core modular exponentiation (Mongtomery form only) #929 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"3aabb73ef72f2789cb172a1f784feea3862b18219f5d0e9d58f3cd5f13b0ca5694a3676ced7bb9332000a3cbc633629f0d8d8c0e242f91b68a3d43ca3eff9037fc7a77979ac5fa9a0d67e7984f0423f21b8f46e38636501713710ee4baa7f4a529fa9062211384e3aab6a96be70db4828e12a8bf25016f9c513382b714e190c0" + +Core modular exponentiation (Mongtomery form only) #930 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"32ffafeec37abb7bce637f92e2d89a58a2c5d7da5d157ae0d035f65f8f9a32a1b8bd588240102888d08bf03b2ce365bf071c575cf3817ff8c2e7dcfaa983a22b69915fe9c72368163e6624f587a37525aa894ffd8d7d09793599356da7590ba157b2c5c84ddf75c17f2e37732488cf443b8dfa1fb878afddb3d90c0afa75a117" + +Core modular exponentiation (Mongtomery form only) #931 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"20289e3c8e8d1edc0a31e649a687c4c4bf38ae46c64468f0d3d798f1b3e08f29f9c18a46e7f221809202c919f459f04541a889c93a8cdfae713751a556c78a77fa22f71ced0bc11c18a2515aaa12d7226fc9659d91ef8be7bb77176fbc125a64786ffb0e1404c874d1f4fc4b354f0b3d3c9d18e2143ca82760761ff48129f507" + +Core modular exponentiation (Mongtomery form only) #932 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"31d4e7b145ae88ad5721aedf676a1224b6d721a2ed9c549fb1fb6fe9870807e1392f8eee7afc145d5bc173061c71e93c4906b1d97e3822d728130d075917039d1b56109b60a33503918cb96f7c89d4541d5cecdb1ce402302c2d7ec2c4d5f7ec0684804ba67316527417c5395b9e712b2f1821c0ec9d245fec16c0d9e282b2b7" + +Core modular exponentiation (Mongtomery form only) #933 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0242a4b827fb808c8e35c62ab6cb4bd3dd02f546e6843f3d35cc62ac7973affb7ae84fbc55a33c0c793f1ece8787b5d5b702bae7079552edcfccbb49b2cd6ced2ef210dc36c90219aff391b8883ec016a24eaa16631df4cf805d03918e1a30dfac0232cfb5731c744d5f499e66f76882e0b1db3e59af82717b9ca4f82dfa4a37" + +Core modular exponentiation (Mongtomery form only) #934 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"49fc1503b76a3ebe47d7cb7058040b67a5da43e0a4da883b2d079a0623d085d84efbcca04846d25afdbe22eab3027ee728bb7fa5bb90963112c9da6ace040f20fda03b680f23b07036d259b849357794d98b577d08c37d733ca47d619ed8b984ed774d5808881494e575f640e873de05763548d235314d4cc9192964c9ffab07" + +Core modular exponentiation (Mongtomery form only) #935 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"50c809d65382431334865446691abdb4e71f1331f4980ce5883d51655438e6e9467b4c80ff6c8a02ad32cd73ddc01eb5972062a50b700ddff1fdd614c48d52787310a445c396d5b61616a57441675ee08f97f962667a51dd200da372ebe1bcbe2c8b26a47c13b946d1f2dd51b76e30d7d50a997a13ebcb56177f97d6e4e50a36" + +Core modular exponentiation (Mongtomery form only) #936 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2c982953654fb7805efd0f1180347f33a25e90e68776917a62fc7474925c99ede93e8e02ebbcb7b952e74ca11e0b2c4c5a0f2047fde987dc3042f277c644a773b3705e55a8f3a6b03f5b9231c268eadd3e8ae482af7af200b3408ad523c622365a6877ac6c8f5fcffc3e12a8af828dca3992c2189aef278f1d6d0adaf9ebaa9f" + +Core modular exponentiation (Mongtomery form only) #937 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #938 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36" + +Core modular exponentiation (Mongtomery form only) #939 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"4e51c9ae328241b1ca8166979b06104883d3d1430a8685f6aa71d0dd1a20aeb887da53dee2cec3090192f44c9cb217fa55cf5a8393baacfbd6d98e27010551e4a56d0862aaab7fdf62a5bf24fd9eb6207c35e734d25156b3473ddda1377aaabd2e23e8c14a818f17c5887f8d17198c82cd2e14dad3c51cf990da8c5e10c77708" + +Core modular exponentiation (Mongtomery form only) #940 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"1e1775c9afc03735c1a758cb766c04c3a197b33879ab04e164ece425a749c9d133f07898841ac0683bfdcd18bbe4fece8ce5eec89c2985ec7f030ee7a010de934764562e67712d3266259eb3dd0e4e8abe8b6465122df88b188b8c680055b864102f2ecb1c15bc901a0a0b4432690814aeff7770fe9bd415f78d541755178b9c" + +Core modular exponentiation (Mongtomery form only) #941 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"35fdb3809bb631058a35cb0baae078301500df5a40709b29ef03a3139f680f4b2d823609dcda5d53a94c411297737dbffec5565b5e88376da9cc94894204ebf980b8fbaefea2b52b5da760327068f74158b148a87d1d075216d804ffeff007211749645429d8de443d64f7874bc2cc2a1277aa4dc06102868ec3f3277ecc67db" + +Core modular exponentiation (Mongtomery form only) #942 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"37b216a14d7c5ca85a34bb60e988d26f2251a19b92580e30c9bad649cf61d073ef091ce19cf9cdcdc7ba6693cddcaed5ba311fb340dddbca18e76b924df2fe4710462ca0db17f3e2f8174ec3ada9e2827cd146e166e6d5dfee8e9f4a01d8be6dec2aa517558da6cbb9d9114cbcf5c4de948c41a4b3940c520b168419e6252e45" + +Core modular exponentiation (Mongtomery form only) #943 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1a8292a99e46e556893a21f99b9759e3c198817da394cc385880bb4997cdd0b1e97bfe0f354a1ebc960a9ab713669ca7206674272879a5ba671dc696aba9ed6573868f1b8675b77430c64f56c5f3b90083476c9a62d415fc1074e066c8c496c878d82c8ac91ee3b2ce19510d5bf637ebf5af62138cc844fd3340080b48f0f82e" + +Core modular exponentiation (Mongtomery form only) #944 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4d4bda626c093d4d074bf1f7d75a72851823b0f9d1bbdf891c32e747dbc5dad156dd9504f353b67103291094806bfa7d9bc99df91b6f90c46ce3ebae3b5f0359f1676ad48146cc14f7fdb80c38a8d4e6c369f4a46913a8131db9822511e405b6b75b0ca73ee0b74f6e6f17cea7c5b0b45b0e816abb5c7f112e2e7e0ad47a9a04" + +Core modular exponentiation (Mongtomery form only) #945 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"33cbf257f3abef7c2a1593a62741a92cb40ae78feb90846ff7ea0f7124600b95646c799b542f6a31f51ee6bd03b144a536460366d2a9a5c3b83f96f9865b1b01e2bdeaaac9796ed83edf2336c2b77ce43eb84a98497a03ba9e7ef818aa1844f183406d73eb6718b19a53ad5bc27d3d88dd708e54c15b379e78a8884de49b545c" + +Core modular exponentiation (Mongtomery form only) #946 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"49831121c77dc65541da23a8685aede803b719b98ac493c50741ce702cbf9c4c1340457c2973640825bc3fffe4dcfbf4bba610c872bd846caf0270332fae8efc6a1079e01b7937bfc705574357a5497008674734d5360e93d2ee5d24fddf851e86336994433b2db71589e4037a9fb5e5c2567993113f12f960b3b1e6b93c5080" + +Core modular exponentiation (Mongtomery form only) #947 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4973e9ec1ee79c3ef1f28a84bbf62fe4216250a55c1a55b6b1f05b320e70d1485d32a3eb2d73927650f551ffdc174f734fbad7267e7facf97a7b06c2b9891b91fe8d397d320993848168a76483c14682032309d5147afae061194e596405f0f7dc5a6ad98cf7c1f3dee1f68128b52529b64a574d27080233999778455ce42d70" + +Core modular exponentiation (Mongtomery form only) #948 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4423296df0d8c1d0670bf460d3ee39dec14e71cbcfd4717411066f8da3551a17612088b54987af98369fe88f1f0c6079465b0c6f733ea9707e5089e1bad6ea89e203bf3b49083f016d599b842427ead1f3816916ae1eae67624076e859b333226d1caed88ebebe5cae6a305a893d944976ba6cca8944c7638a53f5b37a451845" + +Core modular exponentiation (Mongtomery form only) #949 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2bdce19fba556650952737b83a13880ecac0be61d13a2f9e42988f2a47aa897324fd753bd02285ae5c10af9b7a3a61813f011e8c69d5e763165cf4b3f4307c58fc9041fa7036550b1e367b800452cb1f73354740a772b9add8fcfcdfaa7bc12857ed8ff8449a4fd1e25d91f1103300a41d57bfc1380f34c236bbdc2cb6c958d0" + +Core modular exponentiation (Mongtomery form only) #950 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #951 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66" + +Core modular exponentiation (Mongtomery form only) #952 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"31933723e20a520193f7faa97685fd5c10c0243d962d3e49977e2c2e055cb2c6b11cff72b3e491de6a95ae80e2f02bdb937bf5734ccce023b54f42e326e82d20dbdc58464dedbc65e2558d287489a4b4723c9be496a31634969ce451f3baf2bbec715e7db4c7dccd21b64a04b93935d07230365e8c32621e913cbfdac322ba9d" + +Core modular exponentiation (Mongtomery form only) #953 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"205b779500642d955c0e3eb1604b1f6da9613cc50153876f46f17b74ae306122f09e391e58ca6e07aa2bf3b8718cce8580a15a1e29fa2e4f437c389c4b859d7e4bdd14c673e76c3ea61c928ebaf79eaa39400dae174fc7cc9564017a78e6becfb2246e3e87bae283e3e853be1fd1c52f91caf78e475b2c69111e723f6e17910d" + +Core modular exponentiation (Mongtomery form only) #954 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"361e8a1754510584493cb51513bc3755aec898ebdabe906132fdb3187813dc15ca4d6c09f0f188be3c82f78a83aa5e4c749b6a791c0b6cfa64adb3d2db61e6a6cb615c0b0aa8c441daf0b6176b7c15f0affecb78aee37d90e754447f5d3346a3816a3c62715c2c5ec345d1ab42b5bef184827deda5ab4984362f964e60cdc377" + +Core modular exponentiation (Mongtomery form only) #955 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14f866f810bf5fbdef0fbd65855dab9ba1497f59da4df4e9cfa6e13c38f1b3ef85854bbdcdfc8956e290449903be0bced12b3eea7573bbe5a27361dbb4f56dcbe5126bde6eecdabf956b7fa702ee1d218695bc58d5068719c453da0200a15abf49ef4b6ff6213c05469f8664c854b085bc6ad6e2a6330759e6a33424ffc97a26" + +Core modular exponentiation (Mongtomery form only) #956 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1428f06201c8d21f0ca47eaa994f3b4f2250851e9067be5e7669fd05297208f87c2c41f8fd74f353a4331f7f293d4dd00dfa907b48a52b47210989dde13200eff4bd9e3b272edc0c03debea6c2f03e1daf0053371688044feddb13a9f51c62f67afe8727abc47d61ed1a43984c0003a69fbf136d4827f3eff4bf93f52a0b0a09" + +Core modular exponentiation (Mongtomery form only) #957 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"1dbe839970f889b81d50d18a3ca8ee61963b1880d01c062ddb25f977c8a80f2656ba3e07058d45a16d660b8c7e24be9d639d690af5017d255e2027ee375f073c8e14258988c93fb587428d930da6f399b04b784be52540a92e2d54e3aed8044a12b6420295d56328b567ecd5f47238a5f9f74b48ebcaf0caa5d550213c52418e" + +Core modular exponentiation (Mongtomery form only) #958 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"49da28644f4252ae752c3261caff7c0482242d1df28663bdedea42641d0e9c96e75c682a536a4c71babda65660b0a6c2bf33d30af58a8a2f9416c12b6550aaaca270074c383a8ad9ca801aefa974f5b851636355570ee18fdc03a5d91d8dbe1be7f811ec74e2f0b4d00ad35c9b5a2b2d3f592874273645b2598b0d681a331da0" + +Core modular exponentiation (Mongtomery form only) #959 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3960be04ef8d4bb1d17eeb637a9bbb6c0873c49186044442f58addad7122d7d199655db2b18937a424e9c2cb797c7e28eb1134cde763dd417a8b6e724303e59e48b00a8b95f2350bf40c2f5b3a0c6fa514d5d0fe99fbcce1d5aabf3253de84cb2aeda3da4cb0b656c9b54e124afbf0ec66d65a76f7a407b13751d9eea7303b27" + +Core modular exponentiation (Mongtomery form only) #960 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"32c3d8b424ddba25088e48c8353a2dd9877a9b3886027d91871ae5caa166ec2eee4e936c40855789db1f21c817255218b1eab7d02a357a426aaff550515b7929d2dee9cb807063de71d9c801ff9e87fd3a90242e6dd495ccc5636af2d098584dd2677bb2c083c9dab9201b3379459047415ef98be47e2d95b18152c1d05b9ffb" + +Core modular exponentiation (Mongtomery form only) #961 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0ef389f27a3bda5d3d1adf1932937ee514fb626e0065ebad7528cbdb6e49ec8537df35edeb8fd4f5e18260f0e251caa7cb1c809ef80b0111888f82a5227d11b886489882e6feded097d49c7e04cf60d2bf09407a67c98f751d143c339eba4bbd3ea2310d6a8091f8b271b218b1990147e6a5dbb81fd143036bdd5962e47f6242" + +Core modular exponentiation (Mongtomery form only) #962 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2f66ccc738faa07f7459581144fa31ddb8ddff7617dd295db7d82b04cf0bd8f6d0eb83eb568ef76e1470aa1217dc149169353caf3b34b39199b872b0f9cbd5d55714521d10281f6abc551aee9f0f0890c03182f3c2b86a8012e21b9ae9b782ac9183e5e542755da62be8689a684c20a5706ab693e6ea384f57d3fa2c77dd81d4" + +Core modular exponentiation (Mongtomery form only) #976 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #977 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c" + +Core modular exponentiation (Mongtomery form only) #978 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"5143159fb5c3f4d8c67e5f5e67afc2801f903a49454f0f45308a7ec7c7ed0caccb9573f1412d8c18e16f32982998bf7e1f6c8cbce56b0289dde83f9386ba71332075978e67205da842420928c55b70d9c77f582a7c20fe945d1b54f95b81a287d963516deee140c5effe24be2fb00abe77c3e4b86292157a1100a391a0fa23ab" + +Core modular exponentiation (Mongtomery form only) #979 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0d1e98b0a49d41f3574f9dad7b513c79ff1a60398b8eb413bfce4963b0e86a84875aa7785676f7eb8f3659266d86022883b2e78fcf1380135ad2289e13d0d884bb7d707007596cfa28a2ed42ab5bd6f41bd190d4e7e5f229face19a10949e7538bd09a327cce32658b59d4eecd0e179fbd3b9cd5d489e09c8d256784bb79dbf8" + +Core modular exponentiation (Mongtomery form only) #980 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"15f9026235c63bca99d19a9670d5a4536be5dc9152e35c67ae519d0d2a5d064b0e2e1820c7c4490066adb3eddb0fc73c08626b79327ec1f5f3833e3df7efa6415ca35cef032ed1a64cf6f4428e2d58deddd3ba4878dbfb97d1f3935af5a7721fec74f9dc578cae2c6a533b5d470893d78a23535e8007cf851c7d3045b31b9ac4" + +Core modular exponentiation (Mongtomery form only) #981 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"4425783dba83a90c80376e2eb3a1c7f0b647e845f9b0480e0fe2d2057876f756eda7f0135327c3ec57b101ffea4a318787951686ef3cedd8c2054da236927d1025a34f4a8f1311a22ee79eff1be7827923df99899b8f5081df9c3f6067da12fb91195511a3c92a4ea6eaa655f0aa71a29102544762f48f7c0073d8c13534e763" + +Core modular exponentiation (Mongtomery form only) #982 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"039482a8d13d327c9174fbd494e5d8b2d5b41f2d4316a36fcd5e2a6cb12ce056cdfe823a343f5c3cdfe35774f7b286b10f93214816cdac557b05ef80ec7e3ac54fcb3f0e78f58186b9188cc8bd4c64764521e56ef4732077843d80a08c17e581b0a8c2d82eb76848cd1160cd860f662a2df1214e223ae99c58ffbe6ca84c11ba" + +Core modular exponentiation (Mongtomery form only) #983 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"530e9f04cf42910877f5a34490dd89c3d963e64360bf97ce8660602f33fbf3a01ed146b1605fca3f3d7f61290b88c7ec66bbb837713456a6f5b99f4aad54c0f5305e9ed7d84ef081a51a83d5e0bc94371c2cef6c27bce92273162d39c9b4cadfc74f52342908a0f9a72bd72c4f059d4963a62844cab4ea8ae0cff690a5eced09" + +Core modular exponentiation (Mongtomery form only) #984 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"3e741836d061a08b7e8df3c69f6d8286ec6ca172cea9b3fc759dc164a864446390928846753c0c8d4a1efd769c8e0a85e44d3ef28beafa0d41b3a7c52fbb1e27af1c544314aa31fb87ef05aac278c013fa7df9512d1d5c88bed039d1bc174417632f1849340920bed9e280011371ca6fa7c2016caae631d71d5c612aef8fbd23" + +Core modular exponentiation (Mongtomery form only) #985 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14489a69bc5932d8feb8d2c8e664f919329cfdfc137095906629520373ac7c6e290bb81f58cdceda104e3b9d2d5275cdc818a10e352c327805fae44bd8646307d3737bb66e9a25f0e3bea32ed6c921439ffc86b3d3acb1b3cbec83f542d1620e82015b93ea934e4f0be2f0f1061d4d28fac784c02a0344d52e46879e68d1cdef" + +Core modular exponentiation (Mongtomery form only) #986 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"509aaecb5bbc90f5b097ce3384ecc962f69da287260b93e57b915d067931cd605298188afbe7433ed858c046b1eb790cd1384e6c978b6767777d5079ddca4d7eac5ef795667b0b2ac23e6bd786a19c845078db98699bbfd9bc139354e6f01c24149039d7ab81dace23b389ad5fe6cad28aa8ca5b9abe4c41c6154aa0c09c046c" + +Core modular exponentiation (Mongtomery form only) #987 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4665803d393e543f2bfb4b5fb92d04755f0f0e9c58d9ba7801ac23c12647492ceed6a47606c128303df2fa903baea691faa369f3cde0f4924a1f4ed4b2f0d822cec00240f4bf0c3098f37aa9645a0911f568846058e3d0f276d95ea82288addbd7f92cf646047dd4719f2765ec2dbfc8f94c498b1d66bf64bf12b215a0b48cd1" + +Core modular exponentiation (Mongtomery form only) #988 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0791d714204af235a62ece6657fc12ecf587a522bd467644687aca4f68a8a5e632df9afc86c0099792e9e8031c644ee8ac7bc2f7e33f6bfa0bc50a17eb54495889e107f6370019cc3563ff034bcc3803267dbee56ef5a186d3f7b3437541ac6efe1b545e50c0605939fed7a850042cbefb6a518e0ba58c2a039b787bf7513e05" + +Core modular exponentiation (Mongtomery form only) #989 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Core modular exponentiation (Mongtomery form only) #990 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b" + +Core modular exponentiation (Mongtomery form only) #991 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"31ce2657647455593bc686aaed9aa88d2e7ae1bcc2f4a9ee150d439fa2fd63b4324fb4960288ff10568c6b616dae56f6535f884dd06b3fdf55262862d4ebe546ae8c8776b1f38e2228ff374a52ddc37cf018c120d3e15cc29b9ebc01aee8e94f7f39c81ee7d2d8f7e05da0b6ea090747735e82db5b733212d2b2326f7a784eb1" + +Core modular exponentiation (Mongtomery form only) #992 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"405c4e20039ede5649bc76f5053eae526d57546e8120adb7eb74ddced24e90bb0341d6e852c12364a5acb1d6990380a27fe560d6c0b4b2dbe15ef5f808c72138839d6bf9ebf53aee6e2c5727494972248f72cf4cc30fa3b821d825966f7fc2c31c8bddc874cf1318681e7d16a2dbc1033888245aa68852cadf375a6c4afb372b" + +Core modular exponentiation (Mongtomery form only) #993 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"057679da1f62254bcce3231e3ac4abe761cee5a3e20201260c6972199ef58dd218fde4f0ece95e6f27316c14f009f259626dce062f8f354660321793175563e7d61ac8df9899b3ee7c02d3dc3d9a95e8faf67c43cbe1b683c8a4d9820df53a2bacb9ba374bcea0ad365ed1e0cf30a8061c7af910a249d3a6f5b6d00c3eda5f10" + +Core modular exponentiation (Mongtomery form only) #994 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"4a08ef914250ef6c3c5383415a5d201d33d7b3636be1e7481e2223c54bc4a3f59a4ee1e6fb796c92ca3c102169fbb03f8cf6d35ce8ddf12ee017f5c136ee1c25e09e79c4117c3d09d7adcd2d0eb42635bc4bad1d97d40f4013b117bb8826b68e87ca1c2e4a694b8bf8b2f66e93f97f68afba1e9b48a6486e4dc5d55f938e9165" + +Core modular exponentiation (Mongtomery form only) #995 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2260ee027478faf04bd2fb0a2fb897822d311aa3982f03730dc04aa145912488c047a30bf14728de589dee4a0bb0b54024aa1524ee06836bf4b71fcba512a48e3c4690ef04a9155326b87d8015aafd92c12f06e28a49d8dbae89cdc26a69a2dd3d2eccf54cee2d6dc8a48a323c14afb52e682bcaaa51fcbd40e5795438937275" + +Core modular exponentiation (Mongtomery form only) #996 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"38aa70e5b135f42fbf0714b224529f06076b21834b0bb56f022eddc5e0324f4626fc8dccdc6097d83bb0a974863e4fe125e81efcb549baf3506185b0411e2f3d574b7538cb6e2b9874215790fff2dfb62c955820593b9c0bc0482e5b6482ed371e7edd286687dc490e0df7dc9a677010e986ae4e7f7ed534079b18140b995362" + +Core modular exponentiation (Mongtomery form only) #997 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"397dcbbe51360d92e6de24b85139f616f15ce27473b358fb4a70e7fd6e3e82944b16e81c2491bf3378f28f714c7a20f230fc02c2af833226cc85fb00b4476a77007721eb87b2182335be7745d930b3537d419a05d5d17c2e0e3dee37b5b8b48cb115130bbcbfea6a8ce82437ca90495e3eebedf6019683e6d7e976e1967a25c5" + +Core modular exponentiation (Mongtomery form only) #998 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"45b8009680bfa32684c8d77dc8d83365f2d15a785390e3bdf1f023198b9f62423b95a6a91b8d75d33d01f42156284d89de87473c014cc328e6657c76b6fd1932a6a990dd474b9e4aa245b9e2c4e279322b2d51eecb492ebc7bd87ae8508a9f9e8414ddf3c66ff1472871899fd3866f31ee543148a197b7095b13259702185a4d" + +Core modular exponentiation (Mongtomery form only) #999 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"442c8f4b2e861d8351fbc8af8614ff7ce4184ea896d4ee070f5929497f139467f9bfb1a649e7ce362f1808a2038a0ffe52d5ac29e017f767140e4162cb962f94d1a6e73f2e45afc23b1377c00b4eb500d5f64dc3af7b441954c8ef3da7c180d4f7dab31e45fbf5bb1f95e3e442d12c4cbfe3600af54ae41b1692a19064c1dbc1" + +Core modular exponentiation (Mongtomery form only) #1000 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"5052c341cf7a30dd5e88abc37819eabd1346f5b192dff930087f049746b1c9b9216d078eb50509ae12c3394146c8529ce55b22eb905b912031934ca32eba2667ab74447bbb33beb7889281595073839db6bd3a71bb47c06d37b1ef30b8c229815979a67b3d9aee815fc19bdf22f46cbcace15d240f2b739c90649a7b8bcce7de" + +Core modular exponentiation (Mongtomery form only) #1001 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 ^ f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_core_exp_mod:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"357199f9b213ce7ebf7d90f3aa8f1bd4bb4deefdb15214167d4f6793a73293741e5120c4b984f54047dd34d95c6842afb869064705008b5ae460b3e8a1f5ab643f0dac8f3f0611d1938875944f80f83e09a2ab207040ca825385044843c858c6b1e83f78ca59ccaf405dcd33d1958879c79eafe672d8b167428d9f71a669e71d" + +mbedtls_mpi_core_mla #1 0x0 + 0x0 * 0x0 +mpi_core_mla:"0":"0":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #2 0x0 + 0x0 * 0x3 +mpi_core_mla:"0":"0":"3":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #3 0x0 + 0x0 * 0xfe +mpi_core_mla:"0":"0":"fe":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #4 0x0 + 0x0 * 0xff +mpi_core_mla:"0":"0":"ff":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #5 0x0 + 0x0 * 0xffff +mpi_core_mla:"0":"0":"ffff":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #6 0x0 + 0x0 * 0x10000 +mpi_core_mla:"0":"0":"10000":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #7 0x0 + 0x0 * 0xffffffff +mpi_core_mla:"0":"0":"ffffffff":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #8 0x0 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"0":"100000000":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #9 0x0 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"0":"7f7f7f7f7f7f7f7f":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #10 0x0 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"0":"8000000000000000":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #11 0x0 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"0":"fffffffffffffffe":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #12 0x0 + 0x1 * 0x0 +mpi_core_mla:"0":"1":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #13 0x0 + 0x1 * 0x3 +mpi_core_mla:"0":"1":"3":"3":"0":"3":"0" + +mbedtls_mpi_core_mla #14 0x0 + 0x1 * 0xfe +mpi_core_mla:"0":"1":"fe":"fe":"0":"fe":"0" + +mbedtls_mpi_core_mla #15 0x0 + 0x1 * 0xff +mpi_core_mla:"0":"1":"ff":"ff":"0":"ff":"0" + +mbedtls_mpi_core_mla #16 0x0 + 0x1 * 0xffff +mpi_core_mla:"0":"1":"ffff":"ffff":"0":"ffff":"0" + +mbedtls_mpi_core_mla #17 0x0 + 0x1 * 0x10000 +mpi_core_mla:"0":"1":"10000":"10000":"0":"10000":"0" + +mbedtls_mpi_core_mla #18 0x0 + 0x1 * 0xffffffff +mpi_core_mla:"0":"1":"ffffffff":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #19 0x0 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1":"100000000":"0":"1":"100000000":"0" + +mbedtls_mpi_core_mla #20 0x0 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1":"7f7f7f7f7f7f7f7f":"7f7f7f7f":"7f7f7f7f":"7f7f7f7f7f7f7f7f":"0" + +mbedtls_mpi_core_mla #21 0x0 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1":"8000000000000000":"0":"80000000":"8000000000000000":"0" + +mbedtls_mpi_core_mla #22 0x0 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1":"fffffffffffffffe":"fffffffe":"ffffffff":"fffffffffffffffe":"0" + +mbedtls_mpi_core_mla #23 0x0 + 0xfffe * 0x0 +mpi_core_mla:"0":"fffe":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #24 0x0 + 0xfffe * 0x3 +mpi_core_mla:"0":"fffe":"3":"2fffa":"0":"2fffa":"0" + +mbedtls_mpi_core_mla #25 0x0 + 0xfffe * 0xfe +mpi_core_mla:"0":"fffe":"fe":"fdfe04":"0":"fdfe04":"0" + +mbedtls_mpi_core_mla #26 0x0 + 0xfffe * 0xff +mpi_core_mla:"0":"fffe":"ff":"fefe02":"0":"fefe02":"0" + +mbedtls_mpi_core_mla #27 0x0 + 0xfffe * 0xffff +mpi_core_mla:"0":"fffe":"ffff":"fffd0002":"0":"fffd0002":"0" + +mbedtls_mpi_core_mla #28 0x0 + 0xfffe * 0x10000 +mpi_core_mla:"0":"fffe":"10000":"fffe0000":"0":"fffe0000":"0" + +mbedtls_mpi_core_mla #29 0x0 + 0xfffe * 0xffffffff +mpi_core_mla:"0":"fffe":"ffffffff":"ffff0002":"fffd":"fffdffff0002":"0" + +mbedtls_mpi_core_mla #30 0x0 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffe":"100000000":"0":"fffe":"fffe00000000":"0" + +mbedtls_mpi_core_mla #31 0x0 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffe":"7f7f7f7f7f7f7f7f":"80800102":"7f7e80808080":"8080808080800102":"7f7e" + +mbedtls_mpi_core_mla #32 0x0 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffe":"8000000000000000":"0":"7fff00000000":"0":"7fff" + +mbedtls_mpi_core_mla #33 0x0 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffe":"fffffffffffffffe":"fffe0004":"fffdffffffff":"fffffffffffe0004":"fffd" + +mbedtls_mpi_core_mla #34 0x0 + 0xffffffff * 0x0 +mpi_core_mla:"0":"ffffffff":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #35 0x0 + 0xffffffff * 0x3 +mpi_core_mla:"0":"ffffffff":"3":"fffffffd":"2":"2fffffffd":"0" + +mbedtls_mpi_core_mla #36 0x0 + 0xffffffff * 0xfe +mpi_core_mla:"0":"ffffffff":"fe":"ffffff02":"fd":"fdffffff02":"0" + +mbedtls_mpi_core_mla #37 0x0 + 0xffffffff * 0xff +mpi_core_mla:"0":"ffffffff":"ff":"ffffff01":"fe":"feffffff01":"0" + +mbedtls_mpi_core_mla #38 0x0 + 0xffffffff * 0xffff +mpi_core_mla:"0":"ffffffff":"ffff":"ffff0001":"fffe":"fffeffff0001":"0" + +mbedtls_mpi_core_mla #39 0x0 + 0xffffffff * 0x10000 +mpi_core_mla:"0":"ffffffff":"10000":"ffff0000":"ffff":"ffffffff0000":"0" + +mbedtls_mpi_core_mla #40 0x0 + 0xffffffff * 0xffffffff +mpi_core_mla:"0":"ffffffff":"ffffffff":"1":"fffffffe":"fffffffe00000001":"0" + +mbedtls_mpi_core_mla #41 0x0 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffff":"100000000":"0":"ffffffff":"ffffffff00000000":"0" + +mbedtls_mpi_core_mla #42 0x0 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffff":"7f7f7f7f7f7f7f7f":"80808081":"7f7f7f7effffffff":"ffffffff80808081":"7f7f7f7e" + +mbedtls_mpi_core_mla #43 0x0 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffff":"8000000000000000":"0":"7fffffff80000000":"8000000000000000":"7fffffff" + +mbedtls_mpi_core_mla #44 0x0 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffff":"fffffffffffffffe":"2":"fffffffefffffffe":"fffffffe00000002":"fffffffe" + +mbedtls_mpi_core_mla #45 0x0 + 0x100000000 * 0x0 +mpi_core_mla:"0":"100000000":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #46 0x0 + 0x100000000 * 0x3 +mpi_core_mla:"0":"100000000":"3":"300000000":"0":"300000000":"0" + +mbedtls_mpi_core_mla #47 0x0 + 0x100000000 * 0xfe +mpi_core_mla:"0":"100000000":"fe":"fe00000000":"0":"fe00000000":"0" + +mbedtls_mpi_core_mla #48 0x0 + 0x100000000 * 0xff +mpi_core_mla:"0":"100000000":"ff":"ff00000000":"0":"ff00000000":"0" + +mbedtls_mpi_core_mla #49 0x0 + 0x100000000 * 0xffff +mpi_core_mla:"0":"100000000":"ffff":"ffff00000000":"0":"ffff00000000":"0" + +mbedtls_mpi_core_mla #50 0x0 + 0x100000000 * 0x10000 +mpi_core_mla:"0":"100000000":"10000":"1000000000000":"0":"1000000000000":"0" + +mbedtls_mpi_core_mla #51 0x0 + 0x100000000 * 0xffffffff +mpi_core_mla:"0":"100000000":"ffffffff":"ffffffff00000000":"0":"ffffffff00000000":"0" + +mbedtls_mpi_core_mla #52 0x0 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000":"100000000":"0":"1":"0":"1" + +mbedtls_mpi_core_mla #53 0x0 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000":"7f7f7f7f":"7f7f7f7f00000000":"7f7f7f7f" + +mbedtls_mpi_core_mla #54 0x0 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000":"8000000000000000":"0":"80000000":"0":"80000000" + +mbedtls_mpi_core_mla #55 0x0 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000":"fffffffffffffffe":"fffffffe00000000":"ffffffff":"fffffffe00000000":"ffffffff" + +mbedtls_mpi_core_mla #56 0x0 + 0x20000000000000 * 0x0 +mpi_core_mla:"0":"20000000000000":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #57 0x0 + 0x20000000000000 * 0x3 +mpi_core_mla:"0":"20000000000000":"3":"60000000000000":"0":"60000000000000":"0" + +mbedtls_mpi_core_mla #58 0x0 + 0x20000000000000 * 0xfe +mpi_core_mla:"0":"20000000000000":"fe":"1fc0000000000000":"0":"1fc0000000000000":"0" + +mbedtls_mpi_core_mla #59 0x0 + 0x20000000000000 * 0xff +mpi_core_mla:"0":"20000000000000":"ff":"1fe0000000000000":"0":"1fe0000000000000":"0" + +mbedtls_mpi_core_mla #60 0x0 + 0x20000000000000 * 0xffff +mpi_core_mla:"0":"20000000000000":"ffff":"ffe0000000000000":"1f":"ffe0000000000000":"1f" + +mbedtls_mpi_core_mla #61 0x0 + 0x20000000000000 * 0x10000 +mpi_core_mla:"0":"20000000000000":"10000":"0":"20":"0":"20" + +mbedtls_mpi_core_mla #62 0x0 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"0":"20000000000000":"ffffffff":"ffe0000000000000":"1fffff":"ffe0000000000000":"1fffff" + +mbedtls_mpi_core_mla #63 0x0 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"20000000000000":"100000000":"0":"200000":"0":"200000" + +mbedtls_mpi_core_mla #64 0x0 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"20000000000000":"7f7f7f7f7f7f7f7f":"efe0000000000000":"fefefefefefef":"efe0000000000000":"fefefefefefef" + +mbedtls_mpi_core_mla #65 0x0 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"20000000000000":"8000000000000000":"0":"10000000000000":"0":"10000000000000" + +mbedtls_mpi_core_mla #66 0x0 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"20000000000000":"fffffffffffffffe":"ffc0000000000000":"1fffffffffffff":"ffc0000000000000":"1fffffffffffff" + +mbedtls_mpi_core_mla #67 0x0 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"0":"ffffffffffffffff":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #68 0x0 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"0":"ffffffffffffffff":"3":"fffffffffffffffd":"2":"fffffffffffffffd":"2" + +mbedtls_mpi_core_mla #69 0x0 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"0":"ffffffffffffffff":"fe":"ffffffffffffff02":"fd":"ffffffffffffff02":"fd" + +mbedtls_mpi_core_mla #70 0x0 + 0xffffffffffffffff * 0xff +mpi_core_mla:"0":"ffffffffffffffff":"ff":"ffffffffffffff01":"fe":"ffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #71 0x0 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"0":"ffffffffffffffff":"ffff":"ffffffffffff0001":"fffe":"ffffffffffff0001":"fffe" + +mbedtls_mpi_core_mla #72 0x0 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"0":"ffffffffffffffff":"10000":"ffffffffffff0000":"ffff":"ffffffffffff0000":"ffff" + +mbedtls_mpi_core_mla #73 0x0 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"0":"ffffffffffffffff":"ffffffff":"ffffffff00000001":"fffffffe":"ffffffff00000001":"fffffffe" + +mbedtls_mpi_core_mla #74 0x0 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffff":"100000000":"ffffffff00000000":"ffffffff":"ffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #75 0x0 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808080808081":"7f7f7f7f7f7f7f7e":"8080808080808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #76 0x0 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffff":"8000000000000000":"8000000000000000":"7fffffffffffffff":"8000000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #77 0x0 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffff":"fffffffffffffffe":"2":"fffffffffffffffd":"2":"fffffffffffffffd" + +mbedtls_mpi_core_mla #78 0x0 + 0x10000000000000000 * 0x0 +mpi_core_mla:"0":"10000000000000000":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #79 0x0 + 0x10000000000000000 * 0x3 +mpi_core_mla:"0":"10000000000000000":"3":"30000000000000000":"0":"30000000000000000":"0" + +mbedtls_mpi_core_mla #80 0x0 + 0x10000000000000000 * 0xfe +mpi_core_mla:"0":"10000000000000000":"fe":"fe0000000000000000":"0":"fe0000000000000000":"0" + +mbedtls_mpi_core_mla #81 0x0 + 0x10000000000000000 * 0xff +mpi_core_mla:"0":"10000000000000000":"ff":"ff0000000000000000":"0":"ff0000000000000000":"0" + +mbedtls_mpi_core_mla #82 0x0 + 0x10000000000000000 * 0xffff +mpi_core_mla:"0":"10000000000000000":"ffff":"ffff0000000000000000":"0":"ffff0000000000000000":"0" + +mbedtls_mpi_core_mla #83 0x0 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"0":"10000000000000000":"10000":"100000000000000000000":"0":"100000000000000000000":"0" + +mbedtls_mpi_core_mla #84 0x0 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"0":"10000000000000000":"ffffffff":"ffffffff0000000000000000":"0":"ffffffff0000000000000000":"0" + +mbedtls_mpi_core_mla #85 0x0 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"10000000000000000":"100000000":"0":"1":"1000000000000000000000000":"0" + +mbedtls_mpi_core_mla #86 0x0 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000000000000":"0" + +mbedtls_mpi_core_mla #87 0x0 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"10000000000000000":"8000000000000000":"0":"80000000":"80000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #88 0x0 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"10000000000000000":"fffffffffffffffe":"fffffffe0000000000000000":"ffffffff":"fffffffffffffffe0000000000000000":"0" + +mbedtls_mpi_core_mla #89 0x0 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"0":"1234567890abcdef0":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #90 0x0 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"0":"1234567890abcdef0":"3":"369d0369b20369cd0":"0":"369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #91 0x0 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"0":"1234567890abcdef0":"fe":"120fedcb9f8a7653220":"0":"120fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #92 0x0 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"0":"1234567890abcdef0":"ff":"12222222181b2221110":"0":"12222222181b2221110":"0" + +mbedtls_mpi_core_mla #93 0x0 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"0":"1234567890abcdef0":"ffff":"123444443a333d4332110":"0":"123444443a333d4332110":"0" + +mbedtls_mpi_core_mla #94 0x0 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"0":"1234567890abcdef0":"10000":"1234567890abcdef00000":"0":"1234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #95 0x0 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"0":"1234567890abcdef0":"ffffffff":"23456787e7777766f5432110":"1":"123456787e7777766f5432110":"0" + +mbedtls_mpi_core_mla #96 0x0 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef0":"100000000":"234567890abcdef000000000":"1":"1234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #97 0x0 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f67708abaf5ba910":"91107edb":"91107edbd82bde76f67708abaf5ba910":"0" + +mbedtls_mpi_core_mla #98 0x0 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef0":"8000000000000000":"855e6f780000000000000000":"91a2b3c4":"91a2b3c4855e6f780000000000000000":"0" + +mbedtls_mpi_core_mla #99 0x0 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb97530edea864220":"123456789":"234567890abcdeedb97530edea864220":"1" + +mbedtls_mpi_core_mla #100 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #101 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffcfcfcfcfcfcfcfa":"2":"fffffffffffffffffcfcfcfcfcfcfcfa":"2" + +mbedtls_mpi_core_mla #102 0x0 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0101010101010004":"fd":"ffffffffffffffff0101010101010004":"fd" + +mbedtls_mpi_core_mla #103 0x0 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"ff":"fffffffffffffffeffffffffffffff02":"fe":"fffffffffffffffeffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #104 0x0 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffefeffffffffffff0102":"fffe":"fffffffffffffefeffffffffffff0102":"fffe" + +mbedtls_mpi_core_mla #105 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefefefefefefe0000":"ffff":"fffffffffffffefefefefefefefe0000":"ffff" + +mbedtls_mpi_core_mla #106 0x0 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefefeffffffff01010102":"fffffffe":"fffffffffefefefeffffffff01010102":"fffffffe" + +mbedtls_mpi_core_mla #107 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefefe00000000":"ffffffff":"fffffffffefefefefefefefe00000000":"ffffffff" + +mbedtls_mpi_core_mla #108 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828504840383028202":"7f7f7f7f7f7f7f7e":"ff800081018202828504840383028202":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #109 0x0 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f0000000000000000":"7fffffffffffffff":"ff7f7f7f7f7f7f7f0000000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #110 0x0 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0202020202020204":"fffffffffffffffd":"fefefefefefefefe0202020202020204":"fffffffffffffffd" + +mbedtls_mpi_core_mla #111 0x0 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"0":"100000000000000000000000000000000":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #112 0x0 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"0":"100000000000000000000000000000000":"3":"300000000000000000000000000000000":"0":"300000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #113 0x0 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"0":"100000000000000000000000000000000":"fe":"fe00000000000000000000000000000000":"0":"fe00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #114 0x0 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"0":"100000000000000000000000000000000":"ff":"ff00000000000000000000000000000000":"0":"ff00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #115 0x0 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"0":"100000000000000000000000000000000":"ffff":"ffff00000000000000000000000000000000":"0":"ffff00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #116 0x0 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"0":"100000000000000000000000000000000":"10000":"1000000000000000000000000000000000000":"0":"1000000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #117 0x0 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"0":"100000000000000000000000000000000":"ffffffff":"ffffffff00000000000000000000000000000000":"0":"ffffffff00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #118 0x0 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000000000000000000000000000":"100000000":"0":"1":"10000000000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #119 0x0 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000000000000000000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #120 0x0 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000000000000000000000000000":"8000000000000000":"0":"80000000":"800000000000000000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #121 0x0 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe00000000000000000000000000000000":"ffffffff":"fffffffffffffffe00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #122 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #123 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #124 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a7653220":"0":"120fedcb9f8a76532320fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #125 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221110":"0":"12222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #126 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d4332110":"0":"123444443a333d433334444443a333d4332110":"0" + +mbedtls_mpi_core_mla #127 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #128 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7777766f5432110":"12":"123456787e7777767077777887e7777766f5432110":"0" + +mbedtls_mpi_core_mla #129 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890abcdef000000000":"12":"1234567890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #130 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f67708abaf5ba910":"91107edbd":"1107edbd82bde76ff8810996cde66f76f67708abaf5ba910":"9" + +mbedtls_mpi_core_mla #131 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f780000000000000000":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f780000000000000000":"9" + +mbedtls_mpi_core_mla #132 0x0 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb97530edea864220":"1234567890":"34567890abcdeedcba987667b32100edb97530edea864220":"12" + +mbedtls_mpi_core_mla #133 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #134 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd":"2":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd":"2" + +mbedtls_mpi_core_mla #135 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02":"fd":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02":"fd" + +mbedtls_mpi_core_mla #136 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #137 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001":"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001":"fffe" + +mbedtls_mpi_core_mla #138 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000":"ffff" + +mbedtls_mpi_core_mla #139 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001":"fffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001":"fffffffe" + +mbedtls_mpi_core_mla #140 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #141 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808081":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #142 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #143 0x0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000002":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000002":"fffffffffffffffd" + +mbedtls_mpi_core_mla #144 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #145 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #146 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653220":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #147 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110":"0":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #148 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110":"0":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332110":"0" + +mbedtls_mpi_core_mla #149 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #150 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432110":"0" + +mbedtls_mpi_core_mla #151 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #152 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba910":"911" + +mbedtls_mpi_core_mla #153 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000000":"91a" + +mbedtls_mpi_core_mla #154 0x0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea864220":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea864220":"1234" + +mbedtls_mpi_core_mla #155 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"0":"0":"0":"0" + +mbedtls_mpi_core_mla #156 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641381":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641381":"0" + +mbedtls_mpi_core_mla #157 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8aa":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8aa":"0" + +mbedtls_mpi_core_mla #158 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5":"0" + +mbedtls_mpi_core_mla #159 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed5":"0" + +mbedtls_mpi_core_mla #160 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000":"0" + +mbedtls_mpi_core_mla #161 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed5":"4" + +mbedtls_mpi_core_mla #162 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000":"4" + +mbedtls_mpi_core_mla #163 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3955":"26d473ca9" + +mbedtls_mpi_core_mla #164 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000000":"26fb9683d" + +mbedtls_mpi_core_mla #165 0x0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129daa":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129daa":"4df72d07b" + +mbedtls_mpi_core_mla #166 0x1 + 0x0 * 0x0 +mpi_core_mla:"1":"0":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #167 0x1 + 0x0 * 0x3 +mpi_core_mla:"1":"0":"3":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #168 0x1 + 0x0 * 0xfe +mpi_core_mla:"1":"0":"fe":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #169 0x1 + 0x0 * 0xff +mpi_core_mla:"1":"0":"ff":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #170 0x1 + 0x0 * 0xffff +mpi_core_mla:"1":"0":"ffff":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #171 0x1 + 0x0 * 0x10000 +mpi_core_mla:"1":"0":"10000":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #172 0x1 + 0x0 * 0xffffffff +mpi_core_mla:"1":"0":"ffffffff":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #173 0x1 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"0":"100000000":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #174 0x1 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"0":"7f7f7f7f7f7f7f7f":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #175 0x1 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"0":"8000000000000000":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #176 0x1 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"0":"fffffffffffffffe":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #177 0x1 + 0x1 * 0x0 +mpi_core_mla:"1":"1":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #178 0x1 + 0x1 * 0x3 +mpi_core_mla:"1":"1":"3":"4":"0":"4":"0" + +mbedtls_mpi_core_mla #179 0x1 + 0x1 * 0xfe +mpi_core_mla:"1":"1":"fe":"ff":"0":"ff":"0" + +mbedtls_mpi_core_mla #180 0x1 + 0x1 * 0xff +mpi_core_mla:"1":"1":"ff":"100":"0":"100":"0" + +mbedtls_mpi_core_mla #181 0x1 + 0x1 * 0xffff +mpi_core_mla:"1":"1":"ffff":"10000":"0":"10000":"0" + +mbedtls_mpi_core_mla #182 0x1 + 0x1 * 0x10000 +mpi_core_mla:"1":"1":"10000":"10001":"0":"10001":"0" + +mbedtls_mpi_core_mla #183 0x1 + 0x1 * 0xffffffff +mpi_core_mla:"1":"1":"ffffffff":"0":"1":"100000000":"0" + +mbedtls_mpi_core_mla #184 0x1 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1":"100000000":"1":"1":"100000001":"0" + +mbedtls_mpi_core_mla #185 0x1 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1":"7f7f7f7f7f7f7f7f":"7f7f7f80":"7f7f7f7f":"7f7f7f7f7f7f7f80":"0" + +mbedtls_mpi_core_mla #186 0x1 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1":"8000000000000000":"1":"80000000":"8000000000000001":"0" + +mbedtls_mpi_core_mla #187 0x1 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1":"fffffffffffffffe":"ffffffff":"ffffffff":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #188 0x1 + 0xfffe * 0x0 +mpi_core_mla:"1":"fffe":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #189 0x1 + 0xfffe * 0x3 +mpi_core_mla:"1":"fffe":"3":"2fffb":"0":"2fffb":"0" + +mbedtls_mpi_core_mla #190 0x1 + 0xfffe * 0xfe +mpi_core_mla:"1":"fffe":"fe":"fdfe05":"0":"fdfe05":"0" + +mbedtls_mpi_core_mla #191 0x1 + 0xfffe * 0xff +mpi_core_mla:"1":"fffe":"ff":"fefe03":"0":"fefe03":"0" + +mbedtls_mpi_core_mla #192 0x1 + 0xfffe * 0xffff +mpi_core_mla:"1":"fffe":"ffff":"fffd0003":"0":"fffd0003":"0" + +mbedtls_mpi_core_mla #193 0x1 + 0xfffe * 0x10000 +mpi_core_mla:"1":"fffe":"10000":"fffe0001":"0":"fffe0001":"0" + +mbedtls_mpi_core_mla #194 0x1 + 0xfffe * 0xffffffff +mpi_core_mla:"1":"fffe":"ffffffff":"ffff0003":"fffd":"fffdffff0003":"0" + +mbedtls_mpi_core_mla #195 0x1 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffe":"100000000":"1":"fffe":"fffe00000001":"0" + +mbedtls_mpi_core_mla #196 0x1 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffe":"7f7f7f7f7f7f7f7f":"80800103":"7f7e80808080":"8080808080800103":"7f7e" + +mbedtls_mpi_core_mla #197 0x1 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffe":"8000000000000000":"1":"7fff00000000":"1":"7fff" + +mbedtls_mpi_core_mla #198 0x1 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffe":"fffffffffffffffe":"fffe0005":"fffdffffffff":"fffffffffffe0005":"fffd" + +mbedtls_mpi_core_mla #199 0x1 + 0xffffffff * 0x0 +mpi_core_mla:"1":"ffffffff":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #200 0x1 + 0xffffffff * 0x3 +mpi_core_mla:"1":"ffffffff":"3":"fffffffe":"2":"2fffffffe":"0" + +mbedtls_mpi_core_mla #201 0x1 + 0xffffffff * 0xfe +mpi_core_mla:"1":"ffffffff":"fe":"ffffff03":"fd":"fdffffff03":"0" + +mbedtls_mpi_core_mla #202 0x1 + 0xffffffff * 0xff +mpi_core_mla:"1":"ffffffff":"ff":"ffffff02":"fe":"feffffff02":"0" + +mbedtls_mpi_core_mla #203 0x1 + 0xffffffff * 0xffff +mpi_core_mla:"1":"ffffffff":"ffff":"ffff0002":"fffe":"fffeffff0002":"0" + +mbedtls_mpi_core_mla #204 0x1 + 0xffffffff * 0x10000 +mpi_core_mla:"1":"ffffffff":"10000":"ffff0001":"ffff":"ffffffff0001":"0" + +mbedtls_mpi_core_mla #205 0x1 + 0xffffffff * 0xffffffff +mpi_core_mla:"1":"ffffffff":"ffffffff":"2":"fffffffe":"fffffffe00000002":"0" + +mbedtls_mpi_core_mla #206 0x1 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffff":"100000000":"1":"ffffffff":"ffffffff00000001":"0" + +mbedtls_mpi_core_mla #207 0x1 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffff":"7f7f7f7f7f7f7f7f":"80808082":"7f7f7f7effffffff":"ffffffff80808082":"7f7f7f7e" + +mbedtls_mpi_core_mla #208 0x1 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffff":"8000000000000000":"1":"7fffffff80000000":"8000000000000001":"7fffffff" + +mbedtls_mpi_core_mla #209 0x1 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffff":"fffffffffffffffe":"3":"fffffffefffffffe":"fffffffe00000003":"fffffffe" + +mbedtls_mpi_core_mla #210 0x1 + 0x100000000 * 0x0 +mpi_core_mla:"1":"100000000":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #211 0x1 + 0x100000000 * 0x3 +mpi_core_mla:"1":"100000000":"3":"300000001":"0":"300000001":"0" + +mbedtls_mpi_core_mla #212 0x1 + 0x100000000 * 0xfe +mpi_core_mla:"1":"100000000":"fe":"fe00000001":"0":"fe00000001":"0" + +mbedtls_mpi_core_mla #213 0x1 + 0x100000000 * 0xff +mpi_core_mla:"1":"100000000":"ff":"ff00000001":"0":"ff00000001":"0" + +mbedtls_mpi_core_mla #214 0x1 + 0x100000000 * 0xffff +mpi_core_mla:"1":"100000000":"ffff":"ffff00000001":"0":"ffff00000001":"0" + +mbedtls_mpi_core_mla #215 0x1 + 0x100000000 * 0x10000 +mpi_core_mla:"1":"100000000":"10000":"1000000000001":"0":"1000000000001":"0" + +mbedtls_mpi_core_mla #216 0x1 + 0x100000000 * 0xffffffff +mpi_core_mla:"1":"100000000":"ffffffff":"ffffffff00000001":"0":"ffffffff00000001":"0" + +mbedtls_mpi_core_mla #217 0x1 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000":"100000000":"1":"1":"1":"1" + +mbedtls_mpi_core_mla #218 0x1 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000001":"7f7f7f7f":"7f7f7f7f00000001":"7f7f7f7f" + +mbedtls_mpi_core_mla #219 0x1 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000":"8000000000000000":"1":"80000000":"1":"80000000" + +mbedtls_mpi_core_mla #220 0x1 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000":"fffffffffffffffe":"fffffffe00000001":"ffffffff":"fffffffe00000001":"ffffffff" + +mbedtls_mpi_core_mla #221 0x1 + 0x20000000000000 * 0x0 +mpi_core_mla:"1":"20000000000000":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #222 0x1 + 0x20000000000000 * 0x3 +mpi_core_mla:"1":"20000000000000":"3":"60000000000001":"0":"60000000000001":"0" + +mbedtls_mpi_core_mla #223 0x1 + 0x20000000000000 * 0xfe +mpi_core_mla:"1":"20000000000000":"fe":"1fc0000000000001":"0":"1fc0000000000001":"0" + +mbedtls_mpi_core_mla #224 0x1 + 0x20000000000000 * 0xff +mpi_core_mla:"1":"20000000000000":"ff":"1fe0000000000001":"0":"1fe0000000000001":"0" + +mbedtls_mpi_core_mla #225 0x1 + 0x20000000000000 * 0xffff +mpi_core_mla:"1":"20000000000000":"ffff":"ffe0000000000001":"1f":"ffe0000000000001":"1f" + +mbedtls_mpi_core_mla #226 0x1 + 0x20000000000000 * 0x10000 +mpi_core_mla:"1":"20000000000000":"10000":"1":"20":"1":"20" + +mbedtls_mpi_core_mla #227 0x1 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"1":"20000000000000":"ffffffff":"ffe0000000000001":"1fffff":"ffe0000000000001":"1fffff" + +mbedtls_mpi_core_mla #228 0x1 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"20000000000000":"100000000":"1":"200000":"1":"200000" + +mbedtls_mpi_core_mla #229 0x1 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"20000000000000":"7f7f7f7f7f7f7f7f":"efe0000000000001":"fefefefefefef":"efe0000000000001":"fefefefefefef" + +mbedtls_mpi_core_mla #230 0x1 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"20000000000000":"8000000000000000":"1":"10000000000000":"1":"10000000000000" + +mbedtls_mpi_core_mla #231 0x1 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"20000000000000":"fffffffffffffffe":"ffc0000000000001":"1fffffffffffff":"ffc0000000000001":"1fffffffffffff" + +mbedtls_mpi_core_mla #232 0x1 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"1":"ffffffffffffffff":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #233 0x1 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"1":"ffffffffffffffff":"3":"fffffffffffffffe":"2":"fffffffffffffffe":"2" + +mbedtls_mpi_core_mla #234 0x1 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"1":"ffffffffffffffff":"fe":"ffffffffffffff03":"fd":"ffffffffffffff03":"fd" + +mbedtls_mpi_core_mla #235 0x1 + 0xffffffffffffffff * 0xff +mpi_core_mla:"1":"ffffffffffffffff":"ff":"ffffffffffffff02":"fe":"ffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #236 0x1 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"1":"ffffffffffffffff":"ffff":"ffffffffffff0002":"fffe":"ffffffffffff0002":"fffe" + +mbedtls_mpi_core_mla #237 0x1 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"1":"ffffffffffffffff":"10000":"ffffffffffff0001":"ffff":"ffffffffffff0001":"ffff" + +mbedtls_mpi_core_mla #238 0x1 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"1":"ffffffffffffffff":"ffffffff":"ffffffff00000002":"fffffffe":"ffffffff00000002":"fffffffe" + +mbedtls_mpi_core_mla #239 0x1 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffff":"100000000":"ffffffff00000001":"ffffffff":"ffffffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #240 0x1 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808080808082":"7f7f7f7f7f7f7f7e":"8080808080808082":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #241 0x1 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffff":"8000000000000000":"8000000000000001":"7fffffffffffffff":"8000000000000001":"7fffffffffffffff" + +mbedtls_mpi_core_mla #242 0x1 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffff":"fffffffffffffffe":"3":"fffffffffffffffd":"3":"fffffffffffffffd" + +mbedtls_mpi_core_mla #243 0x1 + 0x10000000000000000 * 0x0 +mpi_core_mla:"1":"10000000000000000":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #244 0x1 + 0x10000000000000000 * 0x3 +mpi_core_mla:"1":"10000000000000000":"3":"30000000000000001":"0":"30000000000000001":"0" + +mbedtls_mpi_core_mla #245 0x1 + 0x10000000000000000 * 0xfe +mpi_core_mla:"1":"10000000000000000":"fe":"fe0000000000000001":"0":"fe0000000000000001":"0" + +mbedtls_mpi_core_mla #246 0x1 + 0x10000000000000000 * 0xff +mpi_core_mla:"1":"10000000000000000":"ff":"ff0000000000000001":"0":"ff0000000000000001":"0" + +mbedtls_mpi_core_mla #247 0x1 + 0x10000000000000000 * 0xffff +mpi_core_mla:"1":"10000000000000000":"ffff":"ffff0000000000000001":"0":"ffff0000000000000001":"0" + +mbedtls_mpi_core_mla #248 0x1 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"1":"10000000000000000":"10000":"100000000000000000001":"0":"100000000000000000001":"0" + +mbedtls_mpi_core_mla #249 0x1 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"1":"10000000000000000":"ffffffff":"ffffffff0000000000000001":"0":"ffffffff0000000000000001":"0" + +mbedtls_mpi_core_mla #250 0x1 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"10000000000000000":"100000000":"1":"1":"1000000000000000000000001":"0" + +mbedtls_mpi_core_mla #251 0x1 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000000000001":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000000000001":"0" + +mbedtls_mpi_core_mla #252 0x1 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"10000000000000000":"8000000000000000":"1":"80000000":"80000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #253 0x1 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"10000000000000000":"fffffffffffffffe":"fffffffe0000000000000001":"ffffffff":"fffffffffffffffe0000000000000001":"0" + +mbedtls_mpi_core_mla #254 0x1 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"1":"1234567890abcdef0":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #255 0x1 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"1":"1234567890abcdef0":"3":"369d0369b20369cd1":"0":"369d0369b20369cd1":"0" + +mbedtls_mpi_core_mla #256 0x1 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"1":"1234567890abcdef0":"fe":"120fedcb9f8a7653221":"0":"120fedcb9f8a7653221":"0" + +mbedtls_mpi_core_mla #257 0x1 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"1":"1234567890abcdef0":"ff":"12222222181b2221111":"0":"12222222181b2221111":"0" + +mbedtls_mpi_core_mla #258 0x1 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"1":"1234567890abcdef0":"ffff":"123444443a333d4332111":"0":"123444443a333d4332111":"0" + +mbedtls_mpi_core_mla #259 0x1 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"1":"1234567890abcdef0":"10000":"1234567890abcdef00001":"0":"1234567890abcdef00001":"0" + +mbedtls_mpi_core_mla #260 0x1 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"1":"1234567890abcdef0":"ffffffff":"23456787e7777766f5432111":"1":"123456787e7777766f5432111":"0" + +mbedtls_mpi_core_mla #261 0x1 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef0":"100000000":"234567890abcdef000000001":"1":"1234567890abcdef000000001":"0" + +mbedtls_mpi_core_mla #262 0x1 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f67708abaf5ba911":"91107edb":"91107edbd82bde76f67708abaf5ba911":"0" + +mbedtls_mpi_core_mla #263 0x1 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef0":"8000000000000000":"855e6f780000000000000001":"91a2b3c4":"91a2b3c4855e6f780000000000000001":"0" + +mbedtls_mpi_core_mla #264 0x1 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb97530edea864221":"123456789":"234567890abcdeedb97530edea864221":"1" + +mbedtls_mpi_core_mla #265 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #266 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffcfcfcfcfcfcfcfb":"2":"fffffffffffffffffcfcfcfcfcfcfcfb":"2" + +mbedtls_mpi_core_mla #267 0x1 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0101010101010005":"fd":"ffffffffffffffff0101010101010005":"fd" + +mbedtls_mpi_core_mla #268 0x1 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"ff":"fffffffffffffffeffffffffffffff03":"fe":"fffffffffffffffeffffffffffffff03":"fe" + +mbedtls_mpi_core_mla #269 0x1 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffefeffffffffffff0103":"fffe":"fffffffffffffefeffffffffffff0103":"fffe" + +mbedtls_mpi_core_mla #270 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefefefefefefe0001":"ffff":"fffffffffffffefefefefefefefe0001":"ffff" + +mbedtls_mpi_core_mla #271 0x1 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefefeffffffff01010103":"fffffffe":"fffffffffefefefeffffffff01010103":"fffffffe" + +mbedtls_mpi_core_mla #272 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefefe00000001":"ffffffff":"fffffffffefefefefefefefe00000001":"ffffffff" + +mbedtls_mpi_core_mla #273 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828504840383028203":"7f7f7f7f7f7f7f7e":"ff800081018202828504840383028203":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #274 0x1 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f0000000000000001":"7fffffffffffffff":"ff7f7f7f7f7f7f7f0000000000000001":"7fffffffffffffff" + +mbedtls_mpi_core_mla #275 0x1 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0202020202020205":"fffffffffffffffd":"fefefefefefefefe0202020202020205":"fffffffffffffffd" + +mbedtls_mpi_core_mla #276 0x1 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"1":"100000000000000000000000000000000":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #277 0x1 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"1":"100000000000000000000000000000000":"3":"300000000000000000000000000000001":"0":"300000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #278 0x1 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"1":"100000000000000000000000000000000":"fe":"fe00000000000000000000000000000001":"0":"fe00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #279 0x1 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"1":"100000000000000000000000000000000":"ff":"ff00000000000000000000000000000001":"0":"ff00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #280 0x1 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"1":"100000000000000000000000000000000":"ffff":"ffff00000000000000000000000000000001":"0":"ffff00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #281 0x1 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"1":"100000000000000000000000000000000":"10000":"1000000000000000000000000000000000001":"0":"1000000000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #282 0x1 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"1":"100000000000000000000000000000000":"ffffffff":"ffffffff00000000000000000000000000000001":"0":"ffffffff00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #283 0x1 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000000000000000000000000000":"100000000":"1":"1":"10000000000000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #284 0x1 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000000000000000000000000001":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #285 0x1 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000000000000000000000000000":"8000000000000000":"1":"80000000":"800000000000000000000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #286 0x1 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe00000000000000000000000000000001":"ffffffff":"fffffffffffffffe00000000000000000000000000000001":"0" + +mbedtls_mpi_core_mla #287 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #288 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd1":"0":"369d0369b20369cd0369d0369b20369cd1":"0" + +mbedtls_mpi_core_mla #289 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a7653221":"0":"120fedcb9f8a76532320fedcb9f8a7653221":"0" + +mbedtls_mpi_core_mla #290 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221111":"0":"12222222181b2221122222222181b2221111":"0" + +mbedtls_mpi_core_mla #291 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d4332111":"0":"123444443a333d433334444443a333d4332111":"0" + +mbedtls_mpi_core_mla #292 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef00001":"0":"1234567890abcdef01234567890abcdef00001":"0" + +mbedtls_mpi_core_mla #293 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7777766f5432111":"12":"123456787e7777767077777887e7777766f5432111":"0" + +mbedtls_mpi_core_mla #294 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890abcdef000000001":"12":"1234567890abcdef01234567890abcdef000000001":"0" + +mbedtls_mpi_core_mla #295 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f67708abaf5ba911":"91107edbd":"1107edbd82bde76ff8810996cde66f76f67708abaf5ba911":"9" + +mbedtls_mpi_core_mla #296 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f780000000000000001":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f780000000000000001":"9" + +mbedtls_mpi_core_mla #297 0x1 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb97530edea864221":"1234567890":"34567890abcdeedcba987667b32100edb97530edea864221":"12" + +mbedtls_mpi_core_mla #298 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #299 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe":"2":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe":"2" + +mbedtls_mpi_core_mla #300 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03":"fd":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03":"fd" + +mbedtls_mpi_core_mla #301 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #302 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002":"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002":"fffe" + +mbedtls_mpi_core_mla #303 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001":"ffff" + +mbedtls_mpi_core_mla #304 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000002":"fffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000002":"fffffffe" + +mbedtls_mpi_core_mla #305 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #306 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808082":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808082":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #307 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000001":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000001":"7fffffffffffffff" + +mbedtls_mpi_core_mla #308 0x1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000003":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000003":"fffffffffffffffd" + +mbedtls_mpi_core_mla #309 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #310 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369cd1":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369cd1":"0" + +mbedtls_mpi_core_mla #311 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653221":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653221":"0" + +mbedtls_mpi_core_mla #312 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221111":"0":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221111":"0" + +mbedtls_mpi_core_mla #313 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332111":"0":"123444443a333d433334444443a333d433334444443a333d433334444443a333d4332111":"0" + +mbedtls_mpi_core_mla #314 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00001":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00001":"0" + +mbedtls_mpi_core_mla #315 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7777766f5432111":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7777766f5432111":"0" + +mbedtls_mpi_core_mla #316 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000001":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000001":"0" + +mbedtls_mpi_core_mla #317 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba911":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba911":"911" + +mbedtls_mpi_core_mla #318 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000001":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000000000001":"91a" + +mbedtls_mpi_core_mla #319 0x1 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea864221":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea864221":"1234" + +mbedtls_mpi_core_mla #320 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"1":"0":"1":"0" + +mbedtls_mpi_core_mla #321 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641382":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641382":"0" + +mbedtls_mpi_core_mla #322 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8ab":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8ab":"0" + +mbedtls_mpi_core_mla #323 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d6":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d6":"0" + +mbedtls_mpi_core_mla #324 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed6":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed6":"0" + +mbedtls_mpi_core_mla #325 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0001":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0001":"0" + +mbedtls_mpi_core_mla #326 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed6":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed6":"4" + +mbedtls_mpi_core_mla #327 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000001":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000001":"4" + +mbedtls_mpi_core_mla #328 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3956":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3956":"26d473ca9" + +mbedtls_mpi_core_mla #329 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000001":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000000000001":"26fb9683d" + +mbedtls_mpi_core_mla #330 0x1 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129dab":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129dab":"4df72d07b" + +mbedtls_mpi_core_mla #331 0xfffe + 0x0 * 0x0 +mpi_core_mla:"fffe":"0":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #332 0xfffe + 0x0 * 0x3 +mpi_core_mla:"fffe":"0":"3":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #333 0xfffe + 0x0 * 0xfe +mpi_core_mla:"fffe":"0":"fe":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #334 0xfffe + 0x0 * 0xff +mpi_core_mla:"fffe":"0":"ff":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #335 0xfffe + 0x0 * 0xffff +mpi_core_mla:"fffe":"0":"ffff":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #336 0xfffe + 0x0 * 0x10000 +mpi_core_mla:"fffe":"0":"10000":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #337 0xfffe + 0x0 * 0xffffffff +mpi_core_mla:"fffe":"0":"ffffffff":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #338 0xfffe + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"0":"100000000":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #339 0xfffe + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"0":"7f7f7f7f7f7f7f7f":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #340 0xfffe + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"0":"8000000000000000":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #341 0xfffe + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"0":"fffffffffffffffe":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #342 0xfffe + 0x1 * 0x0 +mpi_core_mla:"fffe":"1":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #343 0xfffe + 0x1 * 0x3 +mpi_core_mla:"fffe":"1":"3":"10001":"0":"10001":"0" + +mbedtls_mpi_core_mla #344 0xfffe + 0x1 * 0xfe +mpi_core_mla:"fffe":"1":"fe":"100fc":"0":"100fc":"0" + +mbedtls_mpi_core_mla #345 0xfffe + 0x1 * 0xff +mpi_core_mla:"fffe":"1":"ff":"100fd":"0":"100fd":"0" + +mbedtls_mpi_core_mla #346 0xfffe + 0x1 * 0xffff +mpi_core_mla:"fffe":"1":"ffff":"1fffd":"0":"1fffd":"0" + +mbedtls_mpi_core_mla #347 0xfffe + 0x1 * 0x10000 +mpi_core_mla:"fffe":"1":"10000":"1fffe":"0":"1fffe":"0" + +mbedtls_mpi_core_mla #348 0xfffe + 0x1 * 0xffffffff +mpi_core_mla:"fffe":"1":"ffffffff":"fffd":"1":"10000fffd":"0" + +mbedtls_mpi_core_mla #349 0xfffe + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1":"100000000":"fffe":"1":"10000fffe":"0" + +mbedtls_mpi_core_mla #350 0xfffe + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1":"7f7f7f7f7f7f7f7f":"7f807f7d":"7f7f7f7f":"7f7f7f7f7f807f7d":"0" + +mbedtls_mpi_core_mla #351 0xfffe + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1":"8000000000000000":"fffe":"80000000":"800000000000fffe":"0" + +mbedtls_mpi_core_mla #352 0xfffe + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1":"fffffffffffffffe":"fffc":"100000000":"fffc":"1" + +mbedtls_mpi_core_mla #353 0xfffe + 0xfffe * 0x0 +mpi_core_mla:"fffe":"fffe":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #354 0xfffe + 0xfffe * 0x3 +mpi_core_mla:"fffe":"fffe":"3":"3fff8":"0":"3fff8":"0" + +mbedtls_mpi_core_mla #355 0xfffe + 0xfffe * 0xfe +mpi_core_mla:"fffe":"fffe":"fe":"fefe02":"0":"fefe02":"0" + +mbedtls_mpi_core_mla #356 0xfffe + 0xfffe * 0xff +mpi_core_mla:"fffe":"fffe":"ff":"fffe00":"0":"fffe00":"0" + +mbedtls_mpi_core_mla #357 0xfffe + 0xfffe * 0xffff +mpi_core_mla:"fffe":"fffe":"ffff":"fffe0000":"0":"fffe0000":"0" + +mbedtls_mpi_core_mla #358 0xfffe + 0xfffe * 0x10000 +mpi_core_mla:"fffe":"fffe":"10000":"fffefffe":"0":"fffefffe":"0" + +mbedtls_mpi_core_mla #359 0xfffe + 0xfffe * 0xffffffff +mpi_core_mla:"fffe":"fffe":"ffffffff":"0":"fffe":"fffe00000000":"0" + +mbedtls_mpi_core_mla #360 0xfffe + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffe":"100000000":"fffe":"fffe":"fffe0000fffe":"0" + +mbedtls_mpi_core_mla #361 0xfffe + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffe":"7f7f7f7f7f7f7f7f":"80810100":"7f7e80808080":"8080808080810100":"7f7e" + +mbedtls_mpi_core_mla #362 0xfffe + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffe":"8000000000000000":"fffe":"7fff00000000":"fffe":"7fff" + +mbedtls_mpi_core_mla #363 0xfffe + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffe":"fffffffffffffffe":"ffff0002":"fffdffffffff":"ffffffffffff0002":"fffd" + +mbedtls_mpi_core_mla #364 0xfffe + 0xffffffff * 0x0 +mpi_core_mla:"fffe":"ffffffff":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #365 0xfffe + 0xffffffff * 0x3 +mpi_core_mla:"fffe":"ffffffff":"3":"fffb":"3":"30000fffb":"0" + +mbedtls_mpi_core_mla #366 0xfffe + 0xffffffff * 0xfe +mpi_core_mla:"fffe":"ffffffff":"fe":"ff00":"fe":"fe0000ff00":"0" + +mbedtls_mpi_core_mla #367 0xfffe + 0xffffffff * 0xff +mpi_core_mla:"fffe":"ffffffff":"ff":"feff":"ff":"ff0000feff":"0" + +mbedtls_mpi_core_mla #368 0xfffe + 0xffffffff * 0xffff +mpi_core_mla:"fffe":"ffffffff":"ffff":"ffffffff":"fffe":"fffeffffffff":"0" + +mbedtls_mpi_core_mla #369 0xfffe + 0xffffffff * 0x10000 +mpi_core_mla:"fffe":"ffffffff":"10000":"fffffffe":"ffff":"fffffffffffe":"0" + +mbedtls_mpi_core_mla #370 0xfffe + 0xffffffff * 0xffffffff +mpi_core_mla:"fffe":"ffffffff":"ffffffff":"ffff":"fffffffe":"fffffffe0000ffff":"0" + +mbedtls_mpi_core_mla #371 0xfffe + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffff":"100000000":"fffe":"ffffffff":"ffffffff0000fffe":"0" + +mbedtls_mpi_core_mla #372 0xfffe + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffff":"7f7f7f7f7f7f7f7f":"8081807f":"7f7f7f7effffffff":"ffffffff8081807f":"7f7f7f7e" + +mbedtls_mpi_core_mla #373 0xfffe + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffff":"8000000000000000":"fffe":"7fffffff80000000":"800000000000fffe":"7fffffff" + +mbedtls_mpi_core_mla #374 0xfffe + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffff":"fffffffffffffffe":"10000":"fffffffefffffffe":"fffffffe00010000":"fffffffe" + +mbedtls_mpi_core_mla #375 0xfffe + 0x100000000 * 0x0 +mpi_core_mla:"fffe":"100000000":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #376 0xfffe + 0x100000000 * 0x3 +mpi_core_mla:"fffe":"100000000":"3":"30000fffe":"0":"30000fffe":"0" + +mbedtls_mpi_core_mla #377 0xfffe + 0x100000000 * 0xfe +mpi_core_mla:"fffe":"100000000":"fe":"fe0000fffe":"0":"fe0000fffe":"0" + +mbedtls_mpi_core_mla #378 0xfffe + 0x100000000 * 0xff +mpi_core_mla:"fffe":"100000000":"ff":"ff0000fffe":"0":"ff0000fffe":"0" + +mbedtls_mpi_core_mla #379 0xfffe + 0x100000000 * 0xffff +mpi_core_mla:"fffe":"100000000":"ffff":"ffff0000fffe":"0":"ffff0000fffe":"0" + +mbedtls_mpi_core_mla #380 0xfffe + 0x100000000 * 0x10000 +mpi_core_mla:"fffe":"100000000":"10000":"100000000fffe":"0":"100000000fffe":"0" + +mbedtls_mpi_core_mla #381 0xfffe + 0x100000000 * 0xffffffff +mpi_core_mla:"fffe":"100000000":"ffffffff":"ffffffff0000fffe":"0":"ffffffff0000fffe":"0" + +mbedtls_mpi_core_mla #382 0xfffe + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000":"100000000":"fffe":"1":"fffe":"1" + +mbedtls_mpi_core_mla #383 0xfffe + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000fffe":"7f7f7f7f":"7f7f7f7f0000fffe":"7f7f7f7f" + +mbedtls_mpi_core_mla #384 0xfffe + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000":"8000000000000000":"fffe":"80000000":"fffe":"80000000" + +mbedtls_mpi_core_mla #385 0xfffe + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000":"fffffffffffffffe":"fffffffe0000fffe":"ffffffff":"fffffffe0000fffe":"ffffffff" + +mbedtls_mpi_core_mla #386 0xfffe + 0x20000000000000 * 0x0 +mpi_core_mla:"fffe":"20000000000000":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #387 0xfffe + 0x20000000000000 * 0x3 +mpi_core_mla:"fffe":"20000000000000":"3":"6000000000fffe":"0":"6000000000fffe":"0" + +mbedtls_mpi_core_mla #388 0xfffe + 0x20000000000000 * 0xfe +mpi_core_mla:"fffe":"20000000000000":"fe":"1fc000000000fffe":"0":"1fc000000000fffe":"0" + +mbedtls_mpi_core_mla #389 0xfffe + 0x20000000000000 * 0xff +mpi_core_mla:"fffe":"20000000000000":"ff":"1fe000000000fffe":"0":"1fe000000000fffe":"0" + +mbedtls_mpi_core_mla #390 0xfffe + 0x20000000000000 * 0xffff +mpi_core_mla:"fffe":"20000000000000":"ffff":"ffe000000000fffe":"1f":"ffe000000000fffe":"1f" + +mbedtls_mpi_core_mla #391 0xfffe + 0x20000000000000 * 0x10000 +mpi_core_mla:"fffe":"20000000000000":"10000":"fffe":"20":"fffe":"20" + +mbedtls_mpi_core_mla #392 0xfffe + 0x20000000000000 * 0xffffffff +mpi_core_mla:"fffe":"20000000000000":"ffffffff":"ffe000000000fffe":"1fffff":"ffe000000000fffe":"1fffff" + +mbedtls_mpi_core_mla #393 0xfffe + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"20000000000000":"100000000":"fffe":"200000":"fffe":"200000" + +mbedtls_mpi_core_mla #394 0xfffe + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"20000000000000":"7f7f7f7f7f7f7f7f":"efe000000000fffe":"fefefefefefef":"efe000000000fffe":"fefefefefefef" + +mbedtls_mpi_core_mla #395 0xfffe + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"20000000000000":"8000000000000000":"fffe":"10000000000000":"fffe":"10000000000000" + +mbedtls_mpi_core_mla #396 0xfffe + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"20000000000000":"fffffffffffffffe":"ffc000000000fffe":"1fffffffffffff":"ffc000000000fffe":"1fffffffffffff" + +mbedtls_mpi_core_mla #397 0xfffe + 0xffffffffffffffff * 0x0 +mpi_core_mla:"fffe":"ffffffffffffffff":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #398 0xfffe + 0xffffffffffffffff * 0x3 +mpi_core_mla:"fffe":"ffffffffffffffff":"3":"fffb":"3":"fffb":"3" + +mbedtls_mpi_core_mla #399 0xfffe + 0xffffffffffffffff * 0xfe +mpi_core_mla:"fffe":"ffffffffffffffff":"fe":"ff00":"fe":"ff00":"fe" + +mbedtls_mpi_core_mla #400 0xfffe + 0xffffffffffffffff * 0xff +mpi_core_mla:"fffe":"ffffffffffffffff":"ff":"feff":"ff":"feff":"ff" + +mbedtls_mpi_core_mla #401 0xfffe + 0xffffffffffffffff * 0xffff +mpi_core_mla:"fffe":"ffffffffffffffff":"ffff":"ffffffffffffffff":"fffe":"ffffffffffffffff":"fffe" + +mbedtls_mpi_core_mla #402 0xfffe + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"fffe":"ffffffffffffffff":"10000":"fffffffffffffffe":"ffff":"fffffffffffffffe":"ffff" + +mbedtls_mpi_core_mla #403 0xfffe + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"fffe":"ffffffffffffffff":"ffffffff":"ffffffff0000ffff":"fffffffe":"ffffffff0000ffff":"fffffffe" + +mbedtls_mpi_core_mla #404 0xfffe + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffff":"100000000":"ffffffff0000fffe":"ffffffff":"ffffffff0000fffe":"ffffffff" + +mbedtls_mpi_core_mla #405 0xfffe + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"808080808081807f":"7f7f7f7f7f7f7f7e":"808080808081807f":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #406 0xfffe + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffff":"8000000000000000":"800000000000fffe":"7fffffffffffffff":"800000000000fffe":"7fffffffffffffff" + +mbedtls_mpi_core_mla #407 0xfffe + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffff":"fffffffffffffffe":"10000":"fffffffffffffffd":"10000":"fffffffffffffffd" + +mbedtls_mpi_core_mla #408 0xfffe + 0x10000000000000000 * 0x0 +mpi_core_mla:"fffe":"10000000000000000":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #409 0xfffe + 0x10000000000000000 * 0x3 +mpi_core_mla:"fffe":"10000000000000000":"3":"3000000000000fffe":"0":"3000000000000fffe":"0" + +mbedtls_mpi_core_mla #410 0xfffe + 0x10000000000000000 * 0xfe +mpi_core_mla:"fffe":"10000000000000000":"fe":"fe000000000000fffe":"0":"fe000000000000fffe":"0" + +mbedtls_mpi_core_mla #411 0xfffe + 0x10000000000000000 * 0xff +mpi_core_mla:"fffe":"10000000000000000":"ff":"ff000000000000fffe":"0":"ff000000000000fffe":"0" + +mbedtls_mpi_core_mla #412 0xfffe + 0x10000000000000000 * 0xffff +mpi_core_mla:"fffe":"10000000000000000":"ffff":"ffff000000000000fffe":"0":"ffff000000000000fffe":"0" + +mbedtls_mpi_core_mla #413 0xfffe + 0x10000000000000000 * 0x10000 +mpi_core_mla:"fffe":"10000000000000000":"10000":"10000000000000000fffe":"0":"10000000000000000fffe":"0" + +mbedtls_mpi_core_mla #414 0xfffe + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"fffe":"10000000000000000":"ffffffff":"ffffffff000000000000fffe":"0":"ffffffff000000000000fffe":"0" + +mbedtls_mpi_core_mla #415 0xfffe + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"10000000000000000":"100000000":"fffe":"1":"100000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #416 0xfffe + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f000000000000fffe":"7f7f7f7f":"7f7f7f7f7f7f7f7f000000000000fffe":"0" + +mbedtls_mpi_core_mla #417 0xfffe + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"10000000000000000":"8000000000000000":"fffe":"80000000":"8000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #418 0xfffe + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"10000000000000000":"fffffffffffffffe":"fffffffe000000000000fffe":"ffffffff":"fffffffffffffffe000000000000fffe":"0" + +mbedtls_mpi_core_mla #419 0xfffe + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"fffe":"1234567890abcdef0":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #420 0xfffe + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"fffe":"1234567890abcdef0":"3":"369d0369b20379cce":"0":"369d0369b20379cce":"0" + +mbedtls_mpi_core_mla #421 0xfffe + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"fffe":"1234567890abcdef0":"fe":"120fedcb9f8a766321e":"0":"120fedcb9f8a766321e":"0" + +mbedtls_mpi_core_mla #422 0xfffe + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"fffe":"1234567890abcdef0":"ff":"12222222181b223110e":"0":"12222222181b223110e":"0" + +mbedtls_mpi_core_mla #423 0xfffe + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"fffe":"1234567890abcdef0":"ffff":"123444443a333d434210e":"0":"123444443a333d434210e":"0" + +mbedtls_mpi_core_mla #424 0xfffe + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"fffe":"1234567890abcdef0":"10000":"1234567890abcdef0fffe":"0":"1234567890abcdef0fffe":"0" + +mbedtls_mpi_core_mla #425 0xfffe + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffe":"1234567890abcdef0":"ffffffff":"23456787e7777766f544210e":"1":"123456787e7777766f544210e":"0" + +mbedtls_mpi_core_mla #426 0xfffe + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef0":"100000000":"234567890abcdef00000fffe":"1":"1234567890abcdef00000fffe":"0" + +mbedtls_mpi_core_mla #427 0xfffe + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f67708abaf5ca90e":"91107edb":"91107edbd82bde76f67708abaf5ca90e":"0" + +mbedtls_mpi_core_mla #428 0xfffe + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef0":"8000000000000000":"855e6f78000000000000fffe":"91a2b3c4":"91a2b3c4855e6f78000000000000fffe":"0" + +mbedtls_mpi_core_mla #429 0xfffe + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb97530edea87421e":"123456789":"234567890abcdeedb97530edea87421e":"1" + +mbedtls_mpi_core_mla #430 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #431 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffcfcfcfcfcfdfcf8":"2":"fffffffffffffffffcfcfcfcfcfdfcf8":"2" + +mbedtls_mpi_core_mla #432 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0101010101020002":"fd":"ffffffffffffffff0101010101020002":"fd" + +mbedtls_mpi_core_mla #433 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffff000000000000ff00":"fe":"ffffffffffffffff000000000000ff00":"fe" + +mbedtls_mpi_core_mla #434 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeff0000000000000100":"fffe":"fffffffffffffeff0000000000000100":"fffe" + +mbedtls_mpi_core_mla #435 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefefefefefefefffe":"ffff":"fffffffffffffefefefefefefefefffe":"ffff" + +mbedtls_mpi_core_mla #436 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefefeffffffff01020100":"fffffffe":"fffffffffefefefeffffffff01020100":"fffffffe" + +mbedtls_mpi_core_mla #437 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefefe0000fffe":"ffffffff":"fffffffffefefefefefefefe0000fffe":"ffffffff" + +mbedtls_mpi_core_mla #438 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828504840383038200":"7f7f7f7f7f7f7f7e":"ff800081018202828504840383038200":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #439 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f000000000000fffe":"7fffffffffffffff":"ff7f7f7f7f7f7f7f000000000000fffe":"7fffffffffffffff" + +mbedtls_mpi_core_mla #440 0xfffe + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0202020202030202":"fffffffffffffffd":"fefefefefefefefe0202020202030202":"fffffffffffffffd" + +mbedtls_mpi_core_mla #441 0xfffe + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #442 0xfffe + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"3":"30000000000000000000000000000fffe":"0":"30000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #443 0xfffe + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"fffe":"100000000000000000000000000000000":"fe":"fe0000000000000000000000000000fffe":"0":"fe0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #444 0xfffe + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"fffe":"100000000000000000000000000000000":"ff":"ff0000000000000000000000000000fffe":"0":"ff0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #445 0xfffe + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"fffe":"100000000000000000000000000000000":"ffff":"ffff0000000000000000000000000000fffe":"0":"ffff0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #446 0xfffe + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"10000":"100000000000000000000000000000000fffe":"0":"100000000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #447 0xfffe + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"fffe":"100000000000000000000000000000000":"ffffffff":"ffffffff0000000000000000000000000000fffe":"0":"ffffffff0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #448 0xfffe + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"100000000":"fffe":"1":"1000000000000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #449 0xfffe + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000000000000000000000000fffe":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #450 0xfffe + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"8000000000000000":"fffe":"80000000":"80000000000000000000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #451 0xfffe + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe0000000000000000000000000000fffe":"ffffffff":"fffffffffffffffe0000000000000000000000000000fffe":"0" + +mbedtls_mpi_core_mla #452 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #453 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20379cce":"0":"369d0369b20369cd0369d0369b20379cce":"0" + +mbedtls_mpi_core_mla #454 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a766321e":"0":"120fedcb9f8a76532320fedcb9f8a766321e":"0" + +mbedtls_mpi_core_mla #455 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b223110e":"0":"12222222181b2221122222222181b223110e":"0" + +mbedtls_mpi_core_mla #456 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d434210e":"0":"123444443a333d433334444443a333d434210e":"0" + +mbedtls_mpi_core_mla #457 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef0fffe":"0":"1234567890abcdef01234567890abcdef0fffe":"0" + +mbedtls_mpi_core_mla #458 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7777766f544210e":"12":"123456787e7777767077777887e7777766f544210e":"0" + +mbedtls_mpi_core_mla #459 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890abcdef00000fffe":"12":"1234567890abcdef01234567890abcdef00000fffe":"0" + +mbedtls_mpi_core_mla #460 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f67708abaf5ca90e":"91107edbd":"1107edbd82bde76ff8810996cde66f76f67708abaf5ca90e":"9" + +mbedtls_mpi_core_mla #461 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f78000000000000fffe":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f78000000000000fffe":"9" + +mbedtls_mpi_core_mla #462 0xfffe + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb97530edea87421e":"1234567890":"34567890abcdeedcba987667b32100edb97530edea87421e":"12" + +mbedtls_mpi_core_mla #463 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #464 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffb":"3":"fffb":"3" + +mbedtls_mpi_core_mla #465 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ff00":"fe":"ff00":"fe" + +mbedtls_mpi_core_mla #466 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"feff":"ff":"feff":"ff" + +mbedtls_mpi_core_mla #467 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe" + +mbedtls_mpi_core_mla #468 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe":"ffff":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe":"ffff" + +mbedtls_mpi_core_mla #469 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff":"fffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff":"fffffffe" + +mbedtls_mpi_core_mla #470 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000fffe":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000fffe":"ffffffff" + +mbedtls_mpi_core_mla #471 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff808080808081807f":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff808080808081807f":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #472 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff800000000000fffe":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff800000000000fffe":"7fffffffffffffff" + +mbedtls_mpi_core_mla #473 0xfffe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000010000":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000010000":"fffffffffffffffd" + +mbedtls_mpi_core_mla #474 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #475 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20379cce":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20379cce":"0" + +mbedtls_mpi_core_mla #476 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a766321e":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a766321e":"0" + +mbedtls_mpi_core_mla #477 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222222181b223110e":"0":"12222222181b2221122222222181b2221122222222181b2221122222222181b223110e":"0" + +mbedtls_mpi_core_mla #478 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444443a333d434210e":"0":"123444443a333d433334444443a333d433334444443a333d433334444443a333d434210e":"0" + +mbedtls_mpi_core_mla #479 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0fffe":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0fffe":"0" + +mbedtls_mpi_core_mla #480 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7777766f544210e":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7777766f544210e":"0" + +mbedtls_mpi_core_mla #481 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000fffe":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000fffe":"0" + +mbedtls_mpi_core_mla #482 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ca90e":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ca90e":"911" + +mbedtls_mpi_core_mla #483 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78000000000000fffe":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78000000000000fffe":"91a" + +mbedtls_mpi_core_mla #484 0xfffe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea87421e":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530edea87421e":"1234" + +mbedtls_mpi_core_mla #485 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"fffe":"0":"fffe":"0" + +mbedtls_mpi_core_mla #486 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f165137f":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f165137f":"0" + +mbedtls_mpi_core_mla #487 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c4c8a8":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c4c8a8":"0" + +mbedtls_mpi_core_mla #488 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263b79d3":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263b79d3":"0" + +mbedtls_mpi_core_mla #489 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b54ed3":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b54ed3":"0" + +mbedtls_mpi_core_mla #490 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12bfffe":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12bfffe":"0" + +mbedtls_mpi_core_mla #491 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af8a4ed3":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af8a4ed3":"4" + +mbedtls_mpi_core_mla #492 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000fffe":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000fffe":"4" + +mbedtls_mpi_core_mla #493 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061c3953":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061c3953":"26d473ca9" + +mbedtls_mpi_core_mla #494 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b5895800000000000fffe":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b5895800000000000fffe":"26fb9683d" + +mbedtls_mpi_core_mla #495 0xfffe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f139da8":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f139da8":"4df72d07b" + +mbedtls_mpi_core_mla #496 0xffffffff + 0x0 * 0x0 +mpi_core_mla:"ffffffff":"0":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #497 0xffffffff + 0x0 * 0x3 +mpi_core_mla:"ffffffff":"0":"3":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #498 0xffffffff + 0x0 * 0xfe +mpi_core_mla:"ffffffff":"0":"fe":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #499 0xffffffff + 0x0 * 0xff +mpi_core_mla:"ffffffff":"0":"ff":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #500 0xffffffff + 0x0 * 0xffff +mpi_core_mla:"ffffffff":"0":"ffff":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #501 0xffffffff + 0x0 * 0x10000 +mpi_core_mla:"ffffffff":"0":"10000":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #502 0xffffffff + 0x0 * 0xffffffff +mpi_core_mla:"ffffffff":"0":"ffffffff":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #503 0xffffffff + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"0":"100000000":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #504 0xffffffff + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"0":"7f7f7f7f7f7f7f7f":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #505 0xffffffff + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"0":"8000000000000000":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #506 0xffffffff + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"0":"fffffffffffffffe":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #507 0xffffffff + 0x1 * 0x0 +mpi_core_mla:"ffffffff":"1":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #508 0xffffffff + 0x1 * 0x3 +mpi_core_mla:"ffffffff":"1":"3":"2":"1":"100000002":"0" + +mbedtls_mpi_core_mla #509 0xffffffff + 0x1 * 0xfe +mpi_core_mla:"ffffffff":"1":"fe":"fd":"1":"1000000fd":"0" + +mbedtls_mpi_core_mla #510 0xffffffff + 0x1 * 0xff +mpi_core_mla:"ffffffff":"1":"ff":"fe":"1":"1000000fe":"0" + +mbedtls_mpi_core_mla #511 0xffffffff + 0x1 * 0xffff +mpi_core_mla:"ffffffff":"1":"ffff":"fffe":"1":"10000fffe":"0" + +mbedtls_mpi_core_mla #512 0xffffffff + 0x1 * 0x10000 +mpi_core_mla:"ffffffff":"1":"10000":"ffff":"1":"10000ffff":"0" + +mbedtls_mpi_core_mla #513 0xffffffff + 0x1 * 0xffffffff +mpi_core_mla:"ffffffff":"1":"ffffffff":"fffffffe":"1":"1fffffffe":"0" + +mbedtls_mpi_core_mla #514 0xffffffff + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1":"100000000":"ffffffff":"1":"1ffffffff":"0" + +mbedtls_mpi_core_mla #515 0xffffffff + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1":"7f7f7f7f7f7f7f7f":"7f7f7f7e":"7f7f7f80":"7f7f7f807f7f7f7e":"0" + +mbedtls_mpi_core_mla #516 0xffffffff + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1":"8000000000000000":"ffffffff":"80000000":"80000000ffffffff":"0" + +mbedtls_mpi_core_mla #517 0xffffffff + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1":"fffffffffffffffe":"fffffffd":"100000000":"fffffffd":"1" + +mbedtls_mpi_core_mla #518 0xffffffff + 0xfffe * 0x0 +mpi_core_mla:"ffffffff":"fffe":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #519 0xffffffff + 0xfffe * 0x3 +mpi_core_mla:"ffffffff":"fffe":"3":"2fff9":"1":"10002fff9":"0" + +mbedtls_mpi_core_mla #520 0xffffffff + 0xfffe * 0xfe +mpi_core_mla:"ffffffff":"fffe":"fe":"fdfe03":"1":"100fdfe03":"0" + +mbedtls_mpi_core_mla #521 0xffffffff + 0xfffe * 0xff +mpi_core_mla:"ffffffff":"fffe":"ff":"fefe01":"1":"100fefe01":"0" + +mbedtls_mpi_core_mla #522 0xffffffff + 0xfffe * 0xffff +mpi_core_mla:"ffffffff":"fffe":"ffff":"fffd0001":"1":"1fffd0001":"0" + +mbedtls_mpi_core_mla #523 0xffffffff + 0xfffe * 0x10000 +mpi_core_mla:"ffffffff":"fffe":"10000":"fffdffff":"1":"1fffdffff":"0" + +mbedtls_mpi_core_mla #524 0xffffffff + 0xfffe * 0xffffffff +mpi_core_mla:"ffffffff":"fffe":"ffffffff":"ffff0001":"fffe":"fffeffff0001":"0" + +mbedtls_mpi_core_mla #525 0xffffffff + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffe":"100000000":"ffffffff":"fffe":"fffeffffffff":"0" + +mbedtls_mpi_core_mla #526 0xffffffff + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffe":"7f7f7f7f7f7f7f7f":"80800101":"7f7e80808081":"8080808180800101":"7f7e" + +mbedtls_mpi_core_mla #527 0xffffffff + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffe":"8000000000000000":"ffffffff":"7fff00000000":"ffffffff":"7fff" + +mbedtls_mpi_core_mla #528 0xffffffff + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffe":"fffffffffffffffe":"fffe0003":"fffe00000000":"fffe0003":"fffe" + +mbedtls_mpi_core_mla #529 0xffffffff + 0xffffffff * 0x0 +mpi_core_mla:"ffffffff":"ffffffff":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #530 0xffffffff + 0xffffffff * 0x3 +mpi_core_mla:"ffffffff":"ffffffff":"3":"fffffffc":"3":"3fffffffc":"0" + +mbedtls_mpi_core_mla #531 0xffffffff + 0xffffffff * 0xfe +mpi_core_mla:"ffffffff":"ffffffff":"fe":"ffffff01":"fe":"feffffff01":"0" + +mbedtls_mpi_core_mla #532 0xffffffff + 0xffffffff * 0xff +mpi_core_mla:"ffffffff":"ffffffff":"ff":"ffffff00":"ff":"ffffffff00":"0" + +mbedtls_mpi_core_mla #533 0xffffffff + 0xffffffff * 0xffff +mpi_core_mla:"ffffffff":"ffffffff":"ffff":"ffff0000":"ffff":"ffffffff0000":"0" + +mbedtls_mpi_core_mla #534 0xffffffff + 0xffffffff * 0x10000 +mpi_core_mla:"ffffffff":"ffffffff":"10000":"fffeffff":"10000":"10000fffeffff":"0" + +mbedtls_mpi_core_mla #535 0xffffffff + 0xffffffff * 0xffffffff +mpi_core_mla:"ffffffff":"ffffffff":"ffffffff":"0":"ffffffff":"ffffffff00000000":"0" + +mbedtls_mpi_core_mla #536 0xffffffff + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffff":"100000000":"ffffffff":"ffffffff":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #537 0xffffffff + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffff":"7f7f7f7f7f7f7f7f":"80808080":"7f7f7f7f00000000":"80808080":"7f7f7f7f" + +mbedtls_mpi_core_mla #538 0xffffffff + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffff":"8000000000000000":"ffffffff":"7fffffff80000000":"80000000ffffffff":"7fffffff" + +mbedtls_mpi_core_mla #539 0xffffffff + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffff":"fffffffffffffffe":"1":"fffffffeffffffff":"ffffffff00000001":"fffffffe" + +mbedtls_mpi_core_mla #540 0xffffffff + 0x100000000 * 0x0 +mpi_core_mla:"ffffffff":"100000000":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #541 0xffffffff + 0x100000000 * 0x3 +mpi_core_mla:"ffffffff":"100000000":"3":"3ffffffff":"0":"3ffffffff":"0" + +mbedtls_mpi_core_mla #542 0xffffffff + 0x100000000 * 0xfe +mpi_core_mla:"ffffffff":"100000000":"fe":"feffffffff":"0":"feffffffff":"0" + +mbedtls_mpi_core_mla #543 0xffffffff + 0x100000000 * 0xff +mpi_core_mla:"ffffffff":"100000000":"ff":"ffffffffff":"0":"ffffffffff":"0" + +mbedtls_mpi_core_mla #544 0xffffffff + 0x100000000 * 0xffff +mpi_core_mla:"ffffffff":"100000000":"ffff":"ffffffffffff":"0":"ffffffffffff":"0" + +mbedtls_mpi_core_mla #545 0xffffffff + 0x100000000 * 0x10000 +mpi_core_mla:"ffffffff":"100000000":"10000":"10000ffffffff":"0":"10000ffffffff":"0" + +mbedtls_mpi_core_mla #546 0xffffffff + 0x100000000 * 0xffffffff +mpi_core_mla:"ffffffff":"100000000":"ffffffff":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #547 0xffffffff + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000":"100000000":"ffffffff":"1":"ffffffff":"1" + +mbedtls_mpi_core_mla #548 0xffffffff + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7fffffffff":"7f7f7f7f":"7f7f7f7fffffffff":"7f7f7f7f" + +mbedtls_mpi_core_mla #549 0xffffffff + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000":"8000000000000000":"ffffffff":"80000000":"ffffffff":"80000000" + +mbedtls_mpi_core_mla #550 0xffffffff + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000":"fffffffffffffffe":"fffffffeffffffff":"ffffffff":"fffffffeffffffff":"ffffffff" + +mbedtls_mpi_core_mla #551 0xffffffff + 0x20000000000000 * 0x0 +mpi_core_mla:"ffffffff":"20000000000000":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #552 0xffffffff + 0x20000000000000 * 0x3 +mpi_core_mla:"ffffffff":"20000000000000":"3":"600000ffffffff":"0":"600000ffffffff":"0" + +mbedtls_mpi_core_mla #553 0xffffffff + 0x20000000000000 * 0xfe +mpi_core_mla:"ffffffff":"20000000000000":"fe":"1fc00000ffffffff":"0":"1fc00000ffffffff":"0" + +mbedtls_mpi_core_mla #554 0xffffffff + 0x20000000000000 * 0xff +mpi_core_mla:"ffffffff":"20000000000000":"ff":"1fe00000ffffffff":"0":"1fe00000ffffffff":"0" + +mbedtls_mpi_core_mla #555 0xffffffff + 0x20000000000000 * 0xffff +mpi_core_mla:"ffffffff":"20000000000000":"ffff":"ffe00000ffffffff":"1f":"ffe00000ffffffff":"1f" + +mbedtls_mpi_core_mla #556 0xffffffff + 0x20000000000000 * 0x10000 +mpi_core_mla:"ffffffff":"20000000000000":"10000":"ffffffff":"20":"ffffffff":"20" + +mbedtls_mpi_core_mla #557 0xffffffff + 0x20000000000000 * 0xffffffff +mpi_core_mla:"ffffffff":"20000000000000":"ffffffff":"ffe00000ffffffff":"1fffff":"ffe00000ffffffff":"1fffff" + +mbedtls_mpi_core_mla #558 0xffffffff + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"20000000000000":"100000000":"ffffffff":"200000":"ffffffff":"200000" + +mbedtls_mpi_core_mla #559 0xffffffff + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"20000000000000":"7f7f7f7f7f7f7f7f":"efe00000ffffffff":"fefefefefefef":"efe00000ffffffff":"fefefefefefef" + +mbedtls_mpi_core_mla #560 0xffffffff + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"20000000000000":"8000000000000000":"ffffffff":"10000000000000":"ffffffff":"10000000000000" + +mbedtls_mpi_core_mla #561 0xffffffff + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"20000000000000":"fffffffffffffffe":"ffc00000ffffffff":"1fffffffffffff":"ffc00000ffffffff":"1fffffffffffff" + +mbedtls_mpi_core_mla #562 0xffffffff + 0xffffffffffffffff * 0x0 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #563 0xffffffff + 0xffffffffffffffff * 0x3 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"3":"fffffffc":"3":"fffffffc":"3" + +mbedtls_mpi_core_mla #564 0xffffffff + 0xffffffffffffffff * 0xfe +mpi_core_mla:"ffffffff":"ffffffffffffffff":"fe":"ffffff01":"fe":"ffffff01":"fe" + +mbedtls_mpi_core_mla #565 0xffffffff + 0xffffffffffffffff * 0xff +mpi_core_mla:"ffffffff":"ffffffffffffffff":"ff":"ffffff00":"ff":"ffffff00":"ff" + +mbedtls_mpi_core_mla #566 0xffffffff + 0xffffffffffffffff * 0xffff +mpi_core_mla:"ffffffff":"ffffffffffffffff":"ffff":"ffff0000":"ffff":"ffff0000":"ffff" + +mbedtls_mpi_core_mla #567 0xffffffff + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"10000":"fffeffff":"10000":"fffeffff":"10000" + +mbedtls_mpi_core_mla #568 0xffffffff + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffff":"ffffffffffffffff":"ffffffff":"0":"ffffffff":"0":"ffffffff" + +mbedtls_mpi_core_mla #569 0xffffffff + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"100000000":"ffffffffffffffff":"ffffffff":"ffffffffffffffff":"ffffffff" + +mbedtls_mpi_core_mla #570 0xffffffff + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808180808080":"7f7f7f7f7f7f7f7e":"8080808180808080":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #571 0xffffffff + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"8000000000000000":"80000000ffffffff":"7fffffffffffffff":"80000000ffffffff":"7fffffffffffffff" + +mbedtls_mpi_core_mla #572 0xffffffff + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffff":"fffffffffffffffe":"100000001":"fffffffffffffffd":"100000001":"fffffffffffffffd" + +mbedtls_mpi_core_mla #573 0xffffffff + 0x10000000000000000 * 0x0 +mpi_core_mla:"ffffffff":"10000000000000000":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #574 0xffffffff + 0x10000000000000000 * 0x3 +mpi_core_mla:"ffffffff":"10000000000000000":"3":"300000000ffffffff":"0":"300000000ffffffff":"0" + +mbedtls_mpi_core_mla #575 0xffffffff + 0x10000000000000000 * 0xfe +mpi_core_mla:"ffffffff":"10000000000000000":"fe":"fe00000000ffffffff":"0":"fe00000000ffffffff":"0" + +mbedtls_mpi_core_mla #576 0xffffffff + 0x10000000000000000 * 0xff +mpi_core_mla:"ffffffff":"10000000000000000":"ff":"ff00000000ffffffff":"0":"ff00000000ffffffff":"0" + +mbedtls_mpi_core_mla #577 0xffffffff + 0x10000000000000000 * 0xffff +mpi_core_mla:"ffffffff":"10000000000000000":"ffff":"ffff00000000ffffffff":"0":"ffff00000000ffffffff":"0" + +mbedtls_mpi_core_mla #578 0xffffffff + 0x10000000000000000 * 0x10000 +mpi_core_mla:"ffffffff":"10000000000000000":"10000":"1000000000000ffffffff":"0":"1000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #579 0xffffffff + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"ffffffff":"10000000000000000":"ffffffff":"ffffffff00000000ffffffff":"0":"ffffffff00000000ffffffff":"0" + +mbedtls_mpi_core_mla #580 0xffffffff + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"10000000000000000":"100000000":"ffffffff":"1":"10000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #581 0xffffffff + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000ffffffff":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000ffffffff":"0" + +mbedtls_mpi_core_mla #582 0xffffffff + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"10000000000000000":"8000000000000000":"ffffffff":"80000000":"800000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #583 0xffffffff + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"10000000000000000":"fffffffffffffffe":"fffffffe00000000ffffffff":"ffffffff":"fffffffffffffffe00000000ffffffff":"0" + +mbedtls_mpi_core_mla #584 0xffffffff + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #585 0xffffffff + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"3":"369d0369c20369ccf":"0":"369d0369c20369ccf":"0" + +mbedtls_mpi_core_mla #586 0xffffffff + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffff":"1234567890abcdef0":"fe":"120fedcb9f9a765321f":"0":"120fedcb9f9a765321f":"0" + +mbedtls_mpi_core_mla #587 0xffffffff + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"ffffffff":"1234567890abcdef0":"ff":"12222222182b222110f":"0":"12222222182b222110f":"0" + +mbedtls_mpi_core_mla #588 0xffffffff + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffff":"1234567890abcdef0":"ffff":"123444443a334d433210f":"0":"123444443a334d433210f":"0" + +mbedtls_mpi_core_mla #589 0xffffffff + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"10000":"1234567890abddeefffff":"0":"1234567890abddeefffff":"0" + +mbedtls_mpi_core_mla #590 0xffffffff + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffff":"1234567890abcdef0":"ffffffff":"23456787e7777767f543210f":"1":"123456787e7777767f543210f":"0" + +mbedtls_mpi_core_mla #591 0xffffffff + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"100000000":"234567890abcdef0ffffffff":"1":"1234567890abcdef0ffffffff":"0" + +mbedtls_mpi_core_mla #592 0xffffffff + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f67708acaf5ba90f":"91107edb":"91107edbd82bde76f67708acaf5ba90f":"0" + +mbedtls_mpi_core_mla #593 0xffffffff + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"8000000000000000":"855e6f7800000000ffffffff":"91a2b3c4":"91a2b3c4855e6f7800000000ffffffff":"0" + +mbedtls_mpi_core_mla #594 0xffffffff + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb97530eeea86421f":"123456789":"234567890abcdeedb97530eeea86421f":"1" + +mbedtls_mpi_core_mla #595 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #596 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffcfcfcfdfcfcfcf9":"2":"fffffffffffffffffcfcfcfdfcfcfcf9":"2" + +mbedtls_mpi_core_mla #597 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0101010201010003":"fd":"ffffffffffffffff0101010201010003":"fd" + +mbedtls_mpi_core_mla #598 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffff00000000ffffff01":"fe":"ffffffffffffffff00000000ffffff01":"fe" + +mbedtls_mpi_core_mla #599 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeff00000000ffff0101":"fffe":"fffffffffffffeff00000000ffff0101":"fffe" + +mbedtls_mpi_core_mla #600 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefefefefffefdffff":"ffff":"fffffffffffffefefefefefffefdffff":"ffff" + +mbedtls_mpi_core_mla #601 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefeff0000000001010101":"fffffffe":"fffffffffefefeff0000000001010101":"fffffffe" + +mbedtls_mpi_core_mla #602 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefefeffffffff":"ffffffff":"fffffffffefefefefefefefeffffffff":"ffffffff" + +mbedtls_mpi_core_mla #603 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828504840483028201":"7f7f7f7f7f7f7f7e":"ff800081018202828504840483028201":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #604 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f00000000ffffffff":"7fffffffffffffff":"ff7f7f7f7f7f7f7f00000000ffffffff":"7fffffffffffffff" + +mbedtls_mpi_core_mla #605 0xffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0202020302020203":"fffffffffffffffd":"fefefefefefefefe0202020302020203":"fffffffffffffffd" + +mbedtls_mpi_core_mla #606 0xffffffff + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #607 0xffffffff + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"3":"3000000000000000000000000ffffffff":"0":"3000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #608 0xffffffff + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"fe":"fe000000000000000000000000ffffffff":"0":"fe000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #609 0xffffffff + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"ff":"ff000000000000000000000000ffffffff":"0":"ff000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #610 0xffffffff + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"ffff":"ffff000000000000000000000000ffffffff":"0":"ffff000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #611 0xffffffff + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"10000":"10000000000000000000000000000ffffffff":"0":"10000000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #612 0xffffffff + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"ffffffff":"ffffffff000000000000000000000000ffffffff":"0":"ffffffff000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #613 0xffffffff + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"100000000":"ffffffff":"1":"100000000000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #614 0xffffffff + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f000000000000000000000000ffffffff":"7f7f7f7f":"7f7f7f7f7f7f7f7f000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #615 0xffffffff + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"8000000000000000":"ffffffff":"80000000":"8000000000000000000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #616 0xffffffff + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe000000000000000000000000ffffffff":"ffffffff":"fffffffffffffffe000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #617 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #618 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369c20369ccf":"0":"369d0369b20369cd0369d0369c20369ccf":"0" + +mbedtls_mpi_core_mla #619 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f9a765321f":"0":"120fedcb9f8a76532320fedcb9f9a765321f":"0" + +mbedtls_mpi_core_mla #620 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222182b222110f":"0":"12222222181b2221122222222182b222110f":"0" + +mbedtls_mpi_core_mla #621 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a334d433210f":"0":"123444443a333d433334444443a334d433210f":"0" + +mbedtls_mpi_core_mla #622 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abddeefffff":"0":"1234567890abcdef01234567890abddeefffff":"0" + +mbedtls_mpi_core_mla #623 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7777767f543210f":"12":"123456787e7777767077777887e7777767f543210f":"0" + +mbedtls_mpi_core_mla #624 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890abcdef0ffffffff":"12":"1234567890abcdef01234567890abcdef0ffffffff":"0" + +mbedtls_mpi_core_mla #625 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f67708acaf5ba90f":"91107edbd":"1107edbd82bde76ff8810996cde66f76f67708acaf5ba90f":"9" + +mbedtls_mpi_core_mla #626 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f7800000000ffffffff":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f7800000000ffffffff":"9" + +mbedtls_mpi_core_mla #627 0xffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb97530eeea86421f":"1234567890":"34567890abcdeedcba987667b32100edb97530eeea86421f":"12" + +mbedtls_mpi_core_mla #628 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #629 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffc":"3":"fffffffc":"3" + +mbedtls_mpi_core_mla #630 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffff01":"fe":"ffffff01":"fe" + +mbedtls_mpi_core_mla #631 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffff00":"ff":"ffffff00":"ff" + +mbedtls_mpi_core_mla #632 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffff0000":"ffff":"ffff0000":"ffff" + +mbedtls_mpi_core_mla #633 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"fffeffff":"10000":"fffeffff":"10000" + +mbedtls_mpi_core_mla #634 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"0":"ffffffff":"0":"ffffffff" + +mbedtls_mpi_core_mla #635 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff" + +mbedtls_mpi_core_mla #636 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808180808080":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808180808080":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #637 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff80000000ffffffff":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff80000000ffffffff":"7fffffffffffffff" + +mbedtls_mpi_core_mla #638 0xffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000100000001":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000100000001":"fffffffffffffffd" + +mbedtls_mpi_core_mla #639 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #640 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369c20369ccf":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369c20369ccf":"0" + +mbedtls_mpi_core_mla #641 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f9a765321f":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f9a765321f":"0" + +mbedtls_mpi_core_mla #642 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222222182b222110f":"0":"12222222181b2221122222222181b2221122222222181b2221122222222182b222110f":"0" + +mbedtls_mpi_core_mla #643 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444443a334d433210f":"0":"123444443a333d433334444443a333d433334444443a333d433334444443a334d433210f":"0" + +mbedtls_mpi_core_mla #644 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddeefffff":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddeefffff":"0" + +mbedtls_mpi_core_mla #645 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7777767f543210f":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7777767f543210f":"0" + +mbedtls_mpi_core_mla #646 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0ffffffff":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0ffffffff":"0" + +mbedtls_mpi_core_mla #647 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708acaf5ba90f":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708acaf5ba90f":"911" + +mbedtls_mpi_core_mla #648 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800000000ffffffff":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f7800000000ffffffff":"91a" + +mbedtls_mpi_core_mla #649 0xffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530eeea86421f":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530eeea86421f":"1234" + +mbedtls_mpi_core_mla #650 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ffffffff":"0":"ffffffff":"0" + +mbedtls_mpi_core_mla #651 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c407f1641380":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c407f1641380":"0" + +mbedtls_mpi_core_mla #652 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4cd5c3c8a9":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4cd5c3c8a9":"0" + +mbedtls_mpi_core_mla #653 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164f263a79d4":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164f263a79d4":"0" + +mbedtls_mpi_core_mla #654 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647560b44ed4":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647560b44ed4":"0" + +mbedtls_mpi_core_mla #655 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12affff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12affff":"0" + +mbedtls_mpi_core_mla #656 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c529af894ed4":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c529af894ed4":"4" + +mbedtls_mpi_core_mla #657 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12bffffffff":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12bffffffff":"4" + +mbedtls_mpi_core_mla #658 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412d061b3954":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412d061b3954":"26d473ca9" + +mbedtls_mpi_core_mla #659 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580000000ffffffff":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b589580000000ffffffff":"26fb9683d" + +mbedtls_mpi_core_mla #660 0xffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fc5f129da9":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fc5f129da9":"4df72d07b" + +mbedtls_mpi_core_mla #661 0x100000000 + 0x0 * 0x0 +mpi_core_mla:"100000000":"0":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #662 0x100000000 + 0x0 * 0x3 +mpi_core_mla:"100000000":"0":"3":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #663 0x100000000 + 0x0 * 0xfe +mpi_core_mla:"100000000":"0":"fe":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #664 0x100000000 + 0x0 * 0xff +mpi_core_mla:"100000000":"0":"ff":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #665 0x100000000 + 0x0 * 0xffff +mpi_core_mla:"100000000":"0":"ffff":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #666 0x100000000 + 0x0 * 0x10000 +mpi_core_mla:"100000000":"0":"10000":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #667 0x100000000 + 0x0 * 0xffffffff +mpi_core_mla:"100000000":"0":"ffffffff":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #668 0x100000000 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"0":"100000000":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #669 0x100000000 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"0":"7f7f7f7f7f7f7f7f":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #670 0x100000000 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"0":"8000000000000000":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #671 0x100000000 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"0":"fffffffffffffffe":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #672 0x100000000 + 0x1 * 0x0 +mpi_core_mla:"100000000":"1":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #673 0x100000000 + 0x1 * 0x3 +mpi_core_mla:"100000000":"1":"3":"100000003":"0":"100000003":"0" + +mbedtls_mpi_core_mla #674 0x100000000 + 0x1 * 0xfe +mpi_core_mla:"100000000":"1":"fe":"1000000fe":"0":"1000000fe":"0" + +mbedtls_mpi_core_mla #675 0x100000000 + 0x1 * 0xff +mpi_core_mla:"100000000":"1":"ff":"1000000ff":"0":"1000000ff":"0" + +mbedtls_mpi_core_mla #676 0x100000000 + 0x1 * 0xffff +mpi_core_mla:"100000000":"1":"ffff":"10000ffff":"0":"10000ffff":"0" + +mbedtls_mpi_core_mla #677 0x100000000 + 0x1 * 0x10000 +mpi_core_mla:"100000000":"1":"10000":"100010000":"0":"100010000":"0" + +mbedtls_mpi_core_mla #678 0x100000000 + 0x1 * 0xffffffff +mpi_core_mla:"100000000":"1":"ffffffff":"1ffffffff":"0":"1ffffffff":"0" + +mbedtls_mpi_core_mla #679 0x100000000 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1":"100000000":"200000000":"0":"200000000":"0" + +mbedtls_mpi_core_mla #680 0x100000000 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1":"7f7f7f7f7f7f7f7f":"7f7f7f807f7f7f7f":"0":"7f7f7f807f7f7f7f":"0" + +mbedtls_mpi_core_mla #681 0x100000000 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1":"8000000000000000":"8000000100000000":"0":"8000000100000000":"0" + +mbedtls_mpi_core_mla #682 0x100000000 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1":"fffffffffffffffe":"fffffffe":"1":"fffffffe":"1" + +mbedtls_mpi_core_mla #683 0x100000000 + 0xfffe * 0x0 +mpi_core_mla:"100000000":"fffe":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #684 0x100000000 + 0xfffe * 0x3 +mpi_core_mla:"100000000":"fffe":"3":"10002fffa":"0":"10002fffa":"0" + +mbedtls_mpi_core_mla #685 0x100000000 + 0xfffe * 0xfe +mpi_core_mla:"100000000":"fffe":"fe":"100fdfe04":"0":"100fdfe04":"0" + +mbedtls_mpi_core_mla #686 0x100000000 + 0xfffe * 0xff +mpi_core_mla:"100000000":"fffe":"ff":"100fefe02":"0":"100fefe02":"0" + +mbedtls_mpi_core_mla #687 0x100000000 + 0xfffe * 0xffff +mpi_core_mla:"100000000":"fffe":"ffff":"1fffd0002":"0":"1fffd0002":"0" + +mbedtls_mpi_core_mla #688 0x100000000 + 0xfffe * 0x10000 +mpi_core_mla:"100000000":"fffe":"10000":"1fffe0000":"0":"1fffe0000":"0" + +mbedtls_mpi_core_mla #689 0x100000000 + 0xfffe * 0xffffffff +mpi_core_mla:"100000000":"fffe":"ffffffff":"fffeffff0002":"0":"fffeffff0002":"0" + +mbedtls_mpi_core_mla #690 0x100000000 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffe":"100000000":"ffff00000000":"0":"ffff00000000":"0" + +mbedtls_mpi_core_mla #691 0x100000000 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffe":"7f7f7f7f7f7f7f7f":"8080808180800102":"7f7e":"8080808180800102":"7f7e" + +mbedtls_mpi_core_mla #692 0x100000000 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffe":"8000000000000000":"100000000":"7fff":"100000000":"7fff" + +mbedtls_mpi_core_mla #693 0x100000000 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffe":"fffffffffffffffe":"fffe0004":"fffe":"fffe0004":"fffe" + +mbedtls_mpi_core_mla #694 0x100000000 + 0xffffffff * 0x0 +mpi_core_mla:"100000000":"ffffffff":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #695 0x100000000 + 0xffffffff * 0x3 +mpi_core_mla:"100000000":"ffffffff":"3":"3fffffffd":"0":"3fffffffd":"0" + +mbedtls_mpi_core_mla #696 0x100000000 + 0xffffffff * 0xfe +mpi_core_mla:"100000000":"ffffffff":"fe":"feffffff02":"0":"feffffff02":"0" + +mbedtls_mpi_core_mla #697 0x100000000 + 0xffffffff * 0xff +mpi_core_mla:"100000000":"ffffffff":"ff":"ffffffff01":"0":"ffffffff01":"0" + +mbedtls_mpi_core_mla #698 0x100000000 + 0xffffffff * 0xffff +mpi_core_mla:"100000000":"ffffffff":"ffff":"ffffffff0001":"0":"ffffffff0001":"0" + +mbedtls_mpi_core_mla #699 0x100000000 + 0xffffffff * 0x10000 +mpi_core_mla:"100000000":"ffffffff":"10000":"10000ffff0000":"0":"10000ffff0000":"0" + +mbedtls_mpi_core_mla #700 0x100000000 + 0xffffffff * 0xffffffff +mpi_core_mla:"100000000":"ffffffff":"ffffffff":"ffffffff00000001":"0":"ffffffff00000001":"0" + +mbedtls_mpi_core_mla #701 0x100000000 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffff":"100000000":"0":"1":"0":"1" + +mbedtls_mpi_core_mla #702 0x100000000 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffff":"7f7f7f7f7f7f7f7f":"80808081":"7f7f7f7f":"80808081":"7f7f7f7f" + +mbedtls_mpi_core_mla #703 0x100000000 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffff":"8000000000000000":"8000000100000000":"7fffffff":"8000000100000000":"7fffffff" + +mbedtls_mpi_core_mla #704 0x100000000 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffff":"fffffffffffffffe":"ffffffff00000002":"fffffffe":"ffffffff00000002":"fffffffe" + +mbedtls_mpi_core_mla #705 0x100000000 + 0x100000000 * 0x0 +mpi_core_mla:"100000000":"100000000":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #706 0x100000000 + 0x100000000 * 0x3 +mpi_core_mla:"100000000":"100000000":"3":"400000000":"0":"400000000":"0" + +mbedtls_mpi_core_mla #707 0x100000000 + 0x100000000 * 0xfe +mpi_core_mla:"100000000":"100000000":"fe":"ff00000000":"0":"ff00000000":"0" + +mbedtls_mpi_core_mla #708 0x100000000 + 0x100000000 * 0xff +mpi_core_mla:"100000000":"100000000":"ff":"10000000000":"0":"10000000000":"0" + +mbedtls_mpi_core_mla #709 0x100000000 + 0x100000000 * 0xffff +mpi_core_mla:"100000000":"100000000":"ffff":"1000000000000":"0":"1000000000000":"0" + +mbedtls_mpi_core_mla #710 0x100000000 + 0x100000000 * 0x10000 +mpi_core_mla:"100000000":"100000000":"10000":"1000100000000":"0":"1000100000000":"0" + +mbedtls_mpi_core_mla #711 0x100000000 + 0x100000000 * 0xffffffff +mpi_core_mla:"100000000":"100000000":"ffffffff":"0":"1":"0":"1" + +mbedtls_mpi_core_mla #712 0x100000000 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000":"100000000":"100000000":"1":"100000000":"1" + +mbedtls_mpi_core_mla #713 0x100000000 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f8000000000":"7f7f7f7f":"7f7f7f8000000000":"7f7f7f7f" + +mbedtls_mpi_core_mla #714 0x100000000 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000":"8000000000000000":"100000000":"80000000":"100000000":"80000000" + +mbedtls_mpi_core_mla #715 0x100000000 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000":"fffffffffffffffe":"ffffffff00000000":"ffffffff":"ffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #716 0x100000000 + 0x20000000000000 * 0x0 +mpi_core_mla:"100000000":"20000000000000":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #717 0x100000000 + 0x20000000000000 * 0x3 +mpi_core_mla:"100000000":"20000000000000":"3":"60000100000000":"0":"60000100000000":"0" + +mbedtls_mpi_core_mla #718 0x100000000 + 0x20000000000000 * 0xfe +mpi_core_mla:"100000000":"20000000000000":"fe":"1fc0000100000000":"0":"1fc0000100000000":"0" + +mbedtls_mpi_core_mla #719 0x100000000 + 0x20000000000000 * 0xff +mpi_core_mla:"100000000":"20000000000000":"ff":"1fe0000100000000":"0":"1fe0000100000000":"0" + +mbedtls_mpi_core_mla #720 0x100000000 + 0x20000000000000 * 0xffff +mpi_core_mla:"100000000":"20000000000000":"ffff":"ffe0000100000000":"1f":"ffe0000100000000":"1f" + +mbedtls_mpi_core_mla #721 0x100000000 + 0x20000000000000 * 0x10000 +mpi_core_mla:"100000000":"20000000000000":"10000":"100000000":"20":"100000000":"20" + +mbedtls_mpi_core_mla #722 0x100000000 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"100000000":"20000000000000":"ffffffff":"ffe0000100000000":"1fffff":"ffe0000100000000":"1fffff" + +mbedtls_mpi_core_mla #723 0x100000000 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"20000000000000":"100000000":"100000000":"200000":"100000000":"200000" + +mbedtls_mpi_core_mla #724 0x100000000 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"20000000000000":"7f7f7f7f7f7f7f7f":"efe0000100000000":"fefefefefefef":"efe0000100000000":"fefefefefefef" + +mbedtls_mpi_core_mla #725 0x100000000 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"20000000000000":"8000000000000000":"100000000":"10000000000000":"100000000":"10000000000000" + +mbedtls_mpi_core_mla #726 0x100000000 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"20000000000000":"fffffffffffffffe":"ffc0000100000000":"1fffffffffffff":"ffc0000100000000":"1fffffffffffff" + +mbedtls_mpi_core_mla #727 0x100000000 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"100000000":"ffffffffffffffff":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #728 0x100000000 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"100000000":"ffffffffffffffff":"3":"fffffffd":"3":"fffffffd":"3" + +mbedtls_mpi_core_mla #729 0x100000000 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"100000000":"ffffffffffffffff":"fe":"ffffff02":"fe":"ffffff02":"fe" + +mbedtls_mpi_core_mla #730 0x100000000 + 0xffffffffffffffff * 0xff +mpi_core_mla:"100000000":"ffffffffffffffff":"ff":"ffffff01":"ff":"ffffff01":"ff" + +mbedtls_mpi_core_mla #731 0x100000000 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"100000000":"ffffffffffffffff":"ffff":"ffff0001":"ffff":"ffff0001":"ffff" + +mbedtls_mpi_core_mla #732 0x100000000 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"100000000":"ffffffffffffffff":"10000":"ffff0000":"10000":"ffff0000":"10000" + +mbedtls_mpi_core_mla #733 0x100000000 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"100000000":"ffffffffffffffff":"ffffffff":"1":"ffffffff":"1":"ffffffff" + +mbedtls_mpi_core_mla #734 0x100000000 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffff":"100000000":"0":"100000000":"0":"100000000" + +mbedtls_mpi_core_mla #735 0x100000000 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808180808081":"7f7f7f7f7f7f7f7e":"8080808180808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #736 0x100000000 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffff":"8000000000000000":"8000000100000000":"7fffffffffffffff":"8000000100000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #737 0x100000000 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffff":"fffffffffffffffe":"100000002":"fffffffffffffffd":"100000002":"fffffffffffffffd" + +mbedtls_mpi_core_mla #738 0x100000000 + 0x10000000000000000 * 0x0 +mpi_core_mla:"100000000":"10000000000000000":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #739 0x100000000 + 0x10000000000000000 * 0x3 +mpi_core_mla:"100000000":"10000000000000000":"3":"30000000100000000":"0":"30000000100000000":"0" + +mbedtls_mpi_core_mla #740 0x100000000 + 0x10000000000000000 * 0xfe +mpi_core_mla:"100000000":"10000000000000000":"fe":"fe0000000100000000":"0":"fe0000000100000000":"0" + +mbedtls_mpi_core_mla #741 0x100000000 + 0x10000000000000000 * 0xff +mpi_core_mla:"100000000":"10000000000000000":"ff":"ff0000000100000000":"0":"ff0000000100000000":"0" + +mbedtls_mpi_core_mla #742 0x100000000 + 0x10000000000000000 * 0xffff +mpi_core_mla:"100000000":"10000000000000000":"ffff":"ffff0000000100000000":"0":"ffff0000000100000000":"0" + +mbedtls_mpi_core_mla #743 0x100000000 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"100000000":"10000000000000000":"10000":"100000000000100000000":"0":"100000000000100000000":"0" + +mbedtls_mpi_core_mla #744 0x100000000 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"100000000":"10000000000000000":"ffffffff":"ffffffff0000000100000000":"0":"ffffffff0000000100000000":"0" + +mbedtls_mpi_core_mla #745 0x100000000 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"10000000000000000":"100000000":"100000000":"1":"1000000000000000100000000":"0" + +mbedtls_mpi_core_mla #746 0x100000000 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000100000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000100000000":"0" + +mbedtls_mpi_core_mla #747 0x100000000 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"10000000000000000":"8000000000000000":"100000000":"80000000":"80000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #748 0x100000000 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"10000000000000000":"fffffffffffffffe":"fffffffe0000000100000000":"ffffffff":"fffffffffffffffe0000000100000000":"0" + +mbedtls_mpi_core_mla #749 0x100000000 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"100000000":"1234567890abcdef0":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #750 0x100000000 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"100000000":"1234567890abcdef0":"3":"369d0369c20369cd0":"0":"369d0369c20369cd0":"0" + +mbedtls_mpi_core_mla #751 0x100000000 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"100000000":"1234567890abcdef0":"fe":"120fedcb9f9a7653220":"0":"120fedcb9f9a7653220":"0" + +mbedtls_mpi_core_mla #752 0x100000000 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"100000000":"1234567890abcdef0":"ff":"12222222182b2221110":"0":"12222222182b2221110":"0" + +mbedtls_mpi_core_mla #753 0x100000000 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"100000000":"1234567890abcdef0":"ffff":"123444443a334d4332110":"0":"123444443a334d4332110":"0" + +mbedtls_mpi_core_mla #754 0x100000000 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000":"1234567890abcdef0":"10000":"1234567890abddef00000":"0":"1234567890abddef00000":"0" + +mbedtls_mpi_core_mla #755 0x100000000 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000":"1234567890abcdef0":"ffffffff":"23456787e7777767f5432110":"1":"123456787e7777767f5432110":"0" + +mbedtls_mpi_core_mla #756 0x100000000 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef0":"100000000":"234567890abcdef100000000":"1":"1234567890abcdef100000000":"0" + +mbedtls_mpi_core_mla #757 0x100000000 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f67708acaf5ba910":"91107edb":"91107edbd82bde76f67708acaf5ba910":"0" + +mbedtls_mpi_core_mla #758 0x100000000 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef0":"8000000000000000":"855e6f780000000100000000":"91a2b3c4":"91a2b3c4855e6f780000000100000000":"0" + +mbedtls_mpi_core_mla #759 0x100000000 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb97530eeea864220":"123456789":"234567890abcdeedb97530eeea864220":"1" + +mbedtls_mpi_core_mla #760 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #761 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffcfcfcfdfcfcfcfa":"2":"fffffffffffffffffcfcfcfdfcfcfcfa":"2" + +mbedtls_mpi_core_mla #762 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0101010201010004":"fd":"ffffffffffffffff0101010201010004":"fd" + +mbedtls_mpi_core_mla #763 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffff00000000ffffff02":"fe":"ffffffffffffffff00000000ffffff02":"fe" + +mbedtls_mpi_core_mla #764 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeff00000000ffff0102":"fffe":"fffffffffffffeff00000000ffff0102":"fffe" + +mbedtls_mpi_core_mla #765 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefefefefffefe0000":"ffff":"fffffffffffffefefefefefffefe0000":"ffff" + +mbedtls_mpi_core_mla #766 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefeff0000000001010102":"fffffffe":"fffffffffefefeff0000000001010102":"fffffffe" + +mbedtls_mpi_core_mla #767 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefeff00000000":"ffffffff":"fffffffffefefefefefefeff00000000":"ffffffff" + +mbedtls_mpi_core_mla #768 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828504840483028202":"7f7f7f7f7f7f7f7e":"ff800081018202828504840483028202":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #769 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f0000000100000000":"7fffffffffffffff":"ff7f7f7f7f7f7f7f0000000100000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #770 0x100000000 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0202020302020204":"fffffffffffffffd":"fefefefefefefefe0202020302020204":"fffffffffffffffd" + +mbedtls_mpi_core_mla #771 0x100000000 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #772 0x100000000 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"3":"300000000000000000000000100000000":"0":"300000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #773 0x100000000 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"100000000":"100000000000000000000000000000000":"fe":"fe00000000000000000000000100000000":"0":"fe00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #774 0x100000000 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"100000000":"100000000000000000000000000000000":"ff":"ff00000000000000000000000100000000":"0":"ff00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #775 0x100000000 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"100000000":"100000000000000000000000000000000":"ffff":"ffff00000000000000000000000100000000":"0":"ffff00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #776 0x100000000 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"10000":"1000000000000000000000000000100000000":"0":"1000000000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #777 0x100000000 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"100000000":"100000000000000000000000000000000":"ffffffff":"ffffffff00000000000000000000000100000000":"0":"ffffffff00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #778 0x100000000 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"100000000":"100000000":"1":"10000000000000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #779 0x100000000 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000000000000000000100000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #780 0x100000000 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"8000000000000000":"100000000":"80000000":"800000000000000000000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #781 0x100000000 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe00000000000000000000000100000000":"ffffffff":"fffffffffffffffe00000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #782 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #783 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369c20369cd0":"0":"369d0369b20369cd0369d0369c20369cd0":"0" + +mbedtls_mpi_core_mla #784 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f9a7653220":"0":"120fedcb9f8a76532320fedcb9f9a7653220":"0" + +mbedtls_mpi_core_mla #785 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222182b2221110":"0":"12222222181b2221122222222182b2221110":"0" + +mbedtls_mpi_core_mla #786 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a334d4332110":"0":"123444443a333d433334444443a334d4332110":"0" + +mbedtls_mpi_core_mla #787 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abddef00000":"0":"1234567890abcdef01234567890abddef00000":"0" + +mbedtls_mpi_core_mla #788 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7777767f5432110":"12":"123456787e7777767077777887e7777767f5432110":"0" + +mbedtls_mpi_core_mla #789 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890abcdef100000000":"12":"1234567890abcdef01234567890abcdef100000000":"0" + +mbedtls_mpi_core_mla #790 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f67708acaf5ba910":"91107edbd":"1107edbd82bde76ff8810996cde66f76f67708acaf5ba910":"9" + +mbedtls_mpi_core_mla #791 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f780000000100000000":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f780000000100000000":"9" + +mbedtls_mpi_core_mla #792 0x100000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb97530eeea864220":"1234567890":"34567890abcdeedcba987667b32100edb97530eeea864220":"12" + +mbedtls_mpi_core_mla #793 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #794 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffd":"3":"fffffffd":"3" + +mbedtls_mpi_core_mla #795 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffff02":"fe":"ffffff02":"fe" + +mbedtls_mpi_core_mla #796 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffff01":"ff":"ffffff01":"ff" + +mbedtls_mpi_core_mla #797 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffff0001":"ffff":"ffff0001":"ffff" + +mbedtls_mpi_core_mla #798 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"ffff0000":"10000":"ffff0000":"10000" + +mbedtls_mpi_core_mla #799 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"1":"ffffffff":"1":"ffffffff" + +mbedtls_mpi_core_mla #800 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"0":"100000000":"0":"100000000" + +mbedtls_mpi_core_mla #801 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808180808081":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808180808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #802 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000100000000":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff8000000100000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #803 0x100000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000100000002":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000100000002":"fffffffffffffffd" + +mbedtls_mpi_core_mla #804 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #805 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369c20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369c20369cd0":"0" + +mbedtls_mpi_core_mla #806 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f9a7653220":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f9a7653220":"0" + +mbedtls_mpi_core_mla #807 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222222182b2221110":"0":"12222222181b2221122222222181b2221122222222181b2221122222222182b2221110":"0" + +mbedtls_mpi_core_mla #808 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444443a334d4332110":"0":"123444443a333d433334444443a333d433334444443a333d433334444443a334d4332110":"0" + +mbedtls_mpi_core_mla #809 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddef00000":"0" + +mbedtls_mpi_core_mla #810 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7777767f5432110":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7777767f5432110":"0" + +mbedtls_mpi_core_mla #811 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef100000000":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef100000000":"0" + +mbedtls_mpi_core_mla #812 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708acaf5ba910":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708acaf5ba910":"911" + +mbedtls_mpi_core_mla #813 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000100000000":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780000000100000000":"91a" + +mbedtls_mpi_core_mla #814 0x100000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530eeea864220":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb97530eeea864220":"1234" + +mbedtls_mpi_core_mla #815 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"100000000":"0":"100000000":"0" + +mbedtls_mpi_core_mla #816 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c407f1641381":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c407f1641381":"0" + +mbedtls_mpi_core_mla #817 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4cd5c3c8aa":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4cd5c3c8aa":"0" + +mbedtls_mpi_core_mla #818 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164f263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164f263a79d5":"0" + +mbedtls_mpi_core_mla #819 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647560b44ed5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647560b44ed5":"0" + +mbedtls_mpi_core_mla #820 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12b0000":"0" + +mbedtls_mpi_core_mla #821 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c529af894ed5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c529af894ed5":"4" + +mbedtls_mpi_core_mla #822 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12c00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12c00000000":"4" + +mbedtls_mpi_core_mla #823 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412d061b3955":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412d061b3955":"26d473ca9" + +mbedtls_mpi_core_mla #824 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000100000000":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958000000100000000":"26fb9683d" + +mbedtls_mpi_core_mla #825 0x100000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fc5f129daa":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fc5f129daa":"4df72d07b" + +mbedtls_mpi_core_mla #826 0x20000000000000 + 0x0 * 0x0 +mpi_core_mla:"20000000000000":"0":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #827 0x20000000000000 + 0x0 * 0x3 +mpi_core_mla:"20000000000000":"0":"3":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #828 0x20000000000000 + 0x0 * 0xfe +mpi_core_mla:"20000000000000":"0":"fe":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #829 0x20000000000000 + 0x0 * 0xff +mpi_core_mla:"20000000000000":"0":"ff":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #830 0x20000000000000 + 0x0 * 0xffff +mpi_core_mla:"20000000000000":"0":"ffff":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #831 0x20000000000000 + 0x0 * 0x10000 +mpi_core_mla:"20000000000000":"0":"10000":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #832 0x20000000000000 + 0x0 * 0xffffffff +mpi_core_mla:"20000000000000":"0":"ffffffff":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #833 0x20000000000000 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"0":"100000000":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #834 0x20000000000000 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"0":"7f7f7f7f7f7f7f7f":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #835 0x20000000000000 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"0":"8000000000000000":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #836 0x20000000000000 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"0":"fffffffffffffffe":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #837 0x20000000000000 + 0x1 * 0x0 +mpi_core_mla:"20000000000000":"1":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #838 0x20000000000000 + 0x1 * 0x3 +mpi_core_mla:"20000000000000":"1":"3":"20000000000003":"0":"20000000000003":"0" + +mbedtls_mpi_core_mla #839 0x20000000000000 + 0x1 * 0xfe +mpi_core_mla:"20000000000000":"1":"fe":"200000000000fe":"0":"200000000000fe":"0" + +mbedtls_mpi_core_mla #840 0x20000000000000 + 0x1 * 0xff +mpi_core_mla:"20000000000000":"1":"ff":"200000000000ff":"0":"200000000000ff":"0" + +mbedtls_mpi_core_mla #841 0x20000000000000 + 0x1 * 0xffff +mpi_core_mla:"20000000000000":"1":"ffff":"2000000000ffff":"0":"2000000000ffff":"0" + +mbedtls_mpi_core_mla #842 0x20000000000000 + 0x1 * 0x10000 +mpi_core_mla:"20000000000000":"1":"10000":"20000000010000":"0":"20000000010000":"0" + +mbedtls_mpi_core_mla #843 0x20000000000000 + 0x1 * 0xffffffff +mpi_core_mla:"20000000000000":"1":"ffffffff":"200000ffffffff":"0":"200000ffffffff":"0" + +mbedtls_mpi_core_mla #844 0x20000000000000 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1":"100000000":"20000100000000":"0":"20000100000000":"0" + +mbedtls_mpi_core_mla #845 0x20000000000000 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1":"7f7f7f7f7f7f7f7f":"7f9f7f7f7f7f7f7f":"0":"7f9f7f7f7f7f7f7f":"0" + +mbedtls_mpi_core_mla #846 0x20000000000000 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1":"8000000000000000":"8020000000000000":"0":"8020000000000000":"0" + +mbedtls_mpi_core_mla #847 0x20000000000000 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1":"fffffffffffffffe":"1ffffffffffffe":"1":"1ffffffffffffe":"1" + +mbedtls_mpi_core_mla #848 0x20000000000000 + 0xfffe * 0x0 +mpi_core_mla:"20000000000000":"fffe":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #849 0x20000000000000 + 0xfffe * 0x3 +mpi_core_mla:"20000000000000":"fffe":"3":"2000000002fffa":"0":"2000000002fffa":"0" + +mbedtls_mpi_core_mla #850 0x20000000000000 + 0xfffe * 0xfe +mpi_core_mla:"20000000000000":"fffe":"fe":"20000000fdfe04":"0":"20000000fdfe04":"0" + +mbedtls_mpi_core_mla #851 0x20000000000000 + 0xfffe * 0xff +mpi_core_mla:"20000000000000":"fffe":"ff":"20000000fefe02":"0":"20000000fefe02":"0" + +mbedtls_mpi_core_mla #852 0x20000000000000 + 0xfffe * 0xffff +mpi_core_mla:"20000000000000":"fffe":"ffff":"200000fffd0002":"0":"200000fffd0002":"0" + +mbedtls_mpi_core_mla #853 0x20000000000000 + 0xfffe * 0x10000 +mpi_core_mla:"20000000000000":"fffe":"10000":"200000fffe0000":"0":"200000fffe0000":"0" + +mbedtls_mpi_core_mla #854 0x20000000000000 + 0xfffe * 0xffffffff +mpi_core_mla:"20000000000000":"fffe":"ffffffff":"20fffdffff0002":"0":"20fffdffff0002":"0" + +mbedtls_mpi_core_mla #855 0x20000000000000 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffe":"100000000":"20fffe00000000":"0":"20fffe00000000":"0" + +mbedtls_mpi_core_mla #856 0x20000000000000 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffe":"7f7f7f7f7f7f7f7f":"80a0808080800102":"7f7e":"80a0808080800102":"7f7e" + +mbedtls_mpi_core_mla #857 0x20000000000000 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffe":"8000000000000000":"20000000000000":"7fff":"20000000000000":"7fff" + +mbedtls_mpi_core_mla #858 0x20000000000000 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffe":"fffffffffffffffe":"1ffffffffe0004":"fffe":"1ffffffffe0004":"fffe" + +mbedtls_mpi_core_mla #859 0x20000000000000 + 0xffffffff * 0x0 +mpi_core_mla:"20000000000000":"ffffffff":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #860 0x20000000000000 + 0xffffffff * 0x3 +mpi_core_mla:"20000000000000":"ffffffff":"3":"200002fffffffd":"0":"200002fffffffd":"0" + +mbedtls_mpi_core_mla #861 0x20000000000000 + 0xffffffff * 0xfe +mpi_core_mla:"20000000000000":"ffffffff":"fe":"2000fdffffff02":"0":"2000fdffffff02":"0" + +mbedtls_mpi_core_mla #862 0x20000000000000 + 0xffffffff * 0xff +mpi_core_mla:"20000000000000":"ffffffff":"ff":"2000feffffff01":"0":"2000feffffff01":"0" + +mbedtls_mpi_core_mla #863 0x20000000000000 + 0xffffffff * 0xffff +mpi_core_mla:"20000000000000":"ffffffff":"ffff":"20fffeffff0001":"0":"20fffeffff0001":"0" + +mbedtls_mpi_core_mla #864 0x20000000000000 + 0xffffffff * 0x10000 +mpi_core_mla:"20000000000000":"ffffffff":"10000":"20ffffffff0000":"0":"20ffffffff0000":"0" + +mbedtls_mpi_core_mla #865 0x20000000000000 + 0xffffffff * 0xffffffff +mpi_core_mla:"20000000000000":"ffffffff":"ffffffff":"1ffffe00000001":"1":"1ffffe00000001":"1" + +mbedtls_mpi_core_mla #866 0x20000000000000 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffff":"100000000":"1fffff00000000":"1":"1fffff00000000":"1" + +mbedtls_mpi_core_mla #867 0x20000000000000 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffff":"7f7f7f7f7f7f7f7f":"1fffff80808081":"7f7f7f7f":"1fffff80808081":"7f7f7f7f" + +mbedtls_mpi_core_mla #868 0x20000000000000 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffff":"8000000000000000":"8020000000000000":"7fffffff":"8020000000000000":"7fffffff" + +mbedtls_mpi_core_mla #869 0x20000000000000 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffff":"fffffffffffffffe":"1ffffe00000002":"ffffffff":"1ffffe00000002":"ffffffff" + +mbedtls_mpi_core_mla #870 0x20000000000000 + 0x100000000 * 0x0 +mpi_core_mla:"20000000000000":"100000000":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #871 0x20000000000000 + 0x100000000 * 0x3 +mpi_core_mla:"20000000000000":"100000000":"3":"20000300000000":"0":"20000300000000":"0" + +mbedtls_mpi_core_mla #872 0x20000000000000 + 0x100000000 * 0xfe +mpi_core_mla:"20000000000000":"100000000":"fe":"2000fe00000000":"0":"2000fe00000000":"0" + +mbedtls_mpi_core_mla #873 0x20000000000000 + 0x100000000 * 0xff +mpi_core_mla:"20000000000000":"100000000":"ff":"2000ff00000000":"0":"2000ff00000000":"0" + +mbedtls_mpi_core_mla #874 0x20000000000000 + 0x100000000 * 0xffff +mpi_core_mla:"20000000000000":"100000000":"ffff":"20ffff00000000":"0":"20ffff00000000":"0" + +mbedtls_mpi_core_mla #875 0x20000000000000 + 0x100000000 * 0x10000 +mpi_core_mla:"20000000000000":"100000000":"10000":"21000000000000":"0":"21000000000000":"0" + +mbedtls_mpi_core_mla #876 0x20000000000000 + 0x100000000 * 0xffffffff +mpi_core_mla:"20000000000000":"100000000":"ffffffff":"1fffff00000000":"1":"1fffff00000000":"1" + +mbedtls_mpi_core_mla #877 0x20000000000000 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000":"100000000":"20000000000000":"1":"20000000000000":"1" + +mbedtls_mpi_core_mla #878 0x20000000000000 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000":"7f7f7f7f7f7f7f7f":"7f9f7f7f00000000":"7f7f7f7f":"7f9f7f7f00000000":"7f7f7f7f" + +mbedtls_mpi_core_mla #879 0x20000000000000 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000":"8000000000000000":"20000000000000":"80000000":"20000000000000":"80000000" + +mbedtls_mpi_core_mla #880 0x20000000000000 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000":"fffffffffffffffe":"1ffffe00000000":"100000000":"1ffffe00000000":"100000000" + +mbedtls_mpi_core_mla #881 0x20000000000000 + 0x20000000000000 * 0x0 +mpi_core_mla:"20000000000000":"20000000000000":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #882 0x20000000000000 + 0x20000000000000 * 0x3 +mpi_core_mla:"20000000000000":"20000000000000":"3":"80000000000000":"0":"80000000000000":"0" + +mbedtls_mpi_core_mla #883 0x20000000000000 + 0x20000000000000 * 0xfe +mpi_core_mla:"20000000000000":"20000000000000":"fe":"1fe0000000000000":"0":"1fe0000000000000":"0" + +mbedtls_mpi_core_mla #884 0x20000000000000 + 0x20000000000000 * 0xff +mpi_core_mla:"20000000000000":"20000000000000":"ff":"2000000000000000":"0":"2000000000000000":"0" + +mbedtls_mpi_core_mla #885 0x20000000000000 + 0x20000000000000 * 0xffff +mpi_core_mla:"20000000000000":"20000000000000":"ffff":"0":"20":"0":"20" + +mbedtls_mpi_core_mla #886 0x20000000000000 + 0x20000000000000 * 0x10000 +mpi_core_mla:"20000000000000":"20000000000000":"10000":"20000000000000":"20":"20000000000000":"20" + +mbedtls_mpi_core_mla #887 0x20000000000000 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"20000000000000":"20000000000000":"ffffffff":"0":"200000":"0":"200000" + +mbedtls_mpi_core_mla #888 0x20000000000000 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"20000000000000":"100000000":"20000000000000":"200000":"20000000000000":"200000" + +mbedtls_mpi_core_mla #889 0x20000000000000 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"20000000000000":"7f7f7f7f7f7f7f7f":"f000000000000000":"fefefefefefef":"f000000000000000":"fefefefefefef" + +mbedtls_mpi_core_mla #890 0x20000000000000 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"20000000000000":"8000000000000000":"20000000000000":"10000000000000":"20000000000000":"10000000000000" + +mbedtls_mpi_core_mla #891 0x20000000000000 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"20000000000000":"fffffffffffffffe":"ffe0000000000000":"1fffffffffffff":"ffe0000000000000":"1fffffffffffff" + +mbedtls_mpi_core_mla #892 0x20000000000000 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #893 0x20000000000000 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"3":"1ffffffffffffd":"3":"1ffffffffffffd":"3" + +mbedtls_mpi_core_mla #894 0x20000000000000 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"20000000000000":"ffffffffffffffff":"fe":"1fffffffffff02":"fe":"1fffffffffff02":"fe" + +mbedtls_mpi_core_mla #895 0x20000000000000 + 0xffffffffffffffff * 0xff +mpi_core_mla:"20000000000000":"ffffffffffffffff":"ff":"1fffffffffff01":"ff":"1fffffffffff01":"ff" + +mbedtls_mpi_core_mla #896 0x20000000000000 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"20000000000000":"ffffffffffffffff":"ffff":"1fffffffff0001":"ffff":"1fffffffff0001":"ffff" + +mbedtls_mpi_core_mla #897 0x20000000000000 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"10000":"1fffffffff0000":"10000":"1fffffffff0000":"10000" + +mbedtls_mpi_core_mla #898 0x20000000000000 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"20000000000000":"ffffffffffffffff":"ffffffff":"1fffff00000001":"ffffffff":"1fffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #899 0x20000000000000 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"100000000":"1fffff00000000":"100000000":"1fffff00000000":"100000000" + +mbedtls_mpi_core_mla #900 0x20000000000000 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"80a0808080808081":"7f7f7f7f7f7f7f7e":"80a0808080808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #901 0x20000000000000 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"8000000000000000":"8020000000000000":"7fffffffffffffff":"8020000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #902 0x20000000000000 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffff":"fffffffffffffffe":"20000000000002":"fffffffffffffffd":"20000000000002":"fffffffffffffffd" + +mbedtls_mpi_core_mla #903 0x20000000000000 + 0x10000000000000000 * 0x0 +mpi_core_mla:"20000000000000":"10000000000000000":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #904 0x20000000000000 + 0x10000000000000000 * 0x3 +mpi_core_mla:"20000000000000":"10000000000000000":"3":"30020000000000000":"0":"30020000000000000":"0" + +mbedtls_mpi_core_mla #905 0x20000000000000 + 0x10000000000000000 * 0xfe +mpi_core_mla:"20000000000000":"10000000000000000":"fe":"fe0020000000000000":"0":"fe0020000000000000":"0" + +mbedtls_mpi_core_mla #906 0x20000000000000 + 0x10000000000000000 * 0xff +mpi_core_mla:"20000000000000":"10000000000000000":"ff":"ff0020000000000000":"0":"ff0020000000000000":"0" + +mbedtls_mpi_core_mla #907 0x20000000000000 + 0x10000000000000000 * 0xffff +mpi_core_mla:"20000000000000":"10000000000000000":"ffff":"ffff0020000000000000":"0":"ffff0020000000000000":"0" + +mbedtls_mpi_core_mla #908 0x20000000000000 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"20000000000000":"10000000000000000":"10000":"100000020000000000000":"0":"100000020000000000000":"0" + +mbedtls_mpi_core_mla #909 0x20000000000000 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"20000000000000":"10000000000000000":"ffffffff":"ffffffff0020000000000000":"0":"ffffffff0020000000000000":"0" + +mbedtls_mpi_core_mla #910 0x20000000000000 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"10000000000000000":"100000000":"20000000000000":"1":"1000000000020000000000000":"0" + +mbedtls_mpi_core_mla #911 0x20000000000000 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0020000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f0020000000000000":"0" + +mbedtls_mpi_core_mla #912 0x20000000000000 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"10000000000000000":"8000000000000000":"20000000000000":"80000000":"80000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #913 0x20000000000000 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"10000000000000000":"fffffffffffffffe":"fffffffe0020000000000000":"ffffffff":"fffffffffffffffe0020000000000000":"0" + +mbedtls_mpi_core_mla #914 0x20000000000000 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #915 0x20000000000000 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"3":"369f0369b20369cd0":"0":"369f0369b20369cd0":"0" + +mbedtls_mpi_core_mla #916 0x20000000000000 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"20000000000000":"1234567890abcdef0":"fe":"120fefcb9f8a7653220":"0":"120fefcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #917 0x20000000000000 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"20000000000000":"1234567890abcdef0":"ff":"12222422181b2221110":"0":"12222422181b2221110":"0" + +mbedtls_mpi_core_mla #918 0x20000000000000 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"20000000000000":"1234567890abcdef0":"ffff":"123444463a333d4332110":"0":"123444463a333d4332110":"0" + +mbedtls_mpi_core_mla #919 0x20000000000000 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"10000":"1234567a90abcdef00000":"0":"1234567a90abcdef00000":"0" + +mbedtls_mpi_core_mla #920 0x20000000000000 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"20000000000000":"1234567890abcdef0":"ffffffff":"23456787e7977766f5432110":"1":"123456787e7977766f5432110":"0" + +mbedtls_mpi_core_mla #921 0x20000000000000 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"100000000":"234567890adcdef000000000":"1":"1234567890adcdef000000000":"0" + +mbedtls_mpi_core_mla #922 0x20000000000000 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde76f69708abaf5ba910":"91107edb":"91107edbd82bde76f69708abaf5ba910":"0" + +mbedtls_mpi_core_mla #923 0x20000000000000 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"8000000000000000":"855e6f780020000000000000":"91a2b3c4":"91a2b3c4855e6f780020000000000000":"0" + +mbedtls_mpi_core_mla #924 0x20000000000000 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef0":"fffffffffffffffe":"abcdeedb99530edea864220":"123456789":"234567890abcdeedb99530edea864220":"1" + +mbedtls_mpi_core_mla #925 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #926 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffd1cfcfcfcfcfcfa":"2":"fffffffffffffffffd1cfcfcfcfcfcfa":"2" + +mbedtls_mpi_core_mla #927 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"fe":"ffffffffffffffff0121010101010004":"fd":"ffffffffffffffff0121010101010004":"fd" + +mbedtls_mpi_core_mla #928 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffff001fffffffffff02":"fe":"ffffffffffffffff001fffffffffff02":"fe" + +mbedtls_mpi_core_mla #929 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeff001fffffffff0102":"fffe":"fffffffffffffeff001fffffffff0102":"fffe" + +mbedtls_mpi_core_mla #930 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefeff1efefefefe0000":"ffff":"fffffffffffffefeff1efefefefe0000":"ffff" + +mbedtls_mpi_core_mla #931 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefeff001fffff01010102":"fffffffe":"fffffffffefefeff001fffff01010102":"fffffffe" + +mbedtls_mpi_core_mla #932 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefeff1efefe00000000":"ffffffff":"fffffffffefefefeff1efefe00000000":"ffffffff" + +mbedtls_mpi_core_mla #933 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828524840383028202":"7f7f7f7f7f7f7f7e":"ff800081018202828524840383028202":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #934 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f0020000000000000":"7fffffffffffffff":"ff7f7f7f7f7f7f7f0020000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #935 0x20000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0222020202020204":"fffffffffffffffd":"fefefefefefefefe0222020202020204":"fffffffffffffffd" + +mbedtls_mpi_core_mla #936 0x20000000000000 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #937 0x20000000000000 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"3":"300000000000000000020000000000000":"0":"300000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #938 0x20000000000000 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"fe":"fe00000000000000000020000000000000":"0":"fe00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #939 0x20000000000000 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"ff":"ff00000000000000000020000000000000":"0":"ff00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #940 0x20000000000000 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"ffff":"ffff00000000000000000020000000000000":"0":"ffff00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #941 0x20000000000000 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"10000":"1000000000000000000000020000000000000":"0":"1000000000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #942 0x20000000000000 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"ffffffff":"ffffffff00000000000000000020000000000000":"0":"ffffffff00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #943 0x20000000000000 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"100000000":"20000000000000":"1":"10000000000000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #944 0x20000000000000 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000000000000020000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #945 0x20000000000000 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"8000000000000000":"20000000000000":"80000000":"800000000000000000000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #946 0x20000000000000 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe00000000000000000020000000000000":"ffffffff":"fffffffffffffffe00000000000000000020000000000000":"0" + +mbedtls_mpi_core_mla #947 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #948 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369f0369b20369cd0":"0":"369d0369b20369cd0369f0369b20369cd0":"0" + +mbedtls_mpi_core_mla #949 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fefcb9f8a7653220":"0":"120fedcb9f8a76532320fefcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #950 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222422181b2221110":"0":"12222222181b2221122222422181b2221110":"0" + +mbedtls_mpi_core_mla #951 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444463a333d4332110":"0":"123444443a333d433334444463a333d4332110":"0" + +mbedtls_mpi_core_mla #952 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567a90abcdef00000":"0":"1234567890abcdef01234567a90abcdef00000":"0" + +mbedtls_mpi_core_mla #953 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777887e7977766f5432110":"12":"123456787e7777767077777887e7977766f5432110":"0" + +mbedtls_mpi_core_mla #954 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef01234567890adcdef000000000":"12":"1234567890abcdef01234567890adcdef000000000":"0" + +mbedtls_mpi_core_mla #955 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f76f69708abaf5ba910":"91107edbd":"1107edbd82bde76ff8810996cde66f76f69708abaf5ba910":"9" + +mbedtls_mpi_core_mla #956 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f780020000000000000":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f780020000000000000":"9" + +mbedtls_mpi_core_mla #957 0x20000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100edb99530edea864220":"1234567890":"34567890abcdeedcba987667b32100edb99530edea864220":"12" + +mbedtls_mpi_core_mla #958 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #959 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"1ffffffffffffd":"3":"1ffffffffffffd":"3" + +mbedtls_mpi_core_mla #960 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"1fffffffffff02":"fe":"1fffffffffff02":"fe" + +mbedtls_mpi_core_mla #961 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"1fffffffffff01":"ff":"1fffffffffff01":"ff" + +mbedtls_mpi_core_mla #962 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"1fffffffff0001":"ffff":"1fffffffff0001":"ffff" + +mbedtls_mpi_core_mla #963 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"1fffffffff0000":"10000":"1fffffffff0000":"10000" + +mbedtls_mpi_core_mla #964 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"1fffff00000001":"ffffffff":"1fffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #965 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"1fffff00000000":"100000000":"1fffff00000000":"100000000" + +mbedtls_mpi_core_mla #966 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff80a0808080808081":"7f7f7f7f7f7f7f7e":"ffffffffffffffffffffffffffffffffffffffffffffffff80a0808080808081":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #967 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff8020000000000000":"7fffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffff8020000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #968 0x20000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0020000000000002":"fffffffffffffffd":"ffffffffffffffffffffffffffffffffffffffffffffffff0020000000000002":"fffffffffffffffd" + +mbedtls_mpi_core_mla #969 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #970 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369f0369b20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0369f0369b20369cd0":"0" + +mbedtls_mpi_core_mla #971 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fefcb9f8a7653220":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fefcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #972 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122222422181b2221110":"0":"12222222181b2221122222222181b2221122222222181b2221122222422181b2221110":"0" + +mbedtls_mpi_core_mla #973 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334444463a333d4332110":"0":"123444443a333d433334444443a333d433334444443a333d433334444463a333d4332110":"0" + +mbedtls_mpi_core_mla #974 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567a90abcdef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567a90abcdef00000":"0" + +mbedtls_mpi_core_mla #975 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777887e7977766f5432110":"1234":"123456787e7777767077777887e7777767077777887e7777767077777887e7977766f5432110":"0" + +mbedtls_mpi_core_mla #976 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef01234567890adcdef000000000":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890adcdef000000000":"0" + +mbedtls_mpi_core_mla #977 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f69708abaf5ba910":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f76f69708abaf5ba910":"911" + +mbedtls_mpi_core_mla #978 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780020000000000000":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f780020000000000000":"91a" + +mbedtls_mpi_core_mla #979 0x20000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100edb99530edea864220":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100edb99530edea864220":"1234" + +mbedtls_mpi_core_mla #980 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"20000000000000":"0":"20000000000000":"0" + +mbedtls_mpi_core_mla #981 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b25c406f1641381":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b25c406f1641381":"0" + +mbedtls_mpi_core_mla #982 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d3050082a4bd5c3c8aa":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d3050082a4bd5c3c8aa":"0" + +mbedtls_mpi_core_mla #983 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a90a164e263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a90a164e263a79d5":"0" + +mbedtls_mpi_core_mla #984 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9320647460b44ed5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9320647460b44ed5":"0" + +mbedtls_mpi_core_mla #985 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec225076b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec225076b12b0000":"0" + +mbedtls_mpi_core_mla #986 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df794c528af894ed5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df794c528af894ed5":"4" + +mbedtls_mpi_core_mla #987 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025096b12b00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025096b12b00000000":"4" + +mbedtls_mpi_core_mla #988 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d55412c061b3955":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d55412c061b3955":"26d473ca9" + +mbedtls_mpi_core_mla #989 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958020000000000000":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58958020000000000000":"26fb9683d" + +mbedtls_mpi_core_mla #990 0x20000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"20000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024e1c27fb5f129daa":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024e1c27fb5f129daa":"4df72d07b" + +mbedtls_mpi_core_mla #991 0xffffffffffffffff + 0x0 * 0x0 +mpi_core_mla:"ffffffffffffffff":"0":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #992 0xffffffffffffffff + 0x0 * 0x3 +mpi_core_mla:"ffffffffffffffff":"0":"3":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #993 0xffffffffffffffff + 0x0 * 0xfe +mpi_core_mla:"ffffffffffffffff":"0":"fe":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #994 0xffffffffffffffff + 0x0 * 0xff +mpi_core_mla:"ffffffffffffffff":"0":"ff":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #995 0xffffffffffffffff + 0x0 * 0xffff +mpi_core_mla:"ffffffffffffffff":"0":"ffff":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #996 0xffffffffffffffff + 0x0 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"0":"10000":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #997 0xffffffffffffffff + 0x0 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"0":"ffffffff":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #998 0xffffffffffffffff + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"0":"100000000":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #999 0xffffffffffffffff + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"0":"7f7f7f7f7f7f7f7f":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1000 0xffffffffffffffff + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"0":"8000000000000000":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1001 0xffffffffffffffff + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"0":"fffffffffffffffe":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1002 0xffffffffffffffff + 0x1 * 0x0 +mpi_core_mla:"ffffffffffffffff":"1":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1003 0xffffffffffffffff + 0x1 * 0x3 +mpi_core_mla:"ffffffffffffffff":"1":"3":"2":"1":"2":"1" + +mbedtls_mpi_core_mla #1004 0xffffffffffffffff + 0x1 * 0xfe +mpi_core_mla:"ffffffffffffffff":"1":"fe":"fd":"1":"fd":"1" + +mbedtls_mpi_core_mla #1005 0xffffffffffffffff + 0x1 * 0xff +mpi_core_mla:"ffffffffffffffff":"1":"ff":"fe":"1":"fe":"1" + +mbedtls_mpi_core_mla #1006 0xffffffffffffffff + 0x1 * 0xffff +mpi_core_mla:"ffffffffffffffff":"1":"ffff":"fffe":"1":"fffe":"1" + +mbedtls_mpi_core_mla #1007 0xffffffffffffffff + 0x1 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"1":"10000":"ffff":"1":"ffff":"1" + +mbedtls_mpi_core_mla #1008 0xffffffffffffffff + 0x1 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"1":"ffffffff":"fffffffe":"1":"fffffffe":"1" + +mbedtls_mpi_core_mla #1009 0xffffffffffffffff + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1":"100000000":"ffffffff":"1":"ffffffff":"1" + +mbedtls_mpi_core_mla #1010 0xffffffffffffffff + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7e":"1":"7f7f7f7f7f7f7f7e":"1" + +mbedtls_mpi_core_mla #1011 0xffffffffffffffff + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1":"8000000000000000":"7fffffffffffffff":"1":"7fffffffffffffff":"1" + +mbedtls_mpi_core_mla #1012 0xffffffffffffffff + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1":"fffffffffffffffe":"fffffffffffffffd":"1":"fffffffffffffffd":"1" + +mbedtls_mpi_core_mla #1013 0xffffffffffffffff + 0xfffe * 0x0 +mpi_core_mla:"ffffffffffffffff":"fffe":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1014 0xffffffffffffffff + 0xfffe * 0x3 +mpi_core_mla:"ffffffffffffffff":"fffe":"3":"2fff9":"1":"2fff9":"1" + +mbedtls_mpi_core_mla #1015 0xffffffffffffffff + 0xfffe * 0xfe +mpi_core_mla:"ffffffffffffffff":"fffe":"fe":"fdfe03":"1":"fdfe03":"1" + +mbedtls_mpi_core_mla #1016 0xffffffffffffffff + 0xfffe * 0xff +mpi_core_mla:"ffffffffffffffff":"fffe":"ff":"fefe01":"1":"fefe01":"1" + +mbedtls_mpi_core_mla #1017 0xffffffffffffffff + 0xfffe * 0xffff +mpi_core_mla:"ffffffffffffffff":"fffe":"ffff":"fffd0001":"1":"fffd0001":"1" + +mbedtls_mpi_core_mla #1018 0xffffffffffffffff + 0xfffe * 0x10000 +mpi_core_mla:"ffffffffffffffff":"fffe":"10000":"fffdffff":"1":"fffdffff":"1" + +mbedtls_mpi_core_mla #1019 0xffffffffffffffff + 0xfffe * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"fffe":"ffffffff":"fffdffff0001":"1":"fffdffff0001":"1" + +mbedtls_mpi_core_mla #1020 0xffffffffffffffff + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffe":"100000000":"fffdffffffff":"1":"fffdffffffff":"1" + +mbedtls_mpi_core_mla #1021 0xffffffffffffffff + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffe":"7f7f7f7f7f7f7f7f":"8080808080800101":"7f7f":"8080808080800101":"7f7f" + +mbedtls_mpi_core_mla #1022 0xffffffffffffffff + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffe":"8000000000000000":"ffffffffffffffff":"7fff":"ffffffffffffffff":"7fff" + +mbedtls_mpi_core_mla #1023 0xffffffffffffffff + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffe":"fffffffffffffffe":"fffffffffffe0003":"fffe":"fffffffffffe0003":"fffe" + +mbedtls_mpi_core_mla #1024 0xffffffffffffffff + 0xffffffff * 0x0 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1025 0xffffffffffffffff + 0xffffffff * 0x3 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"3":"2fffffffc":"1":"2fffffffc":"1" + +mbedtls_mpi_core_mla #1026 0xffffffffffffffff + 0xffffffff * 0xfe +mpi_core_mla:"ffffffffffffffff":"ffffffff":"fe":"fdffffff01":"1":"fdffffff01":"1" + +mbedtls_mpi_core_mla #1027 0xffffffffffffffff + 0xffffffff * 0xff +mpi_core_mla:"ffffffffffffffff":"ffffffff":"ff":"feffffff00":"1":"feffffff00":"1" + +mbedtls_mpi_core_mla #1028 0xffffffffffffffff + 0xffffffff * 0xffff +mpi_core_mla:"ffffffffffffffff":"ffffffff":"ffff":"fffeffff0000":"1":"fffeffff0000":"1" + +mbedtls_mpi_core_mla #1029 0xffffffffffffffff + 0xffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"10000":"fffffffeffff":"1":"fffffffeffff":"1" + +mbedtls_mpi_core_mla #1030 0xffffffffffffffff + 0xffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"ffffffff":"ffffffff":"fffffffe00000000":"1":"fffffffe00000000":"1" + +mbedtls_mpi_core_mla #1031 0xffffffffffffffff + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"100000000":"fffffffeffffffff":"1":"fffffffeffffffff":"1" + +mbedtls_mpi_core_mla #1032 0xffffffffffffffff + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"7f7f7f7f7f7f7f7f":"ffffffff80808080":"7f7f7f7f":"ffffffff80808080":"7f7f7f7f" + +mbedtls_mpi_core_mla #1033 0xffffffffffffffff + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"8000000000000000":"7fffffffffffffff":"80000000":"7fffffffffffffff":"80000000" + +mbedtls_mpi_core_mla #1034 0xffffffffffffffff + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffff":"fffffffffffffffe":"fffffffe00000001":"ffffffff":"fffffffe00000001":"ffffffff" + +mbedtls_mpi_core_mla #1035 0xffffffffffffffff + 0x100000000 * 0x0 +mpi_core_mla:"ffffffffffffffff":"100000000":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1036 0xffffffffffffffff + 0x100000000 * 0x3 +mpi_core_mla:"ffffffffffffffff":"100000000":"3":"2ffffffff":"1":"2ffffffff":"1" + +mbedtls_mpi_core_mla #1037 0xffffffffffffffff + 0x100000000 * 0xfe +mpi_core_mla:"ffffffffffffffff":"100000000":"fe":"fdffffffff":"1":"fdffffffff":"1" + +mbedtls_mpi_core_mla #1038 0xffffffffffffffff + 0x100000000 * 0xff +mpi_core_mla:"ffffffffffffffff":"100000000":"ff":"feffffffff":"1":"feffffffff":"1" + +mbedtls_mpi_core_mla #1039 0xffffffffffffffff + 0x100000000 * 0xffff +mpi_core_mla:"ffffffffffffffff":"100000000":"ffff":"fffeffffffff":"1":"fffeffffffff":"1" + +mbedtls_mpi_core_mla #1040 0xffffffffffffffff + 0x100000000 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"100000000":"10000":"ffffffffffff":"1":"ffffffffffff":"1" + +mbedtls_mpi_core_mla #1041 0xffffffffffffffff + 0x100000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"100000000":"ffffffff":"fffffffeffffffff":"1":"fffffffeffffffff":"1" + +mbedtls_mpi_core_mla #1042 0xffffffffffffffff + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000":"100000000":"ffffffffffffffff":"1":"ffffffffffffffff":"1" + +mbedtls_mpi_core_mla #1043 0xffffffffffffffff + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7effffffff":"7f7f7f80":"7f7f7f7effffffff":"7f7f7f80" + +mbedtls_mpi_core_mla #1044 0xffffffffffffffff + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000":"8000000000000000":"ffffffffffffffff":"80000000":"ffffffffffffffff":"80000000" + +mbedtls_mpi_core_mla #1045 0xffffffffffffffff + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000":"fffffffffffffffe":"fffffffdffffffff":"100000000":"fffffffdffffffff":"100000000" + +mbedtls_mpi_core_mla #1046 0xffffffffffffffff + 0x20000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1047 0xffffffffffffffff + 0x20000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"3":"5fffffffffffff":"1":"5fffffffffffff":"1" + +mbedtls_mpi_core_mla #1048 0xffffffffffffffff + 0x20000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffff":"20000000000000":"fe":"1fbfffffffffffff":"1":"1fbfffffffffffff":"1" + +mbedtls_mpi_core_mla #1049 0xffffffffffffffff + 0x20000000000000 * 0xff +mpi_core_mla:"ffffffffffffffff":"20000000000000":"ff":"1fdfffffffffffff":"1":"1fdfffffffffffff":"1" + +mbedtls_mpi_core_mla #1050 0xffffffffffffffff + 0x20000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffff":"20000000000000":"ffff":"ffdfffffffffffff":"20":"ffdfffffffffffff":"20" + +mbedtls_mpi_core_mla #1051 0xffffffffffffffff + 0x20000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"10000":"ffffffffffffffff":"20":"ffffffffffffffff":"20" + +mbedtls_mpi_core_mla #1052 0xffffffffffffffff + 0x20000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"20000000000000":"ffffffff":"ffdfffffffffffff":"200000":"ffdfffffffffffff":"200000" + +mbedtls_mpi_core_mla #1053 0xffffffffffffffff + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"100000000":"ffffffffffffffff":"200000":"ffffffffffffffff":"200000" + +mbedtls_mpi_core_mla #1054 0xffffffffffffffff + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"7f7f7f7f7f7f7f7f":"efdfffffffffffff":"fefefefefeff0":"efdfffffffffffff":"fefefefefeff0" + +mbedtls_mpi_core_mla #1055 0xffffffffffffffff + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"8000000000000000":"ffffffffffffffff":"10000000000000":"ffffffffffffffff":"10000000000000" + +mbedtls_mpi_core_mla #1056 0xffffffffffffffff + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"20000000000000":"fffffffffffffffe":"ffbfffffffffffff":"20000000000000":"ffbfffffffffffff":"20000000000000" + +mbedtls_mpi_core_mla #1057 0xffffffffffffffff + 0xffffffffffffffff * 0x0 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1058 0xffffffffffffffff + 0xffffffffffffffff * 0x3 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"3":"fffffffffffffffc":"3":"fffffffffffffffc":"3" + +mbedtls_mpi_core_mla #1059 0xffffffffffffffff + 0xffffffffffffffff * 0xfe +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"fe":"ffffffffffffff01":"fe":"ffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #1060 0xffffffffffffffff + 0xffffffffffffffff * 0xff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"ff":"ffffffffffffff00":"ff":"ffffffffffffff00":"ff" + +mbedtls_mpi_core_mla #1061 0xffffffffffffffff + 0xffffffffffffffff * 0xffff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"ffff":"ffffffffffff0000":"ffff":"ffffffffffff0000":"ffff" + +mbedtls_mpi_core_mla #1062 0xffffffffffffffff + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"10000":"fffffffffffeffff":"10000":"fffffffffffeffff":"10000" + +mbedtls_mpi_core_mla #1063 0xffffffffffffffff + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"ffffffff":"ffffffff00000000":"ffffffff":"ffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #1064 0xffffffffffffffff + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"100000000":"fffffffeffffffff":"100000000":"fffffffeffffffff":"100000000" + +mbedtls_mpi_core_mla #1065 0xffffffffffffffff + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808080808080":"7f7f7f7f7f7f7f7f":"8080808080808080":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1066 0xffffffffffffffff + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"8000000000000000":"7fffffffffffffff":"8000000000000000":"7fffffffffffffff":"8000000000000000" + +mbedtls_mpi_core_mla #1067 0xffffffffffffffff + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffff":"fffffffffffffffe":"1":"fffffffffffffffe":"1":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1068 0xffffffffffffffff + 0x10000000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1069 0xffffffffffffffff + 0x10000000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"3":"3ffffffffffffffff":"0":"3ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1070 0xffffffffffffffff + 0x10000000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"fe":"feffffffffffffffff":"0":"feffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1071 0xffffffffffffffff + 0x10000000000000000 * 0xff +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"ff":"ffffffffffffffffff":"0":"ffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1072 0xffffffffffffffff + 0x10000000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"ffff":"ffffffffffffffffffff":"0":"ffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1073 0xffffffffffffffff + 0x10000000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"10000":"10000ffffffffffffffff":"0":"10000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1074 0xffffffffffffffff + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"ffffffff":"ffffffffffffffffffffffff":"0":"ffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1075 0xffffffffffffffff + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"100000000":"ffffffffffffffff":"1":"100000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1076 0xffffffffffffffff + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7fffffffffffffffff":"7f7f7f7f":"7f7f7f7f7f7f7f7fffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1077 0xffffffffffffffff + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"8000000000000000":"ffffffffffffffff":"80000000":"8000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1078 0xffffffffffffffff + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"10000000000000000":"fffffffffffffffe":"fffffffeffffffffffffffff":"ffffffff":"fffffffffffffffeffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1079 0xffffffffffffffff + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1080 0xffffffffffffffff + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"3":"469d0369b20369ccf":"0":"469d0369b20369ccf":"0" + +mbedtls_mpi_core_mla #1081 0xffffffffffffffff + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"fe":"121fedcb9f8a765321f":"0":"121fedcb9f8a765321f":"0" + +mbedtls_mpi_core_mla #1082 0xffffffffffffffff + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"ff":"12322222181b222110f":"0":"12322222181b222110f":"0" + +mbedtls_mpi_core_mla #1083 0xffffffffffffffff + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"ffff":"123454443a333d433210f":"0":"123454443a333d433210f":"0" + +mbedtls_mpi_core_mla #1084 0xffffffffffffffff + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"10000":"1234667890abcdeefffff":"0":"1234667890abcdeefffff":"0" + +mbedtls_mpi_core_mla #1085 0xffffffffffffffff + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"ffffffff":"23456788e7777766f543210f":"1":"123456788e7777766f543210f":"0" + +mbedtls_mpi_core_mla #1086 0xffffffffffffffff + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"100000000":"2345678a0abcdeefffffffff":"1":"12345678a0abcdeefffffffff":"0" + +mbedtls_mpi_core_mla #1087 0xffffffffffffffff + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde77f67708abaf5ba90f":"91107edb":"91107edbd82bde77f67708abaf5ba90f":"0" + +mbedtls_mpi_core_mla #1088 0xffffffffffffffff + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"8000000000000000":"855e6f78ffffffffffffffff":"91a2b3c4":"91a2b3c4855e6f78ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1089 0xffffffffffffffff + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef0":"fffffffffffffffe":"abcdeeeb97530edea86421f":"123456789":"234567890abcdeeeb97530edea86421f":"1" + +mbedtls_mpi_core_mla #1090 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1091 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"3":"fcfcfcfcfcfcfcf9":"3":"fcfcfcfcfcfcfcf9":"3" + +mbedtls_mpi_core_mla #1092 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fe":"101010101010003":"fe":"101010101010003":"fe" + +mbedtls_mpi_core_mla #1093 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffffffffffffffffff01":"fe":"ffffffffffffffffffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #1094 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeffffffffffffff0101":"fffe":"fffffffffffffeffffffffffffff0101":"fffe" + +mbedtls_mpi_core_mla #1095 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefffefefefefefdffff":"ffff":"fffffffffffffefffefefefefefdffff":"ffff" + +mbedtls_mpi_core_mla #1096 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefeffffffffff01010101":"fffffffe":"fffffffffefefeffffffffff01010101":"fffffffe" + +mbedtls_mpi_core_mla #1097 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefffefefefdffffffff":"ffffffff":"fffffffffefefefffefefefdffffffff":"ffffffff" + +mbedtls_mpi_core_mla #1098 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202838504840383028201":"7f7f7f7f7f7f7f7e":"ff800081018202838504840383028201":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #1099 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7fffffffffffffffff":"7fffffffffffffff":"ff7f7f7f7f7f7f7fffffffffffffffff":"7fffffffffffffff" + +mbedtls_mpi_core_mla #1100 0xffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefeff0202020202020203":"fffffffffffffffd":"fefefefefefefeff0202020202020203":"fffffffffffffffd" + +mbedtls_mpi_core_mla #1101 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1102 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"3":"30000000000000000ffffffffffffffff":"0":"30000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1103 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"fe":"fe0000000000000000ffffffffffffffff":"0":"fe0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1104 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"ff":"ff0000000000000000ffffffffffffffff":"0":"ff0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1105 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"ffff":"ffff0000000000000000ffffffffffffffff":"0":"ffff0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1106 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"10000":"100000000000000000000ffffffffffffffff":"0":"100000000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1107 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"ffffffff":"ffffffff0000000000000000ffffffffffffffff":"0":"ffffffff0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1108 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"100000000":"ffffffffffffffff":"1":"1000000000000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1109 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000000000000ffffffffffffffff":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1110 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"8000000000000000":"ffffffffffffffff":"80000000":"80000000000000000000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1111 0xffffffffffffffff + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe0000000000000000ffffffffffffffff":"ffffffff":"fffffffffffffffe0000000000000000ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1112 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1113 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0469d0369b20369ccf":"0":"369d0369b20369cd0469d0369b20369ccf":"0" + +mbedtls_mpi_core_mla #1114 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532321fedcb9f8a765321f":"0":"120fedcb9f8a76532321fedcb9f8a765321f":"0" + +mbedtls_mpi_core_mla #1115 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122322222181b222110f":"0":"12222222181b2221122322222181b222110f":"0" + +mbedtls_mpi_core_mla #1116 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334454443a333d433210f":"0":"123444443a333d433334454443a333d433210f":"0" + +mbedtls_mpi_core_mla #1117 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234667890abcdeefffff":"0":"1234567890abcdef01234667890abcdeefffff":"0" + +mbedtls_mpi_core_mla #1118 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777888e7777766f543210f":"12":"123456787e7777767077777888e7777766f543210f":"0" + +mbedtls_mpi_core_mla #1119 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef012345678a0abcdeefffffffff":"12":"1234567890abcdef012345678a0abcdeefffffffff":"0" + +mbedtls_mpi_core_mla #1120 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f77f67708abaf5ba90f":"91107edbd":"1107edbd82bde76ff8810996cde66f77f67708abaf5ba90f":"9" + +mbedtls_mpi_core_mla #1121 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f78ffffffffffffffff":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f78ffffffffffffffff":"9" + +mbedtls_mpi_core_mla #1122 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100eeb97530edea86421f":"1234567890":"34567890abcdeedcba987667b32100eeb97530edea86421f":"12" + +mbedtls_mpi_core_mla #1123 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1124 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffc":"3":"fffffffffffffffc":"3" + +mbedtls_mpi_core_mla #1125 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffff01":"fe":"ffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #1126 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffff00":"ff":"ffffffffffffff00":"ff" + +mbedtls_mpi_core_mla #1127 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffff0000":"ffff":"ffffffffffff0000":"ffff" + +mbedtls_mpi_core_mla #1128 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"fffffffffffeffff":"10000":"fffffffffffeffff":"10000" + +mbedtls_mpi_core_mla #1129 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffff00000000":"ffffffff":"ffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #1130 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"fffffffeffffffff":"100000000":"fffffffeffffffff":"100000000" + +mbedtls_mpi_core_mla #1131 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808080808080":"7f7f7f7f7f7f7f7f":"8080808080808080":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1132 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"7fffffffffffffff":"8000000000000000":"7fffffffffffffff":"8000000000000000" + +mbedtls_mpi_core_mla #1133 0xffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"1":"fffffffffffffffe":"1":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1134 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1135 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0469d0369b20369ccf":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0469d0369b20369ccf":"0" + +mbedtls_mpi_core_mla #1136 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532321fedcb9f8a765321f":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532321fedcb9f8a765321f":"0" + +mbedtls_mpi_core_mla #1137 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122322222181b222110f":"0":"12222222181b2221122222222181b2221122222222181b2221122322222181b222110f":"0" + +mbedtls_mpi_core_mla #1138 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334454443a333d433210f":"0":"123444443a333d433334444443a333d433334444443a333d433334454443a333d433210f":"0" + +mbedtls_mpi_core_mla #1139 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdeefffff":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdeefffff":"0" + +mbedtls_mpi_core_mla #1140 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777888e7777766f543210f":"1234":"123456787e7777767077777887e7777767077777887e7777767077777888e7777766f543210f":"0" + +mbedtls_mpi_core_mla #1141 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdeefffffffff":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdeefffffffff":"0" + +mbedtls_mpi_core_mla #1142 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f77f67708abaf5ba90f":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f77f67708abaf5ba90f":"911" + +mbedtls_mpi_core_mla #1143 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78ffffffffffffffff":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78ffffffffffffffff":"91a" + +mbedtls_mpi_core_mla #1144 0xffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100eeb97530edea86421f":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100eeb97530edea86421f":"1234" + +mbedtls_mpi_core_mla #1145 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ffffffffffffffff":"0":"ffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1146 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe0b05c406f1641380":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe0b05c406f1641380":"0" + +mbedtls_mpi_core_mla #1147 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d314fe82a4bd5c3c8a9":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d314fe82a4bd5c3c8a9":"0" + +mbedtls_mpi_core_mla #1148 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5a8ea164e263a79d4":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5a8ea164e263a79d4":"0" + +mbedtls_mpi_core_mla #1149 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356e9300647460b44ed4":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356e9300647460b44ed4":"0" + +mbedtls_mpi_core_mla #1150 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12affff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12affff":"0" + +mbedtls_mpi_core_mla #1151 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86ef774c528af894ed4":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86ef774c528af894ed4":"4" + +mbedtls_mpi_core_mla #1152 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12affffffff":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12affffffff":"4" + +mbedtls_mpi_core_mla #1153 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a15d35412c061b3954":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a15d35412c061b3954":"26d473ca9" + +mbedtls_mpi_core_mla #1154 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58967fffffffffffffff":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58967fffffffffffffff":"26fb9683d" + +mbedtls_mpi_core_mla #1155 0xffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a034dfc27fb5f129da9":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a034dfc27fb5f129da9":"4df72d07b" + +mbedtls_mpi_core_mla #1156 0x10000000000000000 + 0x0 * 0x0 +mpi_core_mla:"10000000000000000":"0":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1157 0x10000000000000000 + 0x0 * 0x3 +mpi_core_mla:"10000000000000000":"0":"3":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1158 0x10000000000000000 + 0x0 * 0xfe +mpi_core_mla:"10000000000000000":"0":"fe":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1159 0x10000000000000000 + 0x0 * 0xff +mpi_core_mla:"10000000000000000":"0":"ff":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1160 0x10000000000000000 + 0x0 * 0xffff +mpi_core_mla:"10000000000000000":"0":"ffff":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1161 0x10000000000000000 + 0x0 * 0x10000 +mpi_core_mla:"10000000000000000":"0":"10000":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1162 0x10000000000000000 + 0x0 * 0xffffffff +mpi_core_mla:"10000000000000000":"0":"ffffffff":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1163 0x10000000000000000 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"0":"100000000":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1164 0x10000000000000000 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"0":"7f7f7f7f7f7f7f7f":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1165 0x10000000000000000 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"0":"8000000000000000":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1166 0x10000000000000000 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"0":"fffffffffffffffe":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1167 0x10000000000000000 + 0x1 * 0x0 +mpi_core_mla:"10000000000000000":"1":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1168 0x10000000000000000 + 0x1 * 0x3 +mpi_core_mla:"10000000000000000":"1":"3":"10000000000000003":"0":"10000000000000003":"0" + +mbedtls_mpi_core_mla #1169 0x10000000000000000 + 0x1 * 0xfe +mpi_core_mla:"10000000000000000":"1":"fe":"100000000000000fe":"0":"100000000000000fe":"0" + +mbedtls_mpi_core_mla #1170 0x10000000000000000 + 0x1 * 0xff +mpi_core_mla:"10000000000000000":"1":"ff":"100000000000000ff":"0":"100000000000000ff":"0" + +mbedtls_mpi_core_mla #1171 0x10000000000000000 + 0x1 * 0xffff +mpi_core_mla:"10000000000000000":"1":"ffff":"1000000000000ffff":"0":"1000000000000ffff":"0" + +mbedtls_mpi_core_mla #1172 0x10000000000000000 + 0x1 * 0x10000 +mpi_core_mla:"10000000000000000":"1":"10000":"10000000000010000":"0":"10000000000010000":"0" + +mbedtls_mpi_core_mla #1173 0x10000000000000000 + 0x1 * 0xffffffff +mpi_core_mla:"10000000000000000":"1":"ffffffff":"100000000ffffffff":"0":"100000000ffffffff":"0" + +mbedtls_mpi_core_mla #1174 0x10000000000000000 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1":"100000000":"10000000100000000":"0":"10000000100000000":"0" + +mbedtls_mpi_core_mla #1175 0x10000000000000000 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1":"7f7f7f7f7f7f7f7f":"17f7f7f7f7f7f7f7f":"0":"17f7f7f7f7f7f7f7f":"0" + +mbedtls_mpi_core_mla #1176 0x10000000000000000 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1":"8000000000000000":"18000000000000000":"0":"18000000000000000":"0" + +mbedtls_mpi_core_mla #1177 0x10000000000000000 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1":"fffffffffffffffe":"1fffffffffffffffe":"0":"1fffffffffffffffe":"0" + +mbedtls_mpi_core_mla #1178 0x10000000000000000 + 0xfffe * 0x0 +mpi_core_mla:"10000000000000000":"fffe":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1179 0x10000000000000000 + 0xfffe * 0x3 +mpi_core_mla:"10000000000000000":"fffe":"3":"1000000000002fffa":"0":"1000000000002fffa":"0" + +mbedtls_mpi_core_mla #1180 0x10000000000000000 + 0xfffe * 0xfe +mpi_core_mla:"10000000000000000":"fffe":"fe":"10000000000fdfe04":"0":"10000000000fdfe04":"0" + +mbedtls_mpi_core_mla #1181 0x10000000000000000 + 0xfffe * 0xff +mpi_core_mla:"10000000000000000":"fffe":"ff":"10000000000fefe02":"0":"10000000000fefe02":"0" + +mbedtls_mpi_core_mla #1182 0x10000000000000000 + 0xfffe * 0xffff +mpi_core_mla:"10000000000000000":"fffe":"ffff":"100000000fffd0002":"0":"100000000fffd0002":"0" + +mbedtls_mpi_core_mla #1183 0x10000000000000000 + 0xfffe * 0x10000 +mpi_core_mla:"10000000000000000":"fffe":"10000":"100000000fffe0000":"0":"100000000fffe0000":"0" + +mbedtls_mpi_core_mla #1184 0x10000000000000000 + 0xfffe * 0xffffffff +mpi_core_mla:"10000000000000000":"fffe":"ffffffff":"10000fffdffff0002":"0":"10000fffdffff0002":"0" + +mbedtls_mpi_core_mla #1185 0x10000000000000000 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffe":"100000000":"10000fffe00000000":"0":"10000fffe00000000":"0" + +mbedtls_mpi_core_mla #1186 0x10000000000000000 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffe":"7f7f7f7f7f7f7f7f":"7f7f8080808080800102":"0":"7f7f8080808080800102":"0" + +mbedtls_mpi_core_mla #1187 0x10000000000000000 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffe":"8000000000000000":"80000000000000000000":"0":"80000000000000000000":"0" + +mbedtls_mpi_core_mla #1188 0x10000000000000000 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffe":"fffffffffffffffe":"fffefffffffffffe0004":"0":"fffefffffffffffe0004":"0" + +mbedtls_mpi_core_mla #1189 0x10000000000000000 + 0xffffffff * 0x0 +mpi_core_mla:"10000000000000000":"ffffffff":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1190 0x10000000000000000 + 0xffffffff * 0x3 +mpi_core_mla:"10000000000000000":"ffffffff":"3":"100000002fffffffd":"0":"100000002fffffffd":"0" + +mbedtls_mpi_core_mla #1191 0x10000000000000000 + 0xffffffff * 0xfe +mpi_core_mla:"10000000000000000":"ffffffff":"fe":"1000000fdffffff02":"0":"1000000fdffffff02":"0" + +mbedtls_mpi_core_mla #1192 0x10000000000000000 + 0xffffffff * 0xff +mpi_core_mla:"10000000000000000":"ffffffff":"ff":"1000000feffffff01":"0":"1000000feffffff01":"0" + +mbedtls_mpi_core_mla #1193 0x10000000000000000 + 0xffffffff * 0xffff +mpi_core_mla:"10000000000000000":"ffffffff":"ffff":"10000fffeffff0001":"0":"10000fffeffff0001":"0" + +mbedtls_mpi_core_mla #1194 0x10000000000000000 + 0xffffffff * 0x10000 +mpi_core_mla:"10000000000000000":"ffffffff":"10000":"10000ffffffff0000":"0":"10000ffffffff0000":"0" + +mbedtls_mpi_core_mla #1195 0x10000000000000000 + 0xffffffff * 0xffffffff +mpi_core_mla:"10000000000000000":"ffffffff":"ffffffff":"1fffffffe00000001":"0":"1fffffffe00000001":"0" + +mbedtls_mpi_core_mla #1196 0x10000000000000000 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffff":"100000000":"1ffffffff00000000":"0":"1ffffffff00000000":"0" + +mbedtls_mpi_core_mla #1197 0x10000000000000000 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7fffffffff80808081":"0":"7f7f7f7fffffffff80808081":"0" + +mbedtls_mpi_core_mla #1198 0x10000000000000000 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffff":"8000000000000000":"800000008000000000000000":"0":"800000008000000000000000":"0" + +mbedtls_mpi_core_mla #1199 0x10000000000000000 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffff":"fffffffffffffffe":"fffffffffffffffe00000002":"0":"fffffffffffffffe00000002":"0" + +mbedtls_mpi_core_mla #1200 0x10000000000000000 + 0x100000000 * 0x0 +mpi_core_mla:"10000000000000000":"100000000":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1201 0x10000000000000000 + 0x100000000 * 0x3 +mpi_core_mla:"10000000000000000":"100000000":"3":"10000000300000000":"0":"10000000300000000":"0" + +mbedtls_mpi_core_mla #1202 0x10000000000000000 + 0x100000000 * 0xfe +mpi_core_mla:"10000000000000000":"100000000":"fe":"1000000fe00000000":"0":"1000000fe00000000":"0" + +mbedtls_mpi_core_mla #1203 0x10000000000000000 + 0x100000000 * 0xff +mpi_core_mla:"10000000000000000":"100000000":"ff":"1000000ff00000000":"0":"1000000ff00000000":"0" + +mbedtls_mpi_core_mla #1204 0x10000000000000000 + 0x100000000 * 0xffff +mpi_core_mla:"10000000000000000":"100000000":"ffff":"10000ffff00000000":"0":"10000ffff00000000":"0" + +mbedtls_mpi_core_mla #1205 0x10000000000000000 + 0x100000000 * 0x10000 +mpi_core_mla:"10000000000000000":"100000000":"10000":"10001000000000000":"0":"10001000000000000":"0" + +mbedtls_mpi_core_mla #1206 0x10000000000000000 + 0x100000000 * 0xffffffff +mpi_core_mla:"10000000000000000":"100000000":"ffffffff":"1ffffffff00000000":"0":"1ffffffff00000000":"0" + +mbedtls_mpi_core_mla #1207 0x10000000000000000 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000":"100000000":"20000000000000000":"0":"20000000000000000":"0" + +mbedtls_mpi_core_mla #1208 0x10000000000000000 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f807f7f7f7f00000000":"0":"7f7f7f807f7f7f7f00000000":"0" + +mbedtls_mpi_core_mla #1209 0x10000000000000000 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000":"8000000000000000":"800000010000000000000000":"0":"800000010000000000000000":"0" + +mbedtls_mpi_core_mla #1210 0x10000000000000000 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000":"fffffffffffffffe":"fffffffe00000000":"1":"100000000fffffffe00000000":"0" + +mbedtls_mpi_core_mla #1211 0x10000000000000000 + 0x20000000000000 * 0x0 +mpi_core_mla:"10000000000000000":"20000000000000":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1212 0x10000000000000000 + 0x20000000000000 * 0x3 +mpi_core_mla:"10000000000000000":"20000000000000":"3":"10060000000000000":"0":"10060000000000000":"0" + +mbedtls_mpi_core_mla #1213 0x10000000000000000 + 0x20000000000000 * 0xfe +mpi_core_mla:"10000000000000000":"20000000000000":"fe":"11fc0000000000000":"0":"11fc0000000000000":"0" + +mbedtls_mpi_core_mla #1214 0x10000000000000000 + 0x20000000000000 * 0xff +mpi_core_mla:"10000000000000000":"20000000000000":"ff":"11fe0000000000000":"0":"11fe0000000000000":"0" + +mbedtls_mpi_core_mla #1215 0x10000000000000000 + 0x20000000000000 * 0xffff +mpi_core_mla:"10000000000000000":"20000000000000":"ffff":"20ffe0000000000000":"0":"20ffe0000000000000":"0" + +mbedtls_mpi_core_mla #1216 0x10000000000000000 + 0x20000000000000 * 0x10000 +mpi_core_mla:"10000000000000000":"20000000000000":"10000":"210000000000000000":"0":"210000000000000000":"0" + +mbedtls_mpi_core_mla #1217 0x10000000000000000 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"10000000000000000":"20000000000000":"ffffffff":"200000ffe0000000000000":"0":"200000ffe0000000000000":"0" + +mbedtls_mpi_core_mla #1218 0x10000000000000000 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"20000000000000":"100000000":"2000010000000000000000":"0":"2000010000000000000000":"0" + +mbedtls_mpi_core_mla #1219 0x10000000000000000 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"20000000000000":"7f7f7f7f7f7f7f7f":"efefeff0efe0000000000000":"fefef":"fefefefefeff0efe0000000000000":"0" + +mbedtls_mpi_core_mla #1220 0x10000000000000000 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"20000000000000":"8000000000000000":"10000000000000000":"100000":"100000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1221 0x10000000000000000 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"20000000000000":"fffffffffffffffe":"ffc0000000000000":"200000":"20000000000000ffc0000000000000":"0" + +mbedtls_mpi_core_mla #1222 0x10000000000000000 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1223 0x10000000000000000 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"3":"3fffffffffffffffd":"0":"3fffffffffffffffd":"0" + +mbedtls_mpi_core_mla #1224 0x10000000000000000 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"fe":"feffffffffffffff02":"0":"feffffffffffffff02":"0" + +mbedtls_mpi_core_mla #1225 0x10000000000000000 + 0xffffffffffffffff * 0xff +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"ff":"ffffffffffffffff01":"0":"ffffffffffffffff01":"0" + +mbedtls_mpi_core_mla #1226 0x10000000000000000 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"ffff":"ffffffffffffffff0001":"0":"ffffffffffffffff0001":"0" + +mbedtls_mpi_core_mla #1227 0x10000000000000000 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"10000":"10000ffffffffffff0000":"0":"10000ffffffffffff0000":"0" + +mbedtls_mpi_core_mla #1228 0x10000000000000000 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"ffffffff":"ffffffffffffffff00000001":"0":"ffffffffffffffff00000001":"0" + +mbedtls_mpi_core_mla #1229 0x10000000000000000 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"100000000":"ffffffff00000000":"1":"100000000ffffffff00000000":"0" + +mbedtls_mpi_core_mla #1230 0x10000000000000000 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7f8080808080808081":"7f7f7f7f":"7f7f7f7f7f7f7f7f8080808080808081":"0" + +mbedtls_mpi_core_mla #1231 0x10000000000000000 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"8000000000000000":"8000000000000000":"80000000":"80000000000000008000000000000000":"0" + +mbedtls_mpi_core_mla #1232 0x10000000000000000 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffff":"fffffffffffffffe":"fffffffe0000000000000002":"ffffffff":"fffffffffffffffe0000000000000002":"0" + +mbedtls_mpi_core_mla #1233 0x10000000000000000 + 0x10000000000000000 * 0x0 +mpi_core_mla:"10000000000000000":"10000000000000000":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1234 0x10000000000000000 + 0x10000000000000000 * 0x3 +mpi_core_mla:"10000000000000000":"10000000000000000":"3":"40000000000000000":"0":"40000000000000000":"0" + +mbedtls_mpi_core_mla #1235 0x10000000000000000 + 0x10000000000000000 * 0xfe +mpi_core_mla:"10000000000000000":"10000000000000000":"fe":"ff0000000000000000":"0":"ff0000000000000000":"0" + +mbedtls_mpi_core_mla #1236 0x10000000000000000 + 0x10000000000000000 * 0xff +mpi_core_mla:"10000000000000000":"10000000000000000":"ff":"1000000000000000000":"0":"1000000000000000000":"0" + +mbedtls_mpi_core_mla #1237 0x10000000000000000 + 0x10000000000000000 * 0xffff +mpi_core_mla:"10000000000000000":"10000000000000000":"ffff":"100000000000000000000":"0":"100000000000000000000":"0" + +mbedtls_mpi_core_mla #1238 0x10000000000000000 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"10000000000000000":"10000000000000000":"10000":"100010000000000000000":"0":"100010000000000000000":"0" + +mbedtls_mpi_core_mla #1239 0x10000000000000000 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"10000000000000000":"10000000000000000":"ffffffff":"0":"1":"1000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1240 0x10000000000000000 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"10000000000000000":"100000000":"10000000000000000":"1":"1000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1241 0x10000000000000000 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f800000000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f800000000000000000":"0" + +mbedtls_mpi_core_mla #1242 0x10000000000000000 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"10000000000000000":"8000000000000000":"10000000000000000":"80000000":"80000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1243 0x10000000000000000 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"10000000000000000":"fffffffffffffffe":"ffffffff0000000000000000":"ffffffff":"ffffffffffffffff0000000000000000":"0" + +mbedtls_mpi_core_mla #1244 0x10000000000000000 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1245 0x10000000000000000 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"3":"469d0369b20369cd0":"0":"469d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1246 0x10000000000000000 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"fe":"121fedcb9f8a7653220":"0":"121fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1247 0x10000000000000000 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"ff":"12322222181b2221110":"0":"12322222181b2221110":"0" + +mbedtls_mpi_core_mla #1248 0x10000000000000000 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"ffff":"123454443a333d4332110":"0":"123454443a333d4332110":"0" + +mbedtls_mpi_core_mla #1249 0x10000000000000000 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"10000":"1234667890abcdef00000":"0":"1234667890abcdef00000":"0" + +mbedtls_mpi_core_mla #1250 0x10000000000000000 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"ffffffff":"23456788e7777766f5432110":"1":"123456788e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1251 0x10000000000000000 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"100000000":"2345678a0abcdef000000000":"1":"12345678a0abcdef000000000":"0" + +mbedtls_mpi_core_mla #1252 0x10000000000000000 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde77f67708abaf5ba910":"91107edb":"91107edbd82bde77f67708abaf5ba910":"0" + +mbedtls_mpi_core_mla #1253 0x10000000000000000 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"8000000000000000":"855e6f790000000000000000":"91a2b3c4":"91a2b3c4855e6f790000000000000000":"0" + +mbedtls_mpi_core_mla #1254 0x10000000000000000 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef0":"fffffffffffffffe":"abcdeeeb97530edea864220":"123456789":"234567890abcdeeeb97530edea864220":"1" + +mbedtls_mpi_core_mla #1255 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1256 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"3":"fcfcfcfcfcfcfcfa":"3":"fcfcfcfcfcfcfcfa":"3" + +mbedtls_mpi_core_mla #1257 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"fe":"101010101010004":"fe":"101010101010004":"fe" + +mbedtls_mpi_core_mla #1258 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"ff":"ffffffffffffffffffffffffffffff02":"fe":"ffffffffffffffffffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #1259 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffeffffffffffffff0102":"fffe":"fffffffffffffeffffffffffffff0102":"fffe" + +mbedtls_mpi_core_mla #1260 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefffefefefefefe0000":"ffff":"fffffffffffffefffefefefefefe0000":"ffff" + +mbedtls_mpi_core_mla #1261 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefeffffffffff01010102":"fffffffe":"fffffffffefefeffffffffff01010102":"fffffffe" + +mbedtls_mpi_core_mla #1262 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefffefefefe00000000":"ffffffff":"fffffffffefefefffefefefe00000000":"ffffffff" + +mbedtls_mpi_core_mla #1263 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202838504840383028202":"7f7f7f7f7f7f7f7e":"ff800081018202838504840383028202":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #1264 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f800000000000000000":"7fffffffffffffff":"ff7f7f7f7f7f7f800000000000000000":"7fffffffffffffff" + +mbedtls_mpi_core_mla #1265 0x10000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefeff0202020202020204":"fffffffffffffffd":"fefefefefefefeff0202020202020204":"fffffffffffffffd" + +mbedtls_mpi_core_mla #1266 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1267 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"3":"300000000000000010000000000000000":"0":"300000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1268 0x10000000000000000 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"fe":"fe00000000000000010000000000000000":"0":"fe00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1269 0x10000000000000000 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"ff":"ff00000000000000010000000000000000":"0":"ff00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1270 0x10000000000000000 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"ffff":"ffff00000000000000010000000000000000":"0":"ffff00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1271 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"10000":"1000000000000000000010000000000000000":"0":"1000000000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1272 0x10000000000000000 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"ffffffff":"ffffffff00000000000000010000000000000000":"0":"ffffffff00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1273 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"100000000":"10000000000000000":"1":"10000000000000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1274 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f00000000000000010000000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f7f00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1275 0x10000000000000000 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"8000000000000000":"10000000000000000":"80000000":"800000000000000000000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1276 0x10000000000000000 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe00000000000000010000000000000000":"ffffffff":"fffffffffffffffe00000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1277 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1278 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0469d0369b20369cd0":"0":"369d0369b20369cd0469d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1279 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532321fedcb9f8a7653220":"0":"120fedcb9f8a76532321fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1280 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122322222181b2221110":"0":"12222222181b2221122322222181b2221110":"0" + +mbedtls_mpi_core_mla #1281 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334454443a333d4332110":"0":"123444443a333d433334454443a333d4332110":"0" + +mbedtls_mpi_core_mla #1282 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234667890abcdef00000":"0":"1234567890abcdef01234667890abcdef00000":"0" + +mbedtls_mpi_core_mla #1283 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e7777767077777888e7777766f5432110":"12":"123456787e7777767077777888e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1284 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef012345678a0abcdef000000000":"12":"1234567890abcdef012345678a0abcdef000000000":"0" + +mbedtls_mpi_core_mla #1285 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f77f67708abaf5ba910":"91107edbd":"1107edbd82bde76ff8810996cde66f77f67708abaf5ba910":"9" + +mbedtls_mpi_core_mla #1286 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f790000000000000000":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f790000000000000000":"9" + +mbedtls_mpi_core_mla #1287 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100eeb97530edea864220":"1234567890":"34567890abcdeedcba987667b32100eeb97530edea864220":"12" + +mbedtls_mpi_core_mla #1288 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1289 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffd":"3":"fffffffffffffffd":"3" + +mbedtls_mpi_core_mla #1290 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffff02":"fe":"ffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #1291 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffff01":"ff":"ffffffffffffff01":"ff" + +mbedtls_mpi_core_mla #1292 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffff0001":"ffff":"ffffffffffff0001":"ffff" + +mbedtls_mpi_core_mla #1293 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"ffffffffffff0000":"10000":"ffffffffffff0000":"10000" + +mbedtls_mpi_core_mla #1294 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffff00000001":"ffffffff":"ffffffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #1295 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffff00000000":"100000000":"ffffffff00000000":"100000000" + +mbedtls_mpi_core_mla #1296 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"8080808080808081":"7f7f7f7f7f7f7f7f":"8080808080808081":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1297 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"8000000000000000":"8000000000000000":"8000000000000000":"8000000000000000" + +mbedtls_mpi_core_mla #1298 0x10000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"2":"fffffffffffffffe":"2":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1299 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1300 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0469d0369b20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd0469d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1301 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532321fedcb9f8a7653220":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a76532321fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1302 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b2221122322222181b2221110":"0":"12222222181b2221122222222181b2221122222222181b2221122322222181b2221110":"0" + +mbedtls_mpi_core_mla #1303 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d433334454443a333d4332110":"0":"123444443a333d433334444443a333d433334444443a333d433334454443a333d4332110":"0" + +mbedtls_mpi_core_mla #1304 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdef00000":"0" + +mbedtls_mpi_core_mla #1305 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e7777767077777888e7777766f5432110":"1234":"123456787e7777767077777887e7777767077777887e7777767077777888e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1306 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdef000000000":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdef000000000":"0" + +mbedtls_mpi_core_mla #1307 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f77f67708abaf5ba910":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f77f67708abaf5ba910":"911" + +mbedtls_mpi_core_mla #1308 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f790000000000000000":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f790000000000000000":"91a" + +mbedtls_mpi_core_mla #1309 0x10000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100eeb97530edea864220":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100eeb97530edea864220":"1234" + +mbedtls_mpi_core_mla #1310 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"10000000000000000":"0":"10000000000000000":"0" + +mbedtls_mpi_core_mla #1311 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe0b05c406f1641381":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe0b05c406f1641381":"0" + +mbedtls_mpi_core_mla #1312 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d314fe82a4bd5c3c8aa":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d314fe82a4bd5c3c8aa":"0" + +mbedtls_mpi_core_mla #1313 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5a8ea164e263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5a8ea164e263a79d5":"0" + +mbedtls_mpi_core_mla #1314 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356e9300647460b44ed5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356e9300647460b44ed5":"0" + +mbedtls_mpi_core_mla #1315 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12b0000":"0" + +mbedtls_mpi_core_mla #1316 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86ef774c528af894ed5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86ef774c528af894ed5":"4" + +mbedtls_mpi_core_mla #1317 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12b00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12b00000000":"4" + +mbedtls_mpi_core_mla #1318 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a15d35412c061b3955":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a15d35412c061b3955":"26d473ca9" + +mbedtls_mpi_core_mla #1319 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58968000000000000000":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b58968000000000000000":"26fb9683d" + +mbedtls_mpi_core_mla #1320 0x10000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"10000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a034dfc27fb5f129daa":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a034dfc27fb5f129daa":"4df72d07b" + +mbedtls_mpi_core_mla #1321 0x1234567890abcdef0 + 0x0 * 0x0 +mpi_core_mla:"1234567890abcdef0":"0":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1322 0x1234567890abcdef0 + 0x0 * 0x3 +mpi_core_mla:"1234567890abcdef0":"0":"3":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1323 0x1234567890abcdef0 + 0x0 * 0xfe +mpi_core_mla:"1234567890abcdef0":"0":"fe":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1324 0x1234567890abcdef0 + 0x0 * 0xff +mpi_core_mla:"1234567890abcdef0":"0":"ff":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1325 0x1234567890abcdef0 + 0x0 * 0xffff +mpi_core_mla:"1234567890abcdef0":"0":"ffff":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1326 0x1234567890abcdef0 + 0x0 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"0":"10000":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1327 0x1234567890abcdef0 + 0x0 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"0":"ffffffff":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1328 0x1234567890abcdef0 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"0":"100000000":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1329 0x1234567890abcdef0 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"0":"7f7f7f7f7f7f7f7f":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1330 0x1234567890abcdef0 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"0":"8000000000000000":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1331 0x1234567890abcdef0 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"0":"fffffffffffffffe":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1332 0x1234567890abcdef0 + 0x1 * 0x0 +mpi_core_mla:"1234567890abcdef0":"1":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1333 0x1234567890abcdef0 + 0x1 * 0x3 +mpi_core_mla:"1234567890abcdef0":"1":"3":"1234567890abcdef3":"0":"1234567890abcdef3":"0" + +mbedtls_mpi_core_mla #1334 0x1234567890abcdef0 + 0x1 * 0xfe +mpi_core_mla:"1234567890abcdef0":"1":"fe":"1234567890abcdfee":"0":"1234567890abcdfee":"0" + +mbedtls_mpi_core_mla #1335 0x1234567890abcdef0 + 0x1 * 0xff +mpi_core_mla:"1234567890abcdef0":"1":"ff":"1234567890abcdfef":"0":"1234567890abcdfef":"0" + +mbedtls_mpi_core_mla #1336 0x1234567890abcdef0 + 0x1 * 0xffff +mpi_core_mla:"1234567890abcdef0":"1":"ffff":"1234567890abddeef":"0":"1234567890abddeef":"0" + +mbedtls_mpi_core_mla #1337 0x1234567890abcdef0 + 0x1 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"1":"10000":"1234567890abddef0":"0":"1234567890abddef0":"0" + +mbedtls_mpi_core_mla #1338 0x1234567890abcdef0 + 0x1 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"1":"ffffffff":"12345678a0abcdeef":"0":"12345678a0abcdeef":"0" + +mbedtls_mpi_core_mla #1339 0x1234567890abcdef0 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1":"100000000":"12345678a0abcdef0":"0":"12345678a0abcdef0":"0" + +mbedtls_mpi_core_mla #1340 0x1234567890abcdef0 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1":"7f7f7f7f7f7f7f7f":"1a2c4e7088a3c5e6f":"0":"1a2c4e7088a3c5e6f":"0" + +mbedtls_mpi_core_mla #1341 0x1234567890abcdef0 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1":"8000000000000000":"1a34567890abcdef0":"0":"1a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1342 0x1234567890abcdef0 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1":"fffffffffffffffe":"2234567890abcdeee":"0":"2234567890abcdeee":"0" + +mbedtls_mpi_core_mla #1343 0x1234567890abcdef0 + 0xfffe * 0x0 +mpi_core_mla:"1234567890abcdef0":"fffe":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1344 0x1234567890abcdef0 + 0xfffe * 0x3 +mpi_core_mla:"1234567890abcdef0":"fffe":"3":"1234567890abfdeea":"0":"1234567890abfdeea":"0" + +mbedtls_mpi_core_mla #1345 0x1234567890abcdef0 + 0xfffe * 0xfe +mpi_core_mla:"1234567890abcdef0":"fffe":"fe":"1234567890bbadcf4":"0":"1234567890bbadcf4":"0" + +mbedtls_mpi_core_mla #1346 0x1234567890abcdef0 + 0xfffe * 0xff +mpi_core_mla:"1234567890abcdef0":"fffe":"ff":"1234567890bbbdcf2":"0":"1234567890bbbdcf2":"0" + +mbedtls_mpi_core_mla #1347 0x1234567890abcdef0 + 0xfffe * 0xffff +mpi_core_mla:"1234567890abcdef0":"fffe":"ffff":"12345678a0ab9def2":"0":"12345678a0ab9def2":"0" + +mbedtls_mpi_core_mla #1348 0x1234567890abcdef0 + 0xfffe * 0x10000 +mpi_core_mla:"1234567890abcdef0":"fffe":"10000":"12345678a0abadef0":"0":"12345678a0abadef0":"0" + +mbedtls_mpi_core_mla #1349 0x1234567890abcdef0 + 0xfffe * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"fffe":"ffffffff":"1234667870abbdef2":"0":"1234667870abbdef2":"0" + +mbedtls_mpi_core_mla #1350 0x1234567890abcdef0 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffe":"100000000":"1234667870abcdef0":"0":"1234667870abcdef0":"0" + +mbedtls_mpi_core_mla #1351 0x1234567890abcdef0 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffe":"7f7f7f7f7f7f7f7f":"7f7fa3c5e8098b3cdff2":"0":"7f7fa3c5e8098b3cdff2":"0" + +mbedtls_mpi_core_mla #1352 0x1234567890abcdef0 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffe":"8000000000000000":"8000234567890abcdef0":"0":"8000234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1353 0x1234567890abcdef0 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffe":"fffffffffffffffe":"ffff234567890abadef4":"0":"ffff234567890abadef4":"0" + +mbedtls_mpi_core_mla #1354 0x1234567890abcdef0 + 0xffffffff * 0x0 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1355 0x1234567890abcdef0 + 0xffffffff * 0x3 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"3":"12345678c0abcdeed":"0":"12345678c0abcdeed":"0" + +mbedtls_mpi_core_mla #1356 0x1234567890abcdef0 + 0xffffffff * 0xfe +mpi_core_mla:"1234567890abcdef0":"ffffffff":"fe":"1234568870abcddf2":"0":"1234568870abcddf2":"0" + +mbedtls_mpi_core_mla #1357 0x1234567890abcdef0 + 0xffffffff * 0xff +mpi_core_mla:"1234567890abcdef0":"ffffffff":"ff":"1234568880abcddf1":"0":"1234568880abcddf1":"0" + +mbedtls_mpi_core_mla #1358 0x1234567890abcdef0 + 0xffffffff * 0xffff +mpi_core_mla:"1234567890abcdef0":"ffffffff":"ffff":"1234667880abbdef1":"0":"1234667880abbdef1":"0" + +mbedtls_mpi_core_mla #1359 0x1234567890abcdef0 + 0xffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"10000":"1234667890abbdef0":"0":"1234667890abbdef0":"0" + +mbedtls_mpi_core_mla #1360 0x1234567890abcdef0 + 0xffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"ffffffff":"ffffffff":"2234567870abcdef1":"0":"2234567870abcdef1":"0" + +mbedtls_mpi_core_mla #1361 0x1234567890abcdef0 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"100000000":"2234567880abcdef0":"0":"2234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1362 0x1234567890abcdef0 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f80234567888b3d5f71":"0":"7f7f7f80234567888b3d5f71":"0" + +mbedtls_mpi_core_mla #1363 0x1234567890abcdef0 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"8000000000000000":"80000000a34567890abcdef0":"0":"80000000a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1364 0x1234567890abcdef0 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffff":"fffffffffffffffe":"234567870abcdef2":"1":"100000000234567870abcdef2":"0" + +mbedtls_mpi_core_mla #1365 0x1234567890abcdef0 + 0x100000000 * 0x0 +mpi_core_mla:"1234567890abcdef0":"100000000":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1366 0x1234567890abcdef0 + 0x100000000 * 0x3 +mpi_core_mla:"1234567890abcdef0":"100000000":"3":"12345678c0abcdef0":"0":"12345678c0abcdef0":"0" + +mbedtls_mpi_core_mla #1367 0x1234567890abcdef0 + 0x100000000 * 0xfe +mpi_core_mla:"1234567890abcdef0":"100000000":"fe":"1234568870abcdef0":"0":"1234568870abcdef0":"0" + +mbedtls_mpi_core_mla #1368 0x1234567890abcdef0 + 0x100000000 * 0xff +mpi_core_mla:"1234567890abcdef0":"100000000":"ff":"1234568880abcdef0":"0":"1234568880abcdef0":"0" + +mbedtls_mpi_core_mla #1369 0x1234567890abcdef0 + 0x100000000 * 0xffff +mpi_core_mla:"1234567890abcdef0":"100000000":"ffff":"1234667880abcdef0":"0":"1234667880abcdef0":"0" + +mbedtls_mpi_core_mla #1370 0x1234567890abcdef0 + 0x100000000 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"100000000":"10000":"1234667890abcdef0":"0":"1234667890abcdef0":"0" + +mbedtls_mpi_core_mla #1371 0x1234567890abcdef0 + 0x100000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"100000000":"ffffffff":"2234567880abcdef0":"0":"2234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1372 0x1234567890abcdef0 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000":"100000000":"2234567890abcdef0":"0":"2234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1373 0x1234567890abcdef0 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f80a2c4e7080abcdef0":"0":"7f7f7f80a2c4e7080abcdef0":"0" + +mbedtls_mpi_core_mla #1374 0x1234567890abcdef0 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000":"8000000000000000":"80000001234567890abcdef0":"0":"80000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1375 0x1234567890abcdef0 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000":"fffffffffffffffe":"1234567870abcdef0":"1":"100000001234567870abcdef0":"0" + +mbedtls_mpi_core_mla #1376 0x1234567890abcdef0 + 0x20000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1377 0x1234567890abcdef0 + 0x20000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"3":"123a567890abcdef0":"0":"123a567890abcdef0":"0" + +mbedtls_mpi_core_mla #1378 0x1234567890abcdef0 + 0x20000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef0":"20000000000000":"fe":"1430567890abcdef0":"0":"1430567890abcdef0":"0" + +mbedtls_mpi_core_mla #1379 0x1234567890abcdef0 + 0x20000000000000 * 0xff +mpi_core_mla:"1234567890abcdef0":"20000000000000":"ff":"1432567890abcdef0":"0":"1432567890abcdef0":"0" + +mbedtls_mpi_core_mla #1380 0x1234567890abcdef0 + 0x20000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef0":"20000000000000":"ffff":"21232567890abcdef0":"0":"21232567890abcdef0":"0" + +mbedtls_mpi_core_mla #1381 0x1234567890abcdef0 + 0x20000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"10000":"21234567890abcdef0":"0":"21234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1382 0x1234567890abcdef0 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"20000000000000":"ffffffff":"200001232567890abcdef0":"0":"200001232567890abcdef0":"0" + +mbedtls_mpi_core_mla #1383 0x1234567890abcdef0 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"100000000":"200001234567890abcdef0":"0":"200001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1384 0x1234567890abcdef0 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"7f7f7f7f7f7f7f7f":"efefeff1132567890abcdef0":"fefef":"fefefefefeff1132567890abcdef0":"0" + +mbedtls_mpi_core_mla #1385 0x1234567890abcdef0 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"8000000000000000":"1234567890abcdef0":"100000":"10000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1386 0x1234567890abcdef0 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"20000000000000":"fffffffffffffffe":"1230567890abcdef0":"200000":"20000000000001230567890abcdef0":"0" + +mbedtls_mpi_core_mla #1387 0x1234567890abcdef0 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1388 0x1234567890abcdef0 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"3":"4234567890abcdeed":"0":"4234567890abcdeed":"0" + +mbedtls_mpi_core_mla #1389 0x1234567890abcdef0 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"fe":"ff234567890abcddf2":"0":"ff234567890abcddf2":"0" + +mbedtls_mpi_core_mla #1390 0x1234567890abcdef0 + 0xffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"ff":"100234567890abcddf1":"0":"100234567890abcddf1":"0" + +mbedtls_mpi_core_mla #1391 0x1234567890abcdef0 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"ffff":"10000234567890abbdef1":"0":"10000234567890abbdef1":"0" + +mbedtls_mpi_core_mla #1392 0x1234567890abcdef0 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"10000":"10001234567890abbdef0":"0":"10001234567890abbdef0":"0" + +mbedtls_mpi_core_mla #1393 0x1234567890abcdef0 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"ffffffff":"234567880abcdef1":"1":"100000000234567880abcdef1":"0" + +mbedtls_mpi_core_mla #1394 0x1234567890abcdef0 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"100000000":"1234567880abcdef0":"1":"100000001234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1395 0x1234567890abcdef0 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7fa3c5e8098b3d5f71":"7f7f7f7f":"7f7f7f7f7f7f7f7fa3c5e8098b3d5f71":"0" + +mbedtls_mpi_core_mla #1396 0x1234567890abcdef0 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"8000000000000000":"a34567890abcdef0":"80000000":"8000000000000000a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1397 0x1234567890abcdef0 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffff":"fffffffffffffffe":"fffffffe234567890abcdef2":"ffffffff":"fffffffffffffffe234567890abcdef2":"0" + +mbedtls_mpi_core_mla #1398 0x1234567890abcdef0 + 0x10000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1399 0x1234567890abcdef0 + 0x10000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"3":"4234567890abcdef0":"0":"4234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1400 0x1234567890abcdef0 + 0x10000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"fe":"ff234567890abcdef0":"0":"ff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1401 0x1234567890abcdef0 + 0x10000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"ff":"100234567890abcdef0":"0":"100234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1402 0x1234567890abcdef0 + 0x10000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"ffff":"10000234567890abcdef0":"0":"10000234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1403 0x1234567890abcdef0 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"10000":"10001234567890abcdef0":"0":"10001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1404 0x1234567890abcdef0 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"ffffffff":"234567890abcdef0":"1":"100000000234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1405 0x1234567890abcdef0 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"100000000":"1234567890abcdef0":"1":"100000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1406 0x1234567890abcdef0 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f80234567890abcdef0":"7f7f7f7f":"7f7f7f7f7f7f7f80234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1407 0x1234567890abcdef0 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"8000000000000000":"1234567890abcdef0":"80000000":"8000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1408 0x1234567890abcdef0 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"10000000000000000":"fffffffffffffffe":"ffffffff234567890abcdef0":"ffffffff":"ffffffffffffffff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1409 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1410 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"3":"48d159e242af37bc0":"0":"48d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1411 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"fe":"12222222181b2221110":"0":"12222222181b2221110":"0" + +mbedtls_mpi_core_mla #1412 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"ff":"1234567890abcdef000":"0":"1234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1413 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"ffff":"1234567890abcdef00000":"0":"1234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1414 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"10000":"123468ace7245e9acdef0":"0":"123468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1415 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"ffffffff":"234567890abcdef000000000":"1":"1234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1416 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"100000000":"2345678a2e0246790abcdef0":"1":"12345678a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1417 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"d82bde7819bc7034ba188800":"91107edb":"91107edbd82bde7819bc7034ba188800":"0" + +mbedtls_mpi_core_mla #1418 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"8000000000000000":"855e6f79234567890abcdef0":"91a2b3c4":"91a2b3c4855e6f79234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1419 0x1234567890abcdef0 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef0":"fffffffffffffffe":"abcdeeedcba9876f5432110":"123456789":"234567890abcdeeedcba9876f5432110":"1" + +mbedtls_mpi_core_mla #1420 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1421 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"3":"12042648607b9dbea":"3":"12042648607b9dbea":"3" + +mbedtls_mpi_core_mla #1422 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fe":"2446688a0bbddef4":"fe":"2446688a0bbddef4":"fe" + +mbedtls_mpi_core_mla #1423 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ff":"234567890abcddf2":"ff":"234567890abcddf2":"ff" + +mbedtls_mpi_core_mla #1424 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffff":"ffffffffffffff00234567890abbdff2":"fffe":"ffffffffffffff00234567890abbdff2":"fffe" + +mbedtls_mpi_core_mla #1425 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"10000":"ffffffffffffff002244668809badef0":"ffff":"ffffffffffffff002244668809badef0":"ffff" + +mbedtls_mpi_core_mla #1426 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefeff00234567880bbddff2":"fffffffe":"fffffffffefeff00234567880bbddff2":"fffffffe" + +mbedtls_mpi_core_mla #1427 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefeff00224466870abcdef0":"ffffffff":"fffffffffefeff00224466870abcdef0":"ffffffff" + +mbedtls_mpi_core_mla #1428 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff80008101820283a849eb8c8dbf60f2":"7f7f7f7f7f7f7f7e":"ff80008101820283a849eb8c8dbf60f2":"7f7f7f7f7f7f7f7e" + +mbedtls_mpi_core_mla #1429 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f80234567890abcdef0":"7fffffffffffffff":"ff7f7f7f7f7f7f80234567890abcdef0":"7fffffffffffffff" + +mbedtls_mpi_core_mla #1430 0x1234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefeff2547698b0cbee0f4":"fffffffffffffffd":"fefefefefefefeff2547698b0cbee0f4":"fffffffffffffffd" + +mbedtls_mpi_core_mla #1431 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1432 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"3":"30000000000000001234567890abcdef0":"0":"30000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1433 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"fe":"fe0000000000000001234567890abcdef0":"0":"fe0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1434 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"ff":"ff0000000000000001234567890abcdef0":"0":"ff0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1435 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"ffff":"ffff0000000000000001234567890abcdef0":"0":"ffff0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1436 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"10000":"100000000000000000001234567890abcdef0":"0":"100000000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1437 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"ffffffff":"ffffffff0000000000000001234567890abcdef0":"0":"ffffffff0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1438 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"100000000":"1234567890abcdef0":"1":"1000000000000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1439 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f0000000000000001234567890abcdef0":"7f7f7f7f":"7f7f7f7f7f7f7f7f0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1440 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"8000000000000000":"1234567890abcdef0":"80000000":"80000000000000000000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1441 0x1234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffe0000000000000001234567890abcdef0":"ffffffff":"fffffffffffffffe0000000000000001234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1442 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1443 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd048d159e242af37bc0":"0":"369d0369b20369cd048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1444 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a7653232222222181b2221110":"0":"120fedcb9f8a7653232222222181b2221110":"0" + +mbedtls_mpi_core_mla #1445 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b222112234567890abcdef000":"0":"12222222181b222112234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1446 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d4333344567890abcdef00000":"0":"123444443a333d4333344567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1447 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef0123468ace7245e9acdef0":"0":"1234567890abcdef0123468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1448 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787e77777670777778890abcdef000000000":"12":"123456787e77777670777778890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1449 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"100000000":"34567890abcdef012345678a2e0246790abcdef0":"12":"1234567890abcdef012345678a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1450 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde76ff8810996cde66f7819bc7034ba188800":"91107edbd":"1107edbd82bde76ff8810996cde66f7819bc7034ba188800":"9" + +mbedtls_mpi_core_mla #1451 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78091a2b3c4855e6f79234567890abcdef0":"91a2b3c48":"1a2b3c4855e6f78091a2b3c4855e6f79234567890abcdef0":"9" + +mbedtls_mpi_core_mla #1452 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeedcba987667b32100eedcba9876f5432110":"1234567890":"34567890abcdeedcba987667b32100eedcba9876f5432110":"12" + +mbedtls_mpi_core_mla #1453 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1454 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"1234567890abcdeed":"3":"1234567890abcdeed":"3" + +mbedtls_mpi_core_mla #1455 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"1234567890abcddf2":"fe":"1234567890abcddf2":"fe" + +mbedtls_mpi_core_mla #1456 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"1234567890abcddf1":"ff":"1234567890abcddf1":"ff" + +mbedtls_mpi_core_mla #1457 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"1234567890abbdef1":"ffff":"1234567890abbdef1":"ffff" + +mbedtls_mpi_core_mla #1458 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"1234567890abbdef0":"10000":"1234567890abbdef0":"10000" + +mbedtls_mpi_core_mla #1459 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"1234567880abcdef1":"ffffffff":"1234567880abcdef1":"ffffffff" + +mbedtls_mpi_core_mla #1460 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"1234567880abcdef0":"100000000":"1234567880abcdef0":"100000000" + +mbedtls_mpi_core_mla #1461 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"a3c5e8098b3d5f71":"7f7f7f7f7f7f7f7f":"a3c5e8098b3d5f71":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1462 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"a34567890abcdef0":"8000000000000000":"a34567890abcdef0":"8000000000000000" + +mbedtls_mpi_core_mla #1463 0x1234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"234567890abcdef2":"fffffffffffffffe":"234567890abcdef2":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1464 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1465 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd048d159e242af37bc0":"0":"369d0369b20369cd0369d0369b20369cd0369d0369b20369cd048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1466 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653232222222181b2221110":"0":"120fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a7653232222222181b2221110":"0" + +mbedtls_mpi_core_mla #1467 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122222222181b222112234567890abcdef000":"0":"12222222181b2221122222222181b2221122222222181b222112234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1468 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334444443a333d4333344567890abcdef00000":"0":"123444443a333d433334444443a333d433334444443a333d4333344567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1469 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef0123468ace7245e9acdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef0123468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1470 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887e77777670777778890abcdef000000000":"1234":"123456787e7777767077777887e7777767077777887e77777670777778890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1471 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567890abcdef012345678a2e0246790abcdef0":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1472 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f7819bc7034ba188800":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f76ff8810996cde66f7819bc7034ba188800":"911" + +mbedtls_mpi_core_mla #1473 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f79234567890abcdef0":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f79234567890abcdef0":"91a" + +mbedtls_mpi_core_mla #1474 0x1234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100edcba987667b32100eedcba9876f5432110":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100edcba987667b32100eedcba9876f5432110":"1234" + +mbedtls_mpi_core_mla #1475 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"1234567890abcdef0":"0":"1234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1476 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe2e4b2b8ffc20f271":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abe2e4b2b8ffc20f271":"0" + +mbedtls_mpi_core_mla #1477 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d31732d91d4e080a79a":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d31732d91d4e080a79a":"0" + +mbedtls_mpi_core_mla #1478 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5cc2f7dd730f758c5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c5cc2f7dd730f758c5":"0" + +mbedtls_mpi_core_mla #1479 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356eb645cbfd6b712dc5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356eb645cbfd6b712dc5":"0" + +mbedtls_mpi_core_mla #1480 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239459030f47b7ffbbe7def0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239459030f47b7ffbbe7def0":"0" + +mbedtls_mpi_core_mla #1481 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86f1aba2cb1ba462dc5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86f1aba2cb1ba462dc5":"4" + +mbedtls_mpi_core_mla #1482 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec0373bc18b40abcdef0":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec0373bc18b40abcdef0":"4" + +mbedtls_mpi_core_mla #1483 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a1807aa8b510d81845":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a1807aa8b510d81845":"26d473ca9" + +mbedtls_mpi_core_mla #1484 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b5896a34567890abcdef0":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391ca2c80f601283b5896a34567890abcdef0":"26fb9683d" + +mbedtls_mpi_core_mla #1485 0x1234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a0371418f8469cf7c9a":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a0371418f8469cf7c9a":"4df72d07b" + +mbedtls_mpi_core_mla #1486 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1487 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"3":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1488 0xfffffffffffffffffefefefefefefefe + 0x0 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"fe":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1489 0xfffffffffffffffffefefefefefefefe + 0x0 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"ff":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1490 0xfffffffffffffffffefefefefefefefe + 0x0 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"ffff":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1491 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"10000":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1492 0xfffffffffffffffffefefefefefefefe + 0x0 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"ffffffff":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1493 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"100000000":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1494 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"7f7f7f7f7f7f7f7f":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1495 0xfffffffffffffffffefefefefefefefe + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"8000000000000000":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1496 0xfffffffffffffffffefefefefefefefe + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffe":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1497 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1498 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"3":"fffffffffffffffffefefefefefeff01":"0":"fffffffffffffffffefefefefefeff01":"0" + +mbedtls_mpi_core_mla #1499 0xfffffffffffffffffefefefefefefefe + 0x1 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"fe":"fffffffffffffffffefefefefefefffc":"0":"fffffffffffffffffefefefefefefffc":"0" + +mbedtls_mpi_core_mla #1500 0xfffffffffffffffffefefefefefefefe + 0x1 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"ff":"fffffffffffffffffefefefefefefffd":"0":"fffffffffffffffffefefefefefefffd":"0" + +mbedtls_mpi_core_mla #1501 0xfffffffffffffffffefefefefefefefe + 0x1 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"ffff":"fffffffffffffffffefefefefefffefd":"0":"fffffffffffffffffefefefefefffefd":"0" + +mbedtls_mpi_core_mla #1502 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"10000":"fffffffffffffffffefefefefefffefe":"0":"fffffffffffffffffefefefefefffefe":"0" + +mbedtls_mpi_core_mla #1503 0xfffffffffffffffffefefefefefefefe + 0x1 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"ffffffff":"fffffffffffffffffefefefffefefefd":"0":"fffffffffffffffffefefefffefefefd":"0" + +mbedtls_mpi_core_mla #1504 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"100000000":"fffffffffffffffffefefefffefefefe":"0":"fffffffffffffffffefefefffefefefe":"0" + +mbedtls_mpi_core_mla #1505 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"7f7f7f7f7f7f7f7f":"7e7e7e7e7e7e7e7d":"1":"7e7e7e7e7e7e7e7d":"1" + +mbedtls_mpi_core_mla #1506 0xfffffffffffffffffefefefefefefefe + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"8000000000000000":"7efefefefefefefe":"1":"7efefefefefefefe":"1" + +mbedtls_mpi_core_mla #1507 0xfffffffffffffffffefefefefefefefe + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1":"fffffffffffffffe":"fefefefefefefefc":"1":"fefefefefefefefc":"1" + +mbedtls_mpi_core_mla #1508 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1509 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"3":"fffffffffffffffffefefefeff01fef8":"0":"fffffffffffffffffefefefeff01fef8":"0" + +mbedtls_mpi_core_mla #1510 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"fe":"fffffffffffffffffefefefefffcfd02":"0":"fffffffffffffffffefefefefffcfd02":"0" + +mbedtls_mpi_core_mla #1511 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"ff":"fffffffffffffffffefefefefffdfd00":"0":"fffffffffffffffffefefefefffdfd00":"0" + +mbedtls_mpi_core_mla #1512 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"ffff":"fffffffffffffffffefefefffefbff00":"0":"fffffffffffffffffefefefffefbff00":"0" + +mbedtls_mpi_core_mla #1513 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"10000":"fffffffffffffffffefefefffefcfefe":"0":"fffffffffffffffffefefefffefcfefe":"0" + +mbedtls_mpi_core_mla #1514 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"ffffffff":"fffffffffffffffffefffefcfefdff00":"0":"fffffffffffffffffefffefcfefdff00":"0" + +mbedtls_mpi_core_mla #1515 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"100000000":"fffffffffffffffffefffefcfefefefe":"0":"fffffffffffffffffefffefcfefefefe":"0" + +mbedtls_mpi_core_mla #1516 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"7f7f7f7f7f7f7f7f":"7f7e7f7f7f7f7f7f0000":"1":"7f7e7f7f7f7f7f7f0000":"1" + +mbedtls_mpi_core_mla #1517 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"8000000000000000":"7ffefefefefefefefefe":"1":"7ffefefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1518 0xfffffffffffffffffefefefefefefefe + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffe":"fffffffffffffffe":"fffdfefefefefefcff02":"1":"fffdfefefefefefcff02":"1" + +mbedtls_mpi_core_mla #1519 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1520 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"3":"fffffffffffffffffefeff01fefefefb":"0":"fffffffffffffffffefeff01fefefefb":"0" + +mbedtls_mpi_core_mla #1521 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"fe":"fffffffffffffffffefefffcfefefe00":"0":"fffffffffffffffffefefffcfefefe00":"0" + +mbedtls_mpi_core_mla #1522 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"ff":"fffffffffffffffffefefffdfefefdff":"0":"fffffffffffffffffefefffdfefefdff":"0" + +mbedtls_mpi_core_mla #1523 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"ffff":"fffffffffffffffffefffefdfefdfeff":"0":"fffffffffffffffffefffefdfefdfeff":"0" + +mbedtls_mpi_core_mla #1524 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"10000":"fffffffffffffffffefffefefefdfefe":"0":"fffffffffffffffffefffefefefdfefe":"0" + +mbedtls_mpi_core_mla #1525 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"ffffffff":"fefefefcfefefeff":"1":"fefefefcfefefeff":"1" + +mbedtls_mpi_core_mla #1526 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"100000000":"fefefefdfefefefe":"1":"fefefefdfefefefe":"1" + +mbedtls_mpi_core_mla #1527 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7efefefefe7f7f7f7f":"1":"7f7f7f7efefefefe7f7f7f7f":"1" + +mbedtls_mpi_core_mla #1528 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"8000000000000000":"7fffffff7efefefefefefefe":"1":"7fffffff7efefefefefefefe":"1" + +mbedtls_mpi_core_mla #1529 0xfffffffffffffffffefefefefefefefe + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffffffffe":"fffffffefefefefcfefeff00":"1":"fffffffefefefefcfefeff00":"1" + +mbedtls_mpi_core_mla #1530 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1531 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"3":"fffffffffffffffffefeff01fefefefe":"0":"fffffffffffffffffefeff01fefefefe":"0" + +mbedtls_mpi_core_mla #1532 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"fe":"fffffffffffffffffefefffcfefefefe":"0":"fffffffffffffffffefefffcfefefefe":"0" + +mbedtls_mpi_core_mla #1533 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"ff":"fffffffffffffffffefefffdfefefefe":"0":"fffffffffffffffffefefffdfefefefe":"0" + +mbedtls_mpi_core_mla #1534 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"ffff":"fffffffffffffffffefffefdfefefefe":"0":"fffffffffffffffffefffefdfefefefe":"0" + +mbedtls_mpi_core_mla #1535 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"10000":"fffffffffffffffffefffefefefefefe":"0":"fffffffffffffffffefffefefefefefe":"0" + +mbedtls_mpi_core_mla #1536 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"ffffffff":"fefefefdfefefefe":"1":"fefefefdfefefefe":"1" + +mbedtls_mpi_core_mla #1537 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"100000000":"fefefefefefefefe":"1":"fefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1538 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7e7e7e7dfefefefe":"1":"7f7f7f7f7e7e7e7dfefefefe":"1" + +mbedtls_mpi_core_mla #1539 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"8000000000000000":"7ffffffffefefefefefefefe":"1":"7ffffffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1540 0xfffffffffffffffffefefefefefefefe + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffffffffe":"fffffffffefefefcfefefefe":"1":"fffffffffefefefcfefefefe":"1" + +mbedtls_mpi_core_mla #1541 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1542 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"3":"ffffffffffffffffff5efefefefefefe":"0":"ffffffffffffffffff5efefefefefefe":"0" + +mbedtls_mpi_core_mla #1543 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"fe":"1ebefefefefefefe":"1":"1ebefefefefefefe":"1" + +mbedtls_mpi_core_mla #1544 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"ff":"1edefefefefefefe":"1":"1edefefefefefefe":"1" + +mbedtls_mpi_core_mla #1545 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"ffff":"1ffedefefefefefefe":"1":"1ffedefefefefefefe":"1" + +mbedtls_mpi_core_mla #1546 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"10000":"1ffefefefefefefefe":"1":"1ffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1547 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"ffffffff":"1ffffffedefefefefefefe":"1":"1ffffffedefefefefefefe":"1" + +mbedtls_mpi_core_mla #1548 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"100000000":"1ffffffefefefefefefefe":"1":"1ffffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1549 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"7f7f7f7f7f7f7f7f":"fefefefefefefeedefefefefefefe":"1":"fefefefefefefeedefefefefefefe":"1" + +mbedtls_mpi_core_mla #1550 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"8000000000000000":"ffffffffffffffefefefefefefefe":"1":"ffffffffffffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1551 0xfffffffffffffffffefefefefefefefe + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"20000000000000":"fffffffffffffffe":"1ffffffffffffffebefefefefefefe":"1":"1ffffffffffffffebefefefefefefe":"1" + +mbedtls_mpi_core_mla #1552 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1553 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"3":"2fefefefefefefefb":"1":"2fefefefefefefefb":"1" + +mbedtls_mpi_core_mla #1554 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"fe":"fdfefefefefefefe00":"1":"fdfefefefefefefe00":"1" + +mbedtls_mpi_core_mla #1555 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"ff":"fefefefefefefefdff":"1":"fefefefefefefefdff":"1" + +mbedtls_mpi_core_mla #1556 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"ffff":"fffefefefefefefdfeff":"1":"fffefefefefefefdfeff":"1" + +mbedtls_mpi_core_mla #1557 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"10000":"fffffefefefefefdfefe":"1":"fffffefefefefefdfefe":"1" + +mbedtls_mpi_core_mla #1558 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"ffffffff":"fffffffefefefefdfefefeff":"1":"fffffffefefefefdfefefeff":"1" + +mbedtls_mpi_core_mla #1559 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"100000000":"fffffffffefefefdfefefefe":"1":"fffffffffefefefdfefefefe":"1" + +mbedtls_mpi_core_mla #1560 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7e7f7f7f7f7f7f7f7f":"1":"7f7f7f7f7f7f7f7e7f7f7f7f7f7f7f7f":"1" + +mbedtls_mpi_core_mla #1561 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"8000000000000000":"7fffffffffffffff7efefefefefefefe":"1":"7fffffffffffffff7efefefefefefefe":"1" + +mbedtls_mpi_core_mla #1562 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffff":"fffffffffffffffe":"fffffffffffffffcfefefefefefeff00":"1":"fffffffffffffffcfefefefefefeff00":"1" + +mbedtls_mpi_core_mla #1563 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1564 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"3":"2fefefefefefefefe":"1":"2fefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1565 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"fe":"fdfefefefefefefefe":"1":"fdfefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1566 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"ff":"fefefefefefefefefe":"1":"fefefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1567 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"ffff":"fffefefefefefefefefe":"1":"fffefefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1568 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"10000":"fffffefefefefefefefe":"1":"fffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1569 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"ffffffff":"fffffffefefefefefefefefe":"1":"fffffffefefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1570 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"100000000":"fffffffffefefefefefefefe":"1":"fffffffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1571 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7efefefefefefefefe":"1":"7f7f7f7f7f7f7f7efefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1572 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"8000000000000000":"7ffffffffffffffffefefefefefefefe":"1":"7ffffffffffffffffefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1573 0xfffffffffffffffffefefefefefefefe + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"10000000000000000":"fffffffffffffffe":"fffffffffffffffdfefefefefefefefe":"1":"fffffffffffffffdfefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1574 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1575 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"3":"368cf359a1f359bce":"1":"368cf359a1f359bce":"1" + +mbedtls_mpi_core_mla #1576 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"fe":"120fddbb8f7a664311e":"1":"120fddbb8f7a664311e":"1" + +mbedtls_mpi_core_mla #1577 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"ff":"12221212080b121100e":"1":"12221212080b121100e":"1" + +mbedtls_mpi_core_mla #1578 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"ffff":"123444342a232d332200e":"1":"123444342a232d332200e":"1" + +mbedtls_mpi_core_mla #1579 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"10000":"12345668809bbddeefefe":"1":"12345668809bbddeefefe":"1" + +mbedtls_mpi_core_mla #1580 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"ffffffff":"123456787e6767665f442200e":"1":"123456787e6767665f442200e":"1" + +mbedtls_mpi_core_mla #1581 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"100000000":"12345678909bbddeefefefefe":"1":"12345678909bbddeefefefefe":"1" + +mbedtls_mpi_core_mla #1582 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"91107edbd82bde76f57607aaae5aa80e":"1":"91107edbd82bde76f57607aaae5aa80e":"1" + +mbedtls_mpi_core_mla #1583 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"8000000000000000":"91a2b3c4855e6f77fefefefefefefefe":"1":"91a2b3c4855e6f77fefefefefefefefe":"1" + +mbedtls_mpi_core_mla #1584 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef0":"fffffffffffffffe":"234567890abcdeedb8742fece985411e":"2":"234567890abcdeedb8742fece985411e":"2" + +mbedtls_mpi_core_mla #1585 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1586 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"3":"fffffffffffffffffbfbfbfbfbfbfbf8":"3":"fffffffffffffffffbfbfbfbfbfbfbf8":"3" + +mbedtls_mpi_core_mla #1587 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"fe":"fffffffffffffffeffffffffffffff02":"fe":"fffffffffffffffeffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #1588 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"ff":"fffffffffffffffefefefefefefefe00":"ff":"fffffffffffffffefefefefefefefe00":"ff" + +mbedtls_mpi_core_mla #1589 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffefefefefefefefe0000":"ffff":"fffffffffffffefefefefefefefe0000":"ffff" + +mbedtls_mpi_core_mla #1590 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffefefdfdfdfdfdfcfefe":"10000":"fffffffffffffefefdfdfdfdfdfcfefe":"10000" + +mbedtls_mpi_core_mla #1591 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffefefefefefefefe00000000":"ffffffff":"fffffffffefefefefefefefe00000000":"ffffffff" + +mbedtls_mpi_core_mla #1592 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefdfdfdfcfefefefe":"100000000":"fffffffffefefefefdfdfdfcfefefefe":"100000000" + +mbedtls_mpi_core_mla #1593 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"ff800081018202828403830282018100":"7f7f7f7f7f7f7f7f":"ff800081018202828403830282018100":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1594 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7efefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7efefefefefefefefe":"8000000000000000" + +mbedtls_mpi_core_mla #1595 0xfffffffffffffffffefefefefefefefe + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fefefefefefefefe0101010101010102":"fffffffffffffffe":"fefefefefefefefe0101010101010102":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1596 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1597 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"3":"3fffffffffffffffffefefefefefefefe":"0":"3fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1598 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"fe":"fefffffffffffffffffefefefefefefefe":"0":"fefffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1599 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"ff":"fffffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1600 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"ffff":"fffffffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1601 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"10000":"10000fffffffffffffffffefefefefefefefe":"0":"10000fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1602 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"ffffffff":"fffffffffffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1603 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"100000000":"fffffffffffffffffefefefefefefefe":"1":"100000000fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1604 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7ffffffffffffffffffefefefefefefefe":"7f7f7f7f":"7f7f7f7f7f7f7f7ffffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1605 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"8000000000000000":"fffffffffffffffffefefefefefefefe":"80000000":"8000000000000000fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1606 0xfffffffffffffffffefefefefefefefe + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffefffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffffffffefffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1607 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1608 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"3":"379d0369b20369cd0368cf359a1f359bce":"0":"379d0369b20369cd0368cf359a1f359bce":"0" + +mbedtls_mpi_core_mla #1609 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"fe":"1210edcb9f8a76532320fddbb8f7a664311e":"0":"1210edcb9f8a76532320fddbb8f7a664311e":"0" + +mbedtls_mpi_core_mla #1610 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"ff":"12232222181b2221122221212080b121100e":"0":"12232222181b2221122221212080b121100e":"0" + +mbedtls_mpi_core_mla #1611 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"ffff":"123445443a333d433334444342a232d332200e":"0":"123445443a333d433334444342a232d332200e":"0" + +mbedtls_mpi_core_mla #1612 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"10000":"1234577890abcdef012345668809bbddeefefe":"0":"1234577890abcdef012345668809bbddeefefe":"0" + +mbedtls_mpi_core_mla #1613 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787f7777767077777887e6767665f442200e":"12":"123456787f7777767077777887e6767665f442200e":"0" + +mbedtls_mpi_core_mla #1614 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"100000000":"34567891abcdef012345678909bbddeefefefefe":"12":"1234567891abcdef012345678909bbddeefefefefe":"0" + +mbedtls_mpi_core_mla #1615 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde770f8810996cde66f76f57607aaae5aa80e":"91107edbd":"1107edbd82bde770f8810996cde66f76f57607aaae5aa80e":"9" + +mbedtls_mpi_core_mla #1616 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78191a2b3c4855e6f77fefefefefefefefe":"91a2b3c48":"1a2b3c4855e6f78191a2b3c4855e6f77fefefefefefefefe":"9" + +mbedtls_mpi_core_mla #1617 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeeddba987667b32100edb8742fece985411e":"1234567890":"34567890abcdeeddba987667b32100edb8742fece985411e":"12" + +mbedtls_mpi_core_mla #1618 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1619 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffffefefefefefefefb":"3":"fffffffffffffffffefefefefefefefb":"3" + +mbedtls_mpi_core_mla #1620 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"fffffffffffffffffefefefefefefe00":"fe":"fffffffffffffffffefefefefefefe00":"fe" + +mbedtls_mpi_core_mla #1621 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"fffffffffffffffffefefefefefefdff":"ff":"fffffffffffffffffefefefefefefdff":"ff" + +mbedtls_mpi_core_mla #1622 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"fffffffffffffffffefefefefefdfeff":"ffff":"fffffffffffffffffefefefefefdfeff":"ffff" + +mbedtls_mpi_core_mla #1623 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"fffffffffffffffffefefefefefdfefe":"10000":"fffffffffffffffffefefefefefdfefe":"10000" + +mbedtls_mpi_core_mla #1624 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"fffffffffffffffffefefefdfefefeff":"ffffffff":"fffffffffffffffffefefefdfefefeff":"ffffffff" + +mbedtls_mpi_core_mla #1625 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"fffffffffffffffffefefefdfefefefe":"100000000":"fffffffffffffffffefefefdfefefefe":"100000000" + +mbedtls_mpi_core_mla #1626 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffff7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f":"ffffffffffffffff7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1627 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffff7efefefefefefefe":"8000000000000000":"ffffffffffffffff7efefefefefefefe":"8000000000000000" + +mbedtls_mpi_core_mla #1628 0xfffffffffffffffffefefefefefefefe + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"fffffffffffffffefefefefefefeff00":"fffffffffffffffe":"fffffffffffffffefefefefefefeff00":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1629 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1630 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0379d0369b20369cd0368cf359a1f359bce":"0":"369d0369b20369cd0369d0369b20369cd0379d0369b20369cd0368cf359a1f359bce":"0" + +mbedtls_mpi_core_mla #1631 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a765323210edcb9f8a76532320fddbb8f7a664311e":"0":"120fedcb9f8a76532320fedcb9f8a765323210edcb9f8a76532320fddbb8f7a664311e":"0" + +mbedtls_mpi_core_mla #1632 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122232222181b2221122221212080b121100e":"0":"12222222181b2221122222222181b2221122232222181b2221122221212080b121100e":"0" + +mbedtls_mpi_core_mla #1633 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334445443a333d433334444342a232d332200e":"0":"123444443a333d433334444443a333d433334445443a333d433334444342a232d332200e":"0" + +mbedtls_mpi_core_mla #1634 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234577890abcdef012345668809bbddeefefe":"0":"1234567890abcdef01234567890abcdef01234577890abcdef012345668809bbddeefefe":"0" + +mbedtls_mpi_core_mla #1635 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887f7777767077777887e6767665f442200e":"1234":"123456787e7777767077777887e7777767077777887f7777767077777887e6767665f442200e":"0" + +mbedtls_mpi_core_mla #1636 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567891abcdef012345678909bbddeefefefefe":"1234":"1234567890abcdef01234567890abcdef01234567891abcdef012345678909bbddeefefefefe":"0" + +mbedtls_mpi_core_mla #1637 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f770f8810996cde66f76f57607aaae5aa80e":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f770f8810996cde66f76f57607aaae5aa80e":"911" + +mbedtls_mpi_core_mla #1638 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78191a2b3c4855e6f77fefefefefefefefe":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78191a2b3c4855e6f77fefefefefefefefe":"91a" + +mbedtls_mpi_core_mla #1639 0xfffffffffffffffffefefefefefefefe + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100eddba987667b32100edb8742fece985411e":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100eddba987667b32100edb8742fece985411e":"1234" + +mbedtls_mpi_core_mla #1640 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"fffffffffffffffffefefefefefefefe":"0":"fffffffffffffffffefefefefefefefe":"0" + +mbedtls_mpi_core_mla #1641 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c5197a996c0ad56abd0a04c305f063127f":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c5197a996c0ad56abd0a04c305f063127f":"0" + +mbedtls_mpi_core_mla #1642 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0986c28c1310ea954d304ee7294ad4c2c7a8":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0986c28c1310ea954d304ee7294ad4c2c7a8":"0" + +mbedtls_mpi_core_mla #1643 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01d75b4f0df98dc70c4a7e9154d253978d3":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01d75b4f0df98dc70c4a7e9154d253978d3":"0" + +mbedtls_mpi_core_mla #1644 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec932aa5d078754d356d91ff63735fb34dd3":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec932aa5d078754d356d91ff63735fb34dd3":"0" + +mbedtls_mpi_core_mla #1645 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b329ddceae4723945901eb014f75b029fefe":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b329ddceae4723945901eb014f75b029fefe":"0" + +mbedtls_mpi_core_mla #1646 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441738fb1e45c5aabac86df673c427ae884dd3":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441738fb1e45c5aabac86df673c427ae884dd3":"4" + +mbedtls_mpi_core_mla #1647 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec024f75b029fefefefe":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec024f75b029fefefefe":"4" + +mbedtls_mpi_core_mla #1648 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e3b7feacb855cb62a05c34402b051a3853":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e3b7feacb855cb62a05c34402b051a3853":"26d473ca9" + +mbedtls_mpi_core_mla #1649 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391cb2c80f601283b58957efefefefefefefe":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391cb2c80f601283b58957efefefefefefefe":"26fb9683d" + +mbedtls_mpi_core_mla #1650 0xfffffffffffffffffefefefefefefefe + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"fffffffffffffffffefefefefefefefe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9667f2b03064f3e86a024cfb26fa5e119ca8":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9667f2b03064f3e86a024cfb26fa5e119ca8":"4df72d07b" + +mbedtls_mpi_core_mla #1651 0x100000000000000000000000000000000 + 0x0 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"0":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1652 0x100000000000000000000000000000000 + 0x0 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"0":"3":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1653 0x100000000000000000000000000000000 + 0x0 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"0":"fe":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1654 0x100000000000000000000000000000000 + 0x0 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"0":"ff":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1655 0x100000000000000000000000000000000 + 0x0 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"0":"ffff":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1656 0x100000000000000000000000000000000 + 0x0 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"0":"10000":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1657 0x100000000000000000000000000000000 + 0x0 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"0":"ffffffff":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1658 0x100000000000000000000000000000000 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"0":"100000000":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1659 0x100000000000000000000000000000000 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"0":"7f7f7f7f7f7f7f7f":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1660 0x100000000000000000000000000000000 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"0":"8000000000000000":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1661 0x100000000000000000000000000000000 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"0":"fffffffffffffffe":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1662 0x100000000000000000000000000000000 + 0x1 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"1":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1663 0x100000000000000000000000000000000 + 0x1 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"1":"3":"100000000000000000000000000000003":"0":"100000000000000000000000000000003":"0" + +mbedtls_mpi_core_mla #1664 0x100000000000000000000000000000000 + 0x1 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"1":"fe":"1000000000000000000000000000000fe":"0":"1000000000000000000000000000000fe":"0" + +mbedtls_mpi_core_mla #1665 0x100000000000000000000000000000000 + 0x1 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"1":"ff":"1000000000000000000000000000000ff":"0":"1000000000000000000000000000000ff":"0" + +mbedtls_mpi_core_mla #1666 0x100000000000000000000000000000000 + 0x1 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"1":"ffff":"10000000000000000000000000000ffff":"0":"10000000000000000000000000000ffff":"0" + +mbedtls_mpi_core_mla #1667 0x100000000000000000000000000000000 + 0x1 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"1":"10000":"100000000000000000000000000010000":"0":"100000000000000000000000000010000":"0" + +mbedtls_mpi_core_mla #1668 0x100000000000000000000000000000000 + 0x1 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"1":"ffffffff":"1000000000000000000000000ffffffff":"0":"1000000000000000000000000ffffffff":"0" + +mbedtls_mpi_core_mla #1669 0x100000000000000000000000000000000 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1":"100000000":"100000000000000000000000100000000":"0":"100000000000000000000000100000000":"0" + +mbedtls_mpi_core_mla #1670 0x100000000000000000000000000000000 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1":"7f7f7f7f7f7f7f7f":"100000000000000007f7f7f7f7f7f7f7f":"0":"100000000000000007f7f7f7f7f7f7f7f":"0" + +mbedtls_mpi_core_mla #1671 0x100000000000000000000000000000000 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1":"8000000000000000":"100000000000000008000000000000000":"0":"100000000000000008000000000000000":"0" + +mbedtls_mpi_core_mla #1672 0x100000000000000000000000000000000 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1":"fffffffffffffffe":"10000000000000000fffffffffffffffe":"0":"10000000000000000fffffffffffffffe":"0" + +mbedtls_mpi_core_mla #1673 0x100000000000000000000000000000000 + 0xfffe * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1674 0x100000000000000000000000000000000 + 0xfffe * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"3":"10000000000000000000000000002fffa":"0":"10000000000000000000000000002fffa":"0" + +mbedtls_mpi_core_mla #1675 0x100000000000000000000000000000000 + 0xfffe * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"fffe":"fe":"100000000000000000000000000fdfe04":"0":"100000000000000000000000000fdfe04":"0" + +mbedtls_mpi_core_mla #1676 0x100000000000000000000000000000000 + 0xfffe * 0xff +mpi_core_mla:"100000000000000000000000000000000":"fffe":"ff":"100000000000000000000000000fefe02":"0":"100000000000000000000000000fefe02":"0" + +mbedtls_mpi_core_mla #1677 0x100000000000000000000000000000000 + 0xfffe * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"fffe":"ffff":"1000000000000000000000000fffd0002":"0":"1000000000000000000000000fffd0002":"0" + +mbedtls_mpi_core_mla #1678 0x100000000000000000000000000000000 + 0xfffe * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"10000":"1000000000000000000000000fffe0000":"0":"1000000000000000000000000fffe0000":"0" + +mbedtls_mpi_core_mla #1679 0x100000000000000000000000000000000 + 0xfffe * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"fffe":"ffffffff":"100000000000000000000fffdffff0002":"0":"100000000000000000000fffdffff0002":"0" + +mbedtls_mpi_core_mla #1680 0x100000000000000000000000000000000 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"100000000":"100000000000000000000fffe00000000":"0":"100000000000000000000fffe00000000":"0" + +mbedtls_mpi_core_mla #1681 0x100000000000000000000000000000000 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"7f7f7f7f7f7f7f7f":"10000000000007f7e8080808080800102":"0":"10000000000007f7e8080808080800102":"0" + +mbedtls_mpi_core_mla #1682 0x100000000000000000000000000000000 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"8000000000000000":"10000000000007fff0000000000000000":"0":"10000000000007fff0000000000000000":"0" + +mbedtls_mpi_core_mla #1683 0x100000000000000000000000000000000 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffe":"fffffffffffffffe":"1000000000000fffdfffffffffffe0004":"0":"1000000000000fffdfffffffffffe0004":"0" + +mbedtls_mpi_core_mla #1684 0x100000000000000000000000000000000 + 0xffffffff * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1685 0x100000000000000000000000000000000 + 0xffffffff * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"3":"1000000000000000000000002fffffffd":"0":"1000000000000000000000002fffffffd":"0" + +mbedtls_mpi_core_mla #1686 0x100000000000000000000000000000000 + 0xffffffff * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"fe":"10000000000000000000000fdffffff02":"0":"10000000000000000000000fdffffff02":"0" + +mbedtls_mpi_core_mla #1687 0x100000000000000000000000000000000 + 0xffffffff * 0xff +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"ff":"10000000000000000000000feffffff01":"0":"10000000000000000000000feffffff01":"0" + +mbedtls_mpi_core_mla #1688 0x100000000000000000000000000000000 + 0xffffffff * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"ffff":"100000000000000000000fffeffff0001":"0":"100000000000000000000fffeffff0001":"0" + +mbedtls_mpi_core_mla #1689 0x100000000000000000000000000000000 + 0xffffffff * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"10000":"100000000000000000000ffffffff0000":"0":"100000000000000000000ffffffff0000":"0" + +mbedtls_mpi_core_mla #1690 0x100000000000000000000000000000000 + 0xffffffff * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"ffffffff":"10000000000000000fffffffe00000001":"0":"10000000000000000fffffffe00000001":"0" + +mbedtls_mpi_core_mla #1691 0x100000000000000000000000000000000 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"100000000":"10000000000000000ffffffff00000000":"0":"10000000000000000ffffffff00000000":"0" + +mbedtls_mpi_core_mla #1692 0x100000000000000000000000000000000 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"7f7f7f7f7f7f7f7f":"1000000007f7f7f7effffffff80808081":"0":"1000000007f7f7f7effffffff80808081":"0" + +mbedtls_mpi_core_mla #1693 0x100000000000000000000000000000000 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"8000000000000000":"1000000007fffffff8000000000000000":"0":"1000000007fffffff8000000000000000":"0" + +mbedtls_mpi_core_mla #1694 0x100000000000000000000000000000000 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffff":"fffffffffffffffe":"100000000fffffffefffffffe00000002":"0":"100000000fffffffefffffffe00000002":"0" + +mbedtls_mpi_core_mla #1695 0x100000000000000000000000000000000 + 0x100000000 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1696 0x100000000000000000000000000000000 + 0x100000000 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"3":"100000000000000000000000300000000":"0":"100000000000000000000000300000000":"0" + +mbedtls_mpi_core_mla #1697 0x100000000000000000000000000000000 + 0x100000000 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"100000000":"fe":"10000000000000000000000fe00000000":"0":"10000000000000000000000fe00000000":"0" + +mbedtls_mpi_core_mla #1698 0x100000000000000000000000000000000 + 0x100000000 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"100000000":"ff":"10000000000000000000000ff00000000":"0":"10000000000000000000000ff00000000":"0" + +mbedtls_mpi_core_mla #1699 0x100000000000000000000000000000000 + 0x100000000 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"100000000":"ffff":"100000000000000000000ffff00000000":"0":"100000000000000000000ffff00000000":"0" + +mbedtls_mpi_core_mla #1700 0x100000000000000000000000000000000 + 0x100000000 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"10000":"100000000000000000001000000000000":"0":"100000000000000000001000000000000":"0" + +mbedtls_mpi_core_mla #1701 0x100000000000000000000000000000000 + 0x100000000 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"100000000":"ffffffff":"10000000000000000ffffffff00000000":"0":"10000000000000000ffffffff00000000":"0" + +mbedtls_mpi_core_mla #1702 0x100000000000000000000000000000000 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"100000000":"100000000000000010000000000000000":"0":"100000000000000010000000000000000":"0" + +mbedtls_mpi_core_mla #1703 0x100000000000000000000000000000000 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"7f7f7f7f7f7f7f7f":"1000000007f7f7f7f7f7f7f7f00000000":"0":"1000000007f7f7f7f7f7f7f7f00000000":"0" + +mbedtls_mpi_core_mla #1704 0x100000000000000000000000000000000 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"8000000000000000":"100000000800000000000000000000000":"0":"100000000800000000000000000000000":"0" + +mbedtls_mpi_core_mla #1705 0x100000000000000000000000000000000 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000":"fffffffffffffffe":"100000000fffffffffffffffe00000000":"0":"100000000fffffffffffffffe00000000":"0" + +mbedtls_mpi_core_mla #1706 0x100000000000000000000000000000000 + 0x20000000000000 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1707 0x100000000000000000000000000000000 + 0x20000000000000 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"3":"100000000000000000060000000000000":"0":"100000000000000000060000000000000":"0" + +mbedtls_mpi_core_mla #1708 0x100000000000000000000000000000000 + 0x20000000000000 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"fe":"100000000000000001fc0000000000000":"0":"100000000000000001fc0000000000000":"0" + +mbedtls_mpi_core_mla #1709 0x100000000000000000000000000000000 + 0x20000000000000 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"ff":"100000000000000001fe0000000000000":"0":"100000000000000001fe0000000000000":"0" + +mbedtls_mpi_core_mla #1710 0x100000000000000000000000000000000 + 0x20000000000000 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"ffff":"1000000000000001fffe0000000000000":"0":"1000000000000001fffe0000000000000":"0" + +mbedtls_mpi_core_mla #1711 0x100000000000000000000000000000000 + 0x20000000000000 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"10000":"100000000000000200000000000000000":"0":"100000000000000200000000000000000":"0" + +mbedtls_mpi_core_mla #1712 0x100000000000000000000000000000000 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"ffffffff":"100000000001fffffffe0000000000000":"0":"100000000001fffffffe0000000000000":"0" + +mbedtls_mpi_core_mla #1713 0x100000000000000000000000000000000 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"100000000":"100000000002000000000000000000000":"0":"100000000002000000000000000000000":"0" + +mbedtls_mpi_core_mla #1714 0x100000000000000000000000000000000 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"7f7f7f7f7f7f7f7f":"1000fefefefefefefefe0000000000000":"0":"1000fefefefefefefefe0000000000000":"0" + +mbedtls_mpi_core_mla #1715 0x100000000000000000000000000000000 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"8000000000000000":"100100000000000000000000000000000":"0":"100100000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1716 0x100000000000000000000000000000000 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"20000000000000":"fffffffffffffffe":"1001fffffffffffffffc0000000000000":"0":"1001fffffffffffffffc0000000000000":"0" + +mbedtls_mpi_core_mla #1717 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1718 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"3":"10000000000000002fffffffffffffffd":"0":"10000000000000002fffffffffffffffd":"0" + +mbedtls_mpi_core_mla #1719 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"fe":"100000000000000fdffffffffffffff02":"0":"100000000000000fdffffffffffffff02":"0" + +mbedtls_mpi_core_mla #1720 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0xff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"ff":"100000000000000feffffffffffffff01":"0":"100000000000000feffffffffffffff01":"0" + +mbedtls_mpi_core_mla #1721 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"ffff":"1000000000000fffeffffffffffff0001":"0":"1000000000000fffeffffffffffff0001":"0" + +mbedtls_mpi_core_mla #1722 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"10000":"1000000000000ffffffffffffffff0000":"0":"1000000000000ffffffffffffffff0000":"0" + +mbedtls_mpi_core_mla #1723 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"ffffffff":"100000000fffffffeffffffff00000001":"0":"100000000fffffffeffffffff00000001":"0" + +mbedtls_mpi_core_mla #1724 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"100000000":"100000000ffffffffffffffff00000000":"0":"100000000ffffffffffffffff00000000":"0" + +mbedtls_mpi_core_mla #1725 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"17f7f7f7f7f7f7f7e8080808080808081":"0":"17f7f7f7f7f7f7f7e8080808080808081":"0" + +mbedtls_mpi_core_mla #1726 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"8000000000000000":"17fffffffffffffff8000000000000000":"0":"17fffffffffffffff8000000000000000":"0" + +mbedtls_mpi_core_mla #1727 0x100000000000000000000000000000000 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffff":"fffffffffffffffe":"1fffffffffffffffd0000000000000002":"0":"1fffffffffffffffd0000000000000002":"0" + +mbedtls_mpi_core_mla #1728 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1729 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"3":"100000000000000030000000000000000":"0":"100000000000000030000000000000000":"0" + +mbedtls_mpi_core_mla #1730 0x100000000000000000000000000000000 + 0x10000000000000000 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"fe":"100000000000000fe0000000000000000":"0":"100000000000000fe0000000000000000":"0" + +mbedtls_mpi_core_mla #1731 0x100000000000000000000000000000000 + 0x10000000000000000 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"ff":"100000000000000ff0000000000000000":"0":"100000000000000ff0000000000000000":"0" + +mbedtls_mpi_core_mla #1732 0x100000000000000000000000000000000 + 0x10000000000000000 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"ffff":"1000000000000ffff0000000000000000":"0":"1000000000000ffff0000000000000000":"0" + +mbedtls_mpi_core_mla #1733 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"10000":"100000000000100000000000000000000":"0":"100000000000100000000000000000000":"0" + +mbedtls_mpi_core_mla #1734 0x100000000000000000000000000000000 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"ffffffff":"100000000ffffffff0000000000000000":"0":"100000000ffffffff0000000000000000":"0" + +mbedtls_mpi_core_mla #1735 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"100000000":"100000001000000000000000000000000":"0":"100000001000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1736 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"7f7f7f7f7f7f7f7f":"17f7f7f7f7f7f7f7f0000000000000000":"0":"17f7f7f7f7f7f7f7f0000000000000000":"0" + +mbedtls_mpi_core_mla #1737 0x100000000000000000000000000000000 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"8000000000000000":"180000000000000000000000000000000":"0":"180000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1738 0x100000000000000000000000000000000 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"10000000000000000":"fffffffffffffffe":"1fffffffffffffffe0000000000000000":"0":"1fffffffffffffffe0000000000000000":"0" + +mbedtls_mpi_core_mla #1739 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1740 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"3":"1000000000000000369d0369b20369cd0":"0":"1000000000000000369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1741 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"fe":"10000000000000120fedcb9f8a7653220":"0":"10000000000000120fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1742 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"ff":"1000000000000012222222181b2221110":"0":"1000000000000012222222181b2221110":"0" + +mbedtls_mpi_core_mla #1743 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"ffff":"100000000000123444443a333d4332110":"0":"100000000000123444443a333d4332110":"0" + +mbedtls_mpi_core_mla #1744 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"10000":"1000000000001234567890abcdef00000":"0":"1000000000001234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1745 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"ffffffff":"10000000123456787e7777766f5432110":"0":"10000000123456787e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1746 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"100000000":"100000001234567890abcdef000000000":"0":"100000001234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1747 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"191107edbd82bde76f67708abaf5ba910":"0":"191107edbd82bde76f67708abaf5ba910":"0" + +mbedtls_mpi_core_mla #1748 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"8000000000000000":"191a2b3c4855e6f780000000000000000":"0":"191a2b3c4855e6f780000000000000000":"0" + +mbedtls_mpi_core_mla #1749 0x100000000000000000000000000000000 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef0":"fffffffffffffffe":"2234567890abcdeedb97530edea864220":"0":"2234567890abcdeedb97530edea864220":"0" + +mbedtls_mpi_core_mla #1750 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1751 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"3":"3fffffffffffffffffcfcfcfcfcfcfcfa":"0":"3fffffffffffffffffcfcfcfcfcfcfcfa":"0" + +mbedtls_mpi_core_mla #1752 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"fe":"feffffffffffffffff0101010101010004":"0":"feffffffffffffffff0101010101010004":"0" + +mbedtls_mpi_core_mla #1753 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"ff":"fffffffffffffffffeffffffffffffff02":"0":"fffffffffffffffffeffffffffffffff02":"0" + +mbedtls_mpi_core_mla #1754 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"ffff":"fffffffffffffffffefeffffffffffff0102":"0":"fffffffffffffffffefeffffffffffff0102":"0" + +mbedtls_mpi_core_mla #1755 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"10000":"10000fffffffffffffefefefefefefefe0000":"0":"10000fffffffffffffefefefefefefefe0000":"0" + +mbedtls_mpi_core_mla #1756 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffffffffffffefefefeffffffff01010102":"0":"fffffffffffffffffefefefeffffffff01010102":"0" + +mbedtls_mpi_core_mla #1757 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffefefefefefefefe00000000":"1":"100000000fffffffffefefefefefefefe00000000":"0" + +mbedtls_mpi_core_mla #1758 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"7f7f7f7fff800081018202828504840383028202":"7f7f7f7f":"7f7f7f7f7f7f7f7fff800081018202828504840383028202":"0" + +mbedtls_mpi_core_mla #1759 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"8000000000000000":"ff7f7f7f7f7f7f7f0000000000000000":"80000000":"8000000000000000ff7f7f7f7f7f7f7f0000000000000000":"0" + +mbedtls_mpi_core_mla #1760 0x100000000000000000000000000000000 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fffffffefefefefefefefefe0202020202020204":"ffffffff":"fffffffffffffffefefefefefefefefe0202020202020204":"0" + +mbedtls_mpi_core_mla #1761 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1762 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"3":"400000000000000000000000000000000":"0":"400000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1763 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"fe":"ff00000000000000000000000000000000":"0":"ff00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1764 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"ff":"10000000000000000000000000000000000":"0":"10000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1765 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"ffff":"1000000000000000000000000000000000000":"0":"1000000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1766 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"10000":"1000100000000000000000000000000000000":"0":"1000100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1767 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"ffffffff":"0":"1":"10000000000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1768 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"100000000":"100000000000000000000000000000000":"1":"10000000100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1769 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f8000000000000000000000000000000000":"7f7f7f7f":"7f7f7f7f7f7f7f8000000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1770 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"8000000000000000":"100000000000000000000000000000000":"80000000":"800000000000000100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1771 0x100000000000000000000000000000000 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"100000000000000000000000000000000":"fffffffffffffffe":"ffffffff00000000000000000000000000000000":"ffffffff":"ffffffffffffffff00000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1772 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1773 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"3":"379d0369b20369cd0369d0369b20369cd0":"0":"379d0369b20369cd0369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1774 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"fe":"1210edcb9f8a76532320fedcb9f8a7653220":"0":"1210edcb9f8a76532320fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1775 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"ff":"12232222181b2221122222222181b2221110":"0":"12232222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #1776 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"ffff":"123445443a333d433334444443a333d4332110":"0":"123445443a333d433334444443a333d4332110":"0" + +mbedtls_mpi_core_mla #1777 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"10000":"1234577890abcdef01234567890abcdef00000":"0":"1234577890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1778 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"ffffffff":"3456787f7777767077777887e7777766f5432110":"12":"123456787f7777767077777887e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1779 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"100000000":"34567891abcdef01234567890abcdef000000000":"12":"1234567891abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1780 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde770f8810996cde66f76f67708abaf5ba910":"91107edbd":"1107edbd82bde770f8810996cde66f76f67708abaf5ba910":"9" + +mbedtls_mpi_core_mla #1781 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f78191a2b3c4855e6f780000000000000000":"91a2b3c48":"1a2b3c4855e6f78191a2b3c4855e6f780000000000000000":"9" + +mbedtls_mpi_core_mla #1782 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeeddba987667b32100edb97530edea864220":"1234567890":"34567890abcdeeddba987667b32100edb97530edea864220":"12" + +mbedtls_mpi_core_mla #1783 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1784 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffffffffffffffffffd":"3":"fffffffffffffffffffffffffffffffd":"3" + +mbedtls_mpi_core_mla #1785 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffffffffffffffffffff02":"fe":"ffffffffffffffffffffffffffffff02":"fe" + +mbedtls_mpi_core_mla #1786 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffffffffffffffffffff01":"ff":"ffffffffffffffffffffffffffffff01":"ff" + +mbedtls_mpi_core_mla #1787 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffffffffffffffffffff0001":"ffff":"ffffffffffffffffffffffffffff0001":"ffff" + +mbedtls_mpi_core_mla #1788 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"ffffffffffffffffffffffffffff0000":"10000":"ffffffffffffffffffffffffffff0000":"10000" + +mbedtls_mpi_core_mla #1789 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffff00000001":"ffffffff":"ffffffffffffffffffffffff00000001":"ffffffff" + +mbedtls_mpi_core_mla #1790 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffffffffffffffffffff00000000":"100000000":"ffffffffffffffffffffffff00000000":"100000000" + +mbedtls_mpi_core_mla #1791 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffff8080808080808081":"7f7f7f7f7f7f7f7f":"ffffffffffffffff8080808080808081":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1792 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffff8000000000000000":"8000000000000000":"ffffffffffffffff8000000000000000":"8000000000000000" + +mbedtls_mpi_core_mla #1793 0x100000000000000000000000000000000 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffff0000000000000002":"fffffffffffffffe":"ffffffffffffffff0000000000000002":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1794 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1795 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd0379d0369b20369cd0369d0369b20369cd0":"0":"369d0369b20369cd0369d0369b20369cd0379d0369b20369cd0369d0369b20369cd0":"0" + +mbedtls_mpi_core_mla #1796 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a765323210edcb9f8a76532320fedcb9f8a7653220":"0":"120fedcb9f8a76532320fedcb9f8a765323210edcb9f8a76532320fedcb9f8a7653220":"0" + +mbedtls_mpi_core_mla #1797 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b2221122232222181b2221122222222181b2221110":"0":"12222222181b2221122222222181b2221122232222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #1798 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433334445443a333d433334444443a333d4332110":"0":"123444443a333d433334444443a333d433334445443a333d433334444443a333d4332110":"0" + +mbedtls_mpi_core_mla #1799 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234577890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcdef01234577890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1800 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e7777767077777887f7777767077777887e7777766f5432110":"1234":"123456787e7777767077777887e7777767077777887f7777767077777887e7777766f5432110":"0" + +mbedtls_mpi_core_mla #1801 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef01234567891abcdef01234567890abcdef000000000":"1234":"1234567890abcdef01234567890abcdef01234567891abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1802 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f770f8810996cde66f76f67708abaf5ba910":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f770f8810996cde66f76f67708abaf5ba910":"911" + +mbedtls_mpi_core_mla #1803 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f78191a2b3c4855e6f780000000000000000":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f78191a2b3c4855e6f780000000000000000":"91a" + +mbedtls_mpi_core_mla #1804 0x100000000000000000000000000000000 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100eddba987667b32100edb97530edea864220":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100eddba987667b32100edb97530edea864220":"1234" + +mbedtls_mpi_core_mla #1805 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"100000000000000000000000000000000":"0":"100000000000000000000000000000000":"0" + +mbedtls_mpi_core_mla #1806 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c5197a996c0ad56abd0b05c406f1641381":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53c5197a996c0ad56abd0b05c406f1641381":"0" + +mbedtls_mpi_core_mla #1807 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0986c28c1310ea954d304fe82a4bd5c3c8aa":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0986c28c1310ea954d304fe82a4bd5c3c8aa":"0" + +mbedtls_mpi_core_mla #1808 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01d75b4f0df98dc70c4a8ea164e263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01d75b4f0df98dc70c4a8ea164e263a79d5":"0" + +mbedtls_mpi_core_mla #1809 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec932aa5d078754d356d9300647460b44ed5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1ec932aa5d078754d356d9300647460b44ed5":"0" + +mbedtls_mpi_core_mla #1810 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b329ddceae4723945901ec025076b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b329ddceae4723945901ec025076b12b0000":"0" + +mbedtls_mpi_core_mla #1811 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441738fb1e45c5aabac86df774c528af894ed5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c4441738fb1e45c5aabac86df774c528af894ed5":"4" + +mbedtls_mpi_core_mla #1812 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec025076b12b00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec025076b12b00000000":"4" + +mbedtls_mpi_core_mla #1813 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e3b7feacb855cb62a05d35412c061b3955":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0e3b7feacb855cb62a05d35412c061b3955":"26d473ca9" + +mbedtls_mpi_core_mla #1814 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391cb2c80f601283b58958000000000000000":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391cb2c80f601283b58958000000000000000":"26fb9683d" + +mbedtls_mpi_core_mla #1815 0x100000000000000000000000000000000 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"100000000000000000000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9667f2b03064f3e86a024dfc27fb5f129daa":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d9667f2b03064f3e86a024dfc27fb5f129daa":"4df72d07b" + +mbedtls_mpi_core_mla #1816 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1817 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"3":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1818 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"fe":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1819 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"ff":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1820 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"ffff":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1821 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"10000":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1822 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"ffffffff":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1823 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"100000000":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1824 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1825 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"8000000000000000":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1826 0x1234567890abcdef01234567890abcdef0 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"0":"fffffffffffffffe":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1827 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1828 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"3":"1234567890abcdef01234567890abcdef3":"0":"1234567890abcdef01234567890abcdef3":"0" + +mbedtls_mpi_core_mla #1829 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"fe":"1234567890abcdef01234567890abcdfee":"0":"1234567890abcdef01234567890abcdfee":"0" + +mbedtls_mpi_core_mla #1830 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"ff":"1234567890abcdef01234567890abcdfef":"0":"1234567890abcdef01234567890abcdfef":"0" + +mbedtls_mpi_core_mla #1831 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"ffff":"1234567890abcdef01234567890abddeef":"0":"1234567890abcdef01234567890abddeef":"0" + +mbedtls_mpi_core_mla #1832 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"10000":"1234567890abcdef01234567890abddef0":"0":"1234567890abcdef01234567890abddef0":"0" + +mbedtls_mpi_core_mla #1833 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"ffffffff":"1234567890abcdef012345678a0abcdeef":"0":"1234567890abcdef012345678a0abcdeef":"0" + +mbedtls_mpi_core_mla #1834 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"100000000":"1234567890abcdef012345678a0abcdef0":"0":"1234567890abcdef012345678a0abcdef0":"0" + +mbedtls_mpi_core_mla #1835 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"7f7f7f7f7f7f7f7f":"1234567890abcdef01a2c4e7088a3c5e6f":"0":"1234567890abcdef01a2c4e7088a3c5e6f":"0" + +mbedtls_mpi_core_mla #1836 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"8000000000000000":"1234567890abcdef01a34567890abcdef0":"0":"1234567890abcdef01a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1837 0x1234567890abcdef01234567890abcdef0 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1":"fffffffffffffffe":"1234567890abcdef02234567890abcdeee":"0":"1234567890abcdef02234567890abcdeee":"0" + +mbedtls_mpi_core_mla #1838 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1839 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"3":"1234567890abcdef01234567890abfdeea":"0":"1234567890abcdef01234567890abfdeea":"0" + +mbedtls_mpi_core_mla #1840 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"fe":"1234567890abcdef01234567890bbadcf4":"0":"1234567890abcdef01234567890bbadcf4":"0" + +mbedtls_mpi_core_mla #1841 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"ff":"1234567890abcdef01234567890bbbdcf2":"0":"1234567890abcdef01234567890bbbdcf2":"0" + +mbedtls_mpi_core_mla #1842 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"ffff":"1234567890abcdef012345678a0ab9def2":"0":"1234567890abcdef012345678a0ab9def2":"0" + +mbedtls_mpi_core_mla #1843 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"10000":"1234567890abcdef012345678a0abadef0":"0":"1234567890abcdef012345678a0abadef0":"0" + +mbedtls_mpi_core_mla #1844 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"ffffffff":"1234567890abcdef01234667870abbdef2":"0":"1234567890abcdef01234667870abbdef2":"0" + +mbedtls_mpi_core_mla #1845 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"100000000":"1234567890abcdef01234667870abcdef0":"0":"1234567890abcdef01234667870abcdef0":"0" + +mbedtls_mpi_core_mla #1846 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"7f7f7f7f7f7f7f7f":"1234567890abce6e7fa3c5e8098b3cdff2":"0":"1234567890abce6e7fa3c5e8098b3cdff2":"0" + +mbedtls_mpi_core_mla #1847 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"8000000000000000":"1234567890abce6f00234567890abcdef0":"0":"1234567890abce6f00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1848 0x1234567890abcdef01234567890abcdef0 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffe":"fffffffffffffffe":"1234567890abceeeff234567890abadef4":"0":"1234567890abceeeff234567890abadef4":"0" + +mbedtls_mpi_core_mla #1849 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1850 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"3":"1234567890abcdef012345678c0abcdeed":"0":"1234567890abcdef012345678c0abcdeed":"0" + +mbedtls_mpi_core_mla #1851 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"fe":"1234567890abcdef01234568870abcddf2":"0":"1234567890abcdef01234568870abcddf2":"0" + +mbedtls_mpi_core_mla #1852 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"ff":"1234567890abcdef01234568880abcddf1":"0":"1234567890abcdef01234568880abcddf1":"0" + +mbedtls_mpi_core_mla #1853 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"ffff":"1234567890abcdef01234667880abbdef1":"0":"1234567890abcdef01234667880abbdef1":"0" + +mbedtls_mpi_core_mla #1854 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"10000":"1234567890abcdef01234667890abbdef0":"0":"1234567890abcdef01234667890abbdef0":"0" + +mbedtls_mpi_core_mla #1855 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"ffffffff":"1234567890abcdef02234567870abcdef1":"0":"1234567890abcdef02234567870abcdef1":"0" + +mbedtls_mpi_core_mla #1856 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"100000000":"1234567890abcdef02234567880abcdef0":"0":"1234567890abcdef02234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1857 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"7f7f7f7f7f7f7f7f":"12345678912b4d6e80234567888b3d5f71":"0":"12345678912b4d6e80234567888b3d5f71":"0" + +mbedtls_mpi_core_mla #1858 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"8000000000000000":"12345678912bcdef00a34567890abcdef0":"0":"12345678912bcdef00a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1859 0x1234567890abcdef01234567890abcdef0 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffff":"fffffffffffffffe":"1234567891abcdef00234567870abcdef2":"0":"1234567891abcdef00234567870abcdef2":"0" + +mbedtls_mpi_core_mla #1860 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1861 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"3":"1234567890abcdef012345678c0abcdef0":"0":"1234567890abcdef012345678c0abcdef0":"0" + +mbedtls_mpi_core_mla #1862 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"fe":"1234567890abcdef01234568870abcdef0":"0":"1234567890abcdef01234568870abcdef0":"0" + +mbedtls_mpi_core_mla #1863 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"ff":"1234567890abcdef01234568880abcdef0":"0":"1234567890abcdef01234568880abcdef0":"0" + +mbedtls_mpi_core_mla #1864 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"ffff":"1234567890abcdef01234667880abcdef0":"0":"1234567890abcdef01234667880abcdef0":"0" + +mbedtls_mpi_core_mla #1865 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"10000":"1234567890abcdef01234667890abcdef0":"0":"1234567890abcdef01234667890abcdef0":"0" + +mbedtls_mpi_core_mla #1866 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"ffffffff":"1234567890abcdef02234567880abcdef0":"0":"1234567890abcdef02234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1867 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"100000000":"1234567890abcdef02234567890abcdef0":"0":"1234567890abcdef02234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1868 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"7f7f7f7f7f7f7f7f":"12345678912b4d6e80a2c4e7080abcdef0":"0":"12345678912b4d6e80a2c4e7080abcdef0":"0" + +mbedtls_mpi_core_mla #1869 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"8000000000000000":"12345678912bcdef01234567890abcdef0":"0":"12345678912bcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1870 0x1234567890abcdef01234567890abcdef0 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000":"fffffffffffffffe":"1234567891abcdef01234567870abcdef0":"0":"1234567891abcdef01234567870abcdef0":"0" + +mbedtls_mpi_core_mla #1871 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1872 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"3":"1234567890abcdef0123a567890abcdef0":"0":"1234567890abcdef0123a567890abcdef0":"0" + +mbedtls_mpi_core_mla #1873 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"fe":"1234567890abcdef01430567890abcdef0":"0":"1234567890abcdef01430567890abcdef0":"0" + +mbedtls_mpi_core_mla #1874 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"ff":"1234567890abcdef01432567890abcdef0":"0":"1234567890abcdef01432567890abcdef0":"0" + +mbedtls_mpi_core_mla #1875 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"ffff":"1234567890abcdef21232567890abcdef0":"0":"1234567890abcdef21232567890abcdef0":"0" + +mbedtls_mpi_core_mla #1876 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"10000":"1234567890abcdef21234567890abcdef0":"0":"1234567890abcdef21234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1877 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"ffffffff":"1234567890abedef01232567890abcdef0":"0":"1234567890abedef01232567890abcdef0":"0" + +mbedtls_mpi_core_mla #1878 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"100000000":"1234567890abedef01234567890abcdef0":"0":"1234567890abedef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1879 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"7f7f7f7f7f7f7f7f":"12346668809bbddef1132567890abcdef0":"0":"12346668809bbddef1132567890abcdef0":"0" + +mbedtls_mpi_core_mla #1880 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"8000000000000000":"1234667890abcdef01234567890abcdef0":"0":"1234667890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1881 0x1234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"20000000000000":"fffffffffffffffe":"1234767890abcdef01230567890abcdef0":"0":"1234767890abcdef01230567890abcdef0":"0" + +mbedtls_mpi_core_mla #1882 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1883 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"3":"1234567890abcdef04234567890abcdeed":"0":"1234567890abcdef04234567890abcdeed":"0" + +mbedtls_mpi_core_mla #1884 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"fe":"1234567890abcdefff234567890abcddf2":"0":"1234567890abcdefff234567890abcddf2":"0" + +mbedtls_mpi_core_mla #1885 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ff":"1234567890abcdf000234567890abcddf1":"0":"1234567890abcdf000234567890abcddf1":"0" + +mbedtls_mpi_core_mla #1886 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ffff":"1234567890abceef00234567890abbdef1":"0":"1234567890abceef00234567890abbdef1":"0" + +mbedtls_mpi_core_mla #1887 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"10000":"1234567890abceef01234567890abbdef0":"0":"1234567890abceef01234567890abbdef0":"0" + +mbedtls_mpi_core_mla #1888 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ffffffff":"1234567891abcdef00234567880abcdef1":"0":"1234567891abcdef00234567880abcdef1":"0" + +mbedtls_mpi_core_mla #1889 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"100000000":"1234567891abcdef01234567880abcdef0":"0":"1234567891abcdef01234567880abcdef0":"0" + +mbedtls_mpi_core_mla #1890 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"12b3d5f8102b4d6e7fa3c5e8098b3d5f71":"0":"12b3d5f8102b4d6e7fa3c5e8098b3d5f71":"0" + +mbedtls_mpi_core_mla #1891 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"8000000000000000":"12b4567890abcdef00a34567890abcdef0":"0":"12b4567890abcdef00a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #1892 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffff":"fffffffffffffffe":"1334567890abcdeefe234567890abcdef2":"0":"1334567890abcdeefe234567890abcdef2":"0" + +mbedtls_mpi_core_mla #1893 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1894 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"3":"1234567890abcdef04234567890abcdef0":"0":"1234567890abcdef04234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1895 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"fe":"1234567890abcdefff234567890abcdef0":"0":"1234567890abcdefff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1896 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"ff":"1234567890abcdf000234567890abcdef0":"0":"1234567890abcdf000234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1897 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"ffff":"1234567890abceef00234567890abcdef0":"0":"1234567890abceef00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1898 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"10000":"1234567890abceef01234567890abcdef0":"0":"1234567890abceef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1899 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"ffffffff":"1234567891abcdef00234567890abcdef0":"0":"1234567891abcdef00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1900 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"100000000":"1234567891abcdef01234567890abcdef0":"0":"1234567891abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1901 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"7f7f7f7f7f7f7f7f":"12b3d5f8102b4d6e80234567890abcdef0":"0":"12b3d5f8102b4d6e80234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1902 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"8000000000000000":"12b4567890abcdef01234567890abcdef0":"0":"12b4567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1903 0x1234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"10000000000000000":"fffffffffffffffe":"1334567890abcdeeff234567890abcdef0":"0":"1334567890abcdeeff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1904 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1905 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"3":"1234567890abcdef048d159e242af37bc0":"0":"1234567890abcdef048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1906 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"fe":"1234567890abcdf02222222181b2221110":"0":"1234567890abcdf02222222181b2221110":"0" + +mbedtls_mpi_core_mla #1907 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ff":"1234567890abcdf0234567890abcdef000":"0":"1234567890abcdf0234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1908 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ffff":"1234567890abcf124567890abcdef00000":"0":"1234567890abcf124567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1909 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"10000":"1234567890abcf12468ace7245e9acdef0":"0":"1234567890abcf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1910 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ffffffff":"1234567891cf1356890abcdef000000000":"0":"1234567891cf1356890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1911 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"100000000":"1234567891cf13568a2e0246790abcdef0":"0":"1234567891cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1912 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"12c566f76c83f9cd7819bc7034ba188800":"0":"12c566f76c83f9cd7819bc7034ba188800":"0" + +mbedtls_mpi_core_mla #1913 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"8000000000000000":"12c5f92c55312c5e79234567890abcdef0":"0":"12c5f92c55312c5e79234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1914 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef0":"fffffffffffffffe":"13579be019b68acdeedcba9876f5432110":"0":"13579be019b68acdeedcba9876f5432110":"0" + +mbedtls_mpi_core_mla #1915 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1916 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"3":"1534567890abcdef012042648607b9dbea":"0":"1534567890abcdef012042648607b9dbea":"0" + +mbedtls_mpi_core_mla #1917 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fe":"11034567890abcdef002446688a0bbddef4":"0":"11034567890abcdef002446688a0bbddef4":"0" + +mbedtls_mpi_core_mla #1918 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ff":"11134567890abcdef00234567890abcddf2":"0":"11134567890abcdef00234567890abcddf2":"0" + +mbedtls_mpi_core_mla #1919 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffff":"1001134567890abcdee00234567890abbdff2":"0":"1001134567890abcdee00234567890abbdff2":"0" + +mbedtls_mpi_core_mla #1920 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"10000":"1001234567890abcdee002244668809badef0":"0":"1001234567890abcdee002244668809badef0":"0" + +mbedtls_mpi_core_mla #1921 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffffffff":"1134567890aaccee00234567880bbddff2":"1":"10000001134567890aaccee00234567880bbddff2":"0" + +mbedtls_mpi_core_mla #1922 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"100000000":"1234567890aaccee00224466870abcdef0":"1":"10000001234567890aaccee00224466870abcdef0":"0" + +mbedtls_mpi_core_mla #1923 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"7f7f7f9133d67911ad4ff183a849eb8c8dbf60f2":"7f7f7f7f":"7f7f7f7f7f7f7f9133d67911ad4ff183a849eb8c8dbf60f2":"0" + +mbedtls_mpi_core_mla #1924 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"8000000000000000":"1233d5f8102b4d6e80234567890abcdef0":"80000000":"800000000000001233d5f8102b4d6e80234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1925 0x1234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"103355778faaccedff2547698b0cbee0f4":"100000000":"103355778faaccedff2547698b0cbee0f4":"1" + +mbedtls_mpi_core_mla #1926 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1927 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"3":"1534567890abcdef01234567890abcdef0":"0":"1534567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1928 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"fe":"11034567890abcdef01234567890abcdef0":"0":"11034567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1929 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ff":"11134567890abcdef01234567890abcdef0":"0":"11134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1930 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ffff":"1001134567890abcdef01234567890abcdef0":"0":"1001134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1931 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"10000":"1001234567890abcdef01234567890abcdef0":"0":"1001234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1932 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ffffffff":"1134567890abcdef01234567890abcdef0":"1":"10000001134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1933 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"100000000":"1234567890abcdef01234567890abcdef0":"1":"10000001234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1934 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f9134567890abcdef01234567890abcdef0":"7f7f7f7f":"7f7f7f7f7f7f7f9134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1935 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"8000000000000000":"1234567890abcdef01234567890abcdef0":"80000000":"800000000000001234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1936 0x1234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"fffffffffffffffe":"1034567890abcdef01234567890abcdef0":"100000000":"1034567890abcdef01234567890abcdef0":"1" + +mbedtls_mpi_core_mla #1937 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1938 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"3":"48d159e242af37bc048d159e242af37bc0":"0":"48d159e242af37bc048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1939 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fe":"12222222181b2221122222222181b2221110":"0":"12222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #1940 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ff":"1234567890abcdef01234567890abcdef000":"0":"1234567890abcdef01234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1941 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffff":"1234567890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1942 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"10000":"123468ace7245e9acf12468ace7245e9acdef0":"0":"123468ace7245e9acf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1943 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffffffff":"34567890abcdef01234567890abcdef000000000":"12":"1234567890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1944 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"100000000":"345678a2e0246791cf13568a2e0246790abcdef0":"12":"12345678a2e0246791cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1945 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"82bde7822cd7822779b45e7819bc7034ba188800":"91107edbd":"1107edbd82bde7822cd7822779b45e7819bc7034ba188800":"9" + +mbedtls_mpi_core_mla #1946 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"8000000000000000":"55e6f792c5f92c55312c5e79234567890abcdef0":"91a2b3c48":"1a2b3c4855e6f792c5f92c55312c5e79234567890abcdef0":"9" + +mbedtls_mpi_core_mla #1947 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"abcdeeeeeeeeeef85eeeefeedcba9876f5432110":"1234567890":"34567890abcdeeeeeeeeeef85eeeefeedcba9876f5432110":"12" + +mbedtls_mpi_core_mla #1948 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1949 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"1234567890abcdef01234567890abcdeed":"3":"1234567890abcdef01234567890abcdeed":"3" + +mbedtls_mpi_core_mla #1950 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"1234567890abcdef01234567890abcddf2":"fe":"1234567890abcdef01234567890abcddf2":"fe" + +mbedtls_mpi_core_mla #1951 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"1234567890abcdef01234567890abcddf1":"ff":"1234567890abcdef01234567890abcddf1":"ff" + +mbedtls_mpi_core_mla #1952 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"1234567890abcdef01234567890abbdef1":"ffff":"1234567890abcdef01234567890abbdef1":"ffff" + +mbedtls_mpi_core_mla #1953 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"1234567890abcdef01234567890abbdef0":"10000":"1234567890abcdef01234567890abbdef0":"10000" + +mbedtls_mpi_core_mla #1954 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"1234567890abcdef01234567880abcdef1":"ffffffff":"1234567890abcdef01234567880abcdef1":"ffffffff" + +mbedtls_mpi_core_mla #1955 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"1234567890abcdef01234567880abcdef0":"100000000":"1234567890abcdef01234567880abcdef0":"100000000" + +mbedtls_mpi_core_mla #1956 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"1234567890abcdef00a3c5e8098b3d5f71":"7f7f7f7f7f7f7f7f":"1234567890abcdef00a3c5e8098b3d5f71":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #1957 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"1234567890abcdef00a34567890abcdef0":"8000000000000000":"1234567890abcdef00a34567890abcdef0":"8000000000000000" + +mbedtls_mpi_core_mla #1958 0x1234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"1234567890abcdef00234567890abcdef2":"fffffffffffffffe":"1234567890abcdef00234567890abcdef2":"fffffffffffffffe" + +mbedtls_mpi_core_mla #1959 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1960 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369cd048d159e242af37bc048d159e242af37bc0":"0":"369d0369b20369cd0369d0369b20369cd048d159e242af37bc048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #1961 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a7653232222222181b2221122222222181b2221110":"0":"120fedcb9f8a76532320fedcb9f8a7653232222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #1962 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b222112234567890abcdef01234567890abcdef000":"0":"12222222181b2221122222222181b222112234567890abcdef01234567890abcdef000":"0" + +mbedtls_mpi_core_mla #1963 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d4333344567890abcdef01234567890abcdef00000":"0":"123444443a333d433334444443a333d4333344567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #1964 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef0123468ace7245e9acf12468ace7245e9acdef0":"0":"1234567890abcdef01234567890abcdef0123468ace7245e9acf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #1965 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7777767077777887e77777670777778890abcdef01234567890abcdef000000000":"1234":"123456787e7777767077777887e77777670777778890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #1966 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890abcdef01234567890abcdef012345678a2e0246791cf13568a2e0246790abcdef0":"1234":"1234567890abcdef01234567890abcdef012345678a2e0246791cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #1967 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff8810996cde66f76ff8810996cde66f7822cd7822779b45e7819bc7034ba188800":"91107edbd82":"7edbd82bde76ff8810996cde66f76ff8810996cde66f7822cd7822779b45e7819bc7034ba188800":"911" + +mbedtls_mpi_core_mla #1968 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78091a2b3c4855e6f78091a2b3c4855e6f792c5f92c55312c5e79234567890abcdef0":"91a2b3c4855":"2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f792c5f92c55312c5e79234567890abcdef0":"91a" + +mbedtls_mpi_core_mla #1969 0x1234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcba987667b32100edcba987667b32100eeeeeeeeef85eeeefeedcba9876f5432110":"1234567890ab":"567890abcdeedcba987667b32100edcba987667b32100eeeeeeeeef85eeeefeedcba9876f5432110":"1234" + +mbedtls_mpi_core_mla #1970 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #1971 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53d64dd111fcb6a359be2e4b2b8ffc20f271":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aac9d25099dc5ede26efcd1d1f39ccae53d64dd111fcb6a359be2e4b2b8ffc20f271":"0" + +mbedtls_mpi_core_mla #1972 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0997f6e28ba196633c31732d91d4e080a79a":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c14e3fd8d8cb578e0a480f6fe7306fd0997f6e28ba196633c31732d91d4e080a79a":"0" + +mbedtls_mpi_core_mla #1973 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d02eaa0b697044aa5fc5cc2f7dd730f758c5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d02eaa0b697044aa5fc5cc2f7dd730f758c5":"0" + +mbedtls_mpi_core_mla #1974 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1eca45efc4909211b246eb645cbfd6b712dc5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d797d941ab42b08cb9c6098f26d7b1eca45efc4909211b246eb645cbfd6b712dc5":"0" + +mbedtls_mpi_core_mla #1975 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b33b122526d7cf6248030f47b7ffbbe7def0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b33b122526d7cf6248030f47b7ffbbe7def0":"0" + +mbedtls_mpi_core_mla #1976 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c444174a2f74be565688b76f1aba2cb1ba462dc5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb0d984845bcf6a52c3553066d8c444174a2f74be565688b76f1aba2cb1ba462dc5":"4" + +mbedtls_mpi_core_mla #1977 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328dde0e29d9c2504cfdb0373bc18b40abcdef0":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328dde0e29d9c2504cfdb0373bc18b40abcdef0":"4" + +mbedtls_mpi_core_mla #1978 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0f4ec552549019951a1807aa8b510d81845":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d8fd7a622db4e77394dbe5f29b402f4c0f4ec552549019951a1807aa8b510d81845":"26d473ca9" + +mbedtls_mpi_core_mla #1979 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391dc60d76e91d4094796a34567890abcdef0":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067d4cda2fdef772634b59946ee7572391dc60d76e91d4094796a34567890abcdef0":"26fb9683d" + +mbedtls_mpi_core_mla #1980 0x1234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d96792706a8f59fb6590371418f8469cf7c9a":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1eb8294e805a50aca17fc01e52d07d96792706a8f59fb6590371418f8469cf7c9a":"4df72d07b" + +mbedtls_mpi_core_mla #1981 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1982 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"3":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1983 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1984 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1985 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1986 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"10000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1987 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1988 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"100000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1989 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1990 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1991 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1992 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #1993 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"3":"2":"1":"2":"1" + +mbedtls_mpi_core_mla #1994 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"fe":"fd":"1":"fd":"1" + +mbedtls_mpi_core_mla #1995 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"ff":"fe":"1":"fe":"1" + +mbedtls_mpi_core_mla #1996 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"ffff":"fffe":"1":"fffe":"1" + +mbedtls_mpi_core_mla #1997 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"10000":"ffff":"1":"ffff":"1" + +mbedtls_mpi_core_mla #1998 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"ffffffff":"fffffffe":"1":"fffffffe":"1" + +mbedtls_mpi_core_mla #1999 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"100000000":"ffffffff":"1":"ffffffff":"1" + +mbedtls_mpi_core_mla #2000 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7e":"1":"7f7f7f7f7f7f7f7e":"1" + +mbedtls_mpi_core_mla #2001 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"8000000000000000":"7fffffffffffffff":"1":"7fffffffffffffff":"1" + +mbedtls_mpi_core_mla #2002 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1":"fffffffffffffffe":"fffffffffffffffd":"1":"fffffffffffffffd":"1" + +mbedtls_mpi_core_mla #2003 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2004 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"3":"2fff9":"1":"2fff9":"1" + +mbedtls_mpi_core_mla #2005 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"fe":"fdfe03":"1":"fdfe03":"1" + +mbedtls_mpi_core_mla #2006 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"ff":"fefe01":"1":"fefe01":"1" + +mbedtls_mpi_core_mla #2007 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"ffff":"fffd0001":"1":"fffd0001":"1" + +mbedtls_mpi_core_mla #2008 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"10000":"fffdffff":"1":"fffdffff":"1" + +mbedtls_mpi_core_mla #2009 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"ffffffff":"fffdffff0001":"1":"fffdffff0001":"1" + +mbedtls_mpi_core_mla #2010 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"100000000":"fffdffffffff":"1":"fffdffffffff":"1" + +mbedtls_mpi_core_mla #2011 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"7f7f7f7f7f7f7f7f":"7f7e8080808080800101":"1":"7f7e8080808080800101":"1" + +mbedtls_mpi_core_mla #2012 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"8000000000000000":"7ffeffffffffffffffff":"1":"7ffeffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2013 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffe":"fffffffffffffffe":"fffdfffffffffffe0003":"1":"fffdfffffffffffe0003":"1" + +mbedtls_mpi_core_mla #2014 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2015 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"3":"2fffffffc":"1":"2fffffffc":"1" + +mbedtls_mpi_core_mla #2016 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"fe":"fdffffff01":"1":"fdffffff01":"1" + +mbedtls_mpi_core_mla #2017 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ff":"feffffff00":"1":"feffffff00":"1" + +mbedtls_mpi_core_mla #2018 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffff":"fffeffff0000":"1":"fffeffff0000":"1" + +mbedtls_mpi_core_mla #2019 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"10000":"fffffffeffff":"1":"fffffffeffff":"1" + +mbedtls_mpi_core_mla #2020 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffff":"fffffffe00000000":"1":"fffffffe00000000":"1" + +mbedtls_mpi_core_mla #2021 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"100000000":"fffffffeffffffff":"1":"fffffffeffffffff":"1" + +mbedtls_mpi_core_mla #2022 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7effffffff80808080":"1":"7f7f7f7effffffff80808080":"1" + +mbedtls_mpi_core_mla #2023 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"8000000000000000":"7fffffff7fffffffffffffff":"1":"7fffffff7fffffffffffffff":"1" + +mbedtls_mpi_core_mla #2024 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"fffffffffffffffe":"fffffffefffffffe00000001":"1":"fffffffefffffffe00000001":"1" + +mbedtls_mpi_core_mla #2025 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2026 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"3":"2ffffffff":"1":"2ffffffff":"1" + +mbedtls_mpi_core_mla #2027 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"fe":"fdffffffff":"1":"fdffffffff":"1" + +mbedtls_mpi_core_mla #2028 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ff":"feffffffff":"1":"feffffffff":"1" + +mbedtls_mpi_core_mla #2029 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffff":"fffeffffffff":"1":"fffeffffffff":"1" + +mbedtls_mpi_core_mla #2030 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"10000":"ffffffffffff":"1":"ffffffffffff":"1" + +mbedtls_mpi_core_mla #2031 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"ffffffff":"fffffffeffffffff":"1":"fffffffeffffffff":"1" + +mbedtls_mpi_core_mla #2032 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"100000000":"ffffffffffffffff":"1":"ffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2033 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7effffffff":"1":"7f7f7f7f7f7f7f7effffffff":"1" + +mbedtls_mpi_core_mla #2034 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"8000000000000000":"7fffffffffffffffffffffff":"1":"7fffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2035 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"fffffffffffffffe":"fffffffffffffffdffffffff":"1":"fffffffffffffffdffffffff":"1" + +mbedtls_mpi_core_mla #2036 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2037 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"3":"5fffffffffffff":"1":"5fffffffffffff":"1" + +mbedtls_mpi_core_mla #2038 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"fe":"1fbfffffffffffff":"1":"1fbfffffffffffff":"1" + +mbedtls_mpi_core_mla #2039 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"ff":"1fdfffffffffffff":"1":"1fdfffffffffffff":"1" + +mbedtls_mpi_core_mla #2040 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"ffff":"1fffdfffffffffffff":"1":"1fffdfffffffffffff":"1" + +mbedtls_mpi_core_mla #2041 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"10000":"1fffffffffffffffff":"1":"1fffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2042 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"ffffffff":"1fffffffdfffffffffffff":"1":"1fffffffdfffffffffffff":"1" + +mbedtls_mpi_core_mla #2043 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"100000000":"1fffffffffffffffffffff":"1":"1fffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2044 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"7f7f7f7f7f7f7f7f":"fefefefefefefefdfffffffffffff":"1":"fefefefefefefefdfffffffffffff":"1" + +mbedtls_mpi_core_mla #2045 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"8000000000000000":"fffffffffffffffffffffffffffff":"1":"fffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2046 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"20000000000000":"fffffffffffffffe":"1fffffffffffffffbfffffffffffff":"1":"1fffffffffffffffbfffffffffffff":"1" + +mbedtls_mpi_core_mla #2047 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2048 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"3":"2fffffffffffffffc":"1":"2fffffffffffffffc":"1" + +mbedtls_mpi_core_mla #2049 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"fe":"fdffffffffffffff01":"1":"fdffffffffffffff01":"1" + +mbedtls_mpi_core_mla #2050 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"ff":"feffffffffffffff00":"1":"feffffffffffffff00":"1" + +mbedtls_mpi_core_mla #2051 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"ffff":"fffeffffffffffff0000":"1":"fffeffffffffffff0000":"1" + +mbedtls_mpi_core_mla #2052 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"10000":"fffffffffffffffeffff":"1":"fffffffffffffffeffff":"1" + +mbedtls_mpi_core_mla #2053 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"ffffffff":"fffffffeffffffff00000000":"1":"fffffffeffffffff00000000":"1" + +mbedtls_mpi_core_mla #2054 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"100000000":"fffffffffffffffeffffffff":"1":"fffffffffffffffeffffffff":"1" + +mbedtls_mpi_core_mla #2055 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7e8080808080808080":"1":"7f7f7f7f7f7f7f7e8080808080808080":"1" + +mbedtls_mpi_core_mla #2056 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"8000000000000000":"7fffffffffffffff7fffffffffffffff":"1":"7fffffffffffffff7fffffffffffffff":"1" + +mbedtls_mpi_core_mla #2057 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffff":"fffffffffffffffe":"fffffffffffffffd0000000000000001":"1":"fffffffffffffffd0000000000000001":"1" + +mbedtls_mpi_core_mla #2058 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2059 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"3":"2ffffffffffffffff":"1":"2ffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2060 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"fe":"fdffffffffffffffff":"1":"fdffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2061 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"ff":"feffffffffffffffff":"1":"feffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2062 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"ffff":"fffeffffffffffffffff":"1":"fffeffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2063 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"10000":"ffffffffffffffffffff":"1":"ffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2064 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"ffffffff":"fffffffeffffffffffffffff":"1":"fffffffeffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2065 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"100000000":"ffffffffffffffffffffffff":"1":"ffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2066 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7effffffffffffffff":"1":"7f7f7f7f7f7f7f7effffffffffffffff":"1" + +mbedtls_mpi_core_mla #2067 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"8000000000000000":"7fffffffffffffffffffffffffffffff":"1":"7fffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2068 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000000000000000":"fffffffffffffffe":"fffffffffffffffdffffffffffffffff":"1":"fffffffffffffffdffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2069 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2070 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"3":"369d0369b20369ccf":"1":"369d0369b20369ccf":"1" + +mbedtls_mpi_core_mla #2071 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"fe":"120fedcb9f8a765321f":"1":"120fedcb9f8a765321f":"1" + +mbedtls_mpi_core_mla #2072 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"ff":"12222222181b222110f":"1":"12222222181b222110f":"1" + +mbedtls_mpi_core_mla #2073 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"ffff":"123444443a333d433210f":"1":"123444443a333d433210f":"1" + +mbedtls_mpi_core_mla #2074 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"10000":"1234567890abcdeefffff":"1":"1234567890abcdeefffff":"1" + +mbedtls_mpi_core_mla #2075 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"ffffffff":"123456787e7777766f543210f":"1":"123456787e7777766f543210f":"1" + +mbedtls_mpi_core_mla #2076 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"100000000":"1234567890abcdeefffffffff":"1":"1234567890abcdeefffffffff":"1" + +mbedtls_mpi_core_mla #2077 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"91107edbd82bde76f67708abaf5ba90f":"1":"91107edbd82bde76f67708abaf5ba90f":"1" + +mbedtls_mpi_core_mla #2078 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"8000000000000000":"91a2b3c4855e6f77ffffffffffffffff":"1":"91a2b3c4855e6f77ffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2079 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef0":"fffffffffffffffe":"1234567890abcdeedb97530edea86421f":"1":"1234567890abcdeedb97530edea86421f":"1" + +mbedtls_mpi_core_mla #2080 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2081 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"3":"2fffffffffffffffffcfcfcfcfcfcfcf9":"1":"2fffffffffffffffffcfcfcfcfcfcfcf9":"1" + +mbedtls_mpi_core_mla #2082 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fe":"fdffffffffffffffff0101010101010003":"1":"fdffffffffffffffff0101010101010003":"1" + +mbedtls_mpi_core_mla #2083 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ff":"fefffffffffffffffeffffffffffffff01":"1":"fefffffffffffffffeffffffffffffff01":"1" + +mbedtls_mpi_core_mla #2084 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ffff":"fffefffffffffffffefeffffffffffff0101":"1":"fffefffffffffffffefeffffffffffff0101":"1" + +mbedtls_mpi_core_mla #2085 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"10000":"fffffffffffffffffefefefefefefefdffff":"1":"fffffffffffffffffefefefefefefefdffff":"1" + +mbedtls_mpi_core_mla #2086 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"ffffffff":"fffffffefffffffffefefefeffffffff01010101":"1":"fffffffefffffffffefefefeffffffff01010101":"1" + +mbedtls_mpi_core_mla #2087 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"100000000":"fffffffffffffffffefefefefefefefdffffffff":"1":"fffffffffffffffffefefefefefefefdffffffff":"1" + +mbedtls_mpi_core_mla #2088 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7eff800081018202828504840383028201":"1":"7f7f7f7f7f7f7f7eff800081018202828504840383028201":"1" + +mbedtls_mpi_core_mla #2089 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"8000000000000000":"7fffffffffffffffff7f7f7f7f7f7f7effffffffffffffff":"1":"7fffffffffffffffff7f7f7f7f7f7f7effffffffffffffff":"1" + +mbedtls_mpi_core_mla #2090 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"fffffffffffffffdfefefefefefefefe0202020202020203":"1":"fffffffffffffffdfefefefefefefefe0202020202020203":"1" + +mbedtls_mpi_core_mla #2091 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2092 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"3":"2ffffffffffffffffffffffffffffffff":"1":"2ffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2093 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"fe":"fdffffffffffffffffffffffffffffffff":"1":"fdffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2094 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"ff":"feffffffffffffffffffffffffffffffff":"1":"feffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2095 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"ffff":"fffeffffffffffffffffffffffffffffffff":"1":"fffeffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2096 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"10000":"ffffffffffffffffffffffffffffffffffff":"1":"ffffffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2097 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"ffffffff":"fffffffeffffffffffffffffffffffffffffffff":"1":"fffffffeffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2098 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"100000000":"ffffffffffffffffffffffffffffffffffffffff":"1":"ffffffffffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2099 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffff":"1":"7f7f7f7f7f7f7f7effffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2100 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"8000000000000000":"7fffffffffffffffffffffffffffffffffffffffffffffff":"1":"7fffffffffffffffffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2101 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000000000000000000000000000":"fffffffffffffffe":"fffffffffffffffdffffffffffffffffffffffffffffffff":"1":"fffffffffffffffdffffffffffffffffffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2102 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2103 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"3":"369d0369b20369cd0369d0369b20369ccf":"1":"369d0369b20369cd0369d0369b20369ccf":"1" + +mbedtls_mpi_core_mla #2104 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"fe":"120fedcb9f8a76532320fedcb9f8a765321f":"1":"120fedcb9f8a76532320fedcb9f8a765321f":"1" + +mbedtls_mpi_core_mla #2105 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ff":"12222222181b2221122222222181b222110f":"1":"12222222181b2221122222222181b222110f":"1" + +mbedtls_mpi_core_mla #2106 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ffff":"123444443a333d433334444443a333d433210f":"1":"123444443a333d433334444443a333d433210f":"1" + +mbedtls_mpi_core_mla #2107 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcdeefffff":"1":"1234567890abcdef01234567890abcdeefffff":"1" + +mbedtls_mpi_core_mla #2108 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"ffffffff":"123456787e7777767077777887e7777766f543210f":"1":"123456787e7777767077777887e7777766f543210f":"1" + +mbedtls_mpi_core_mla #2109 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"100000000":"1234567890abcdef01234567890abcdeefffffffff":"1":"1234567890abcdef01234567890abcdeefffffffff":"1" + +mbedtls_mpi_core_mla #2110 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"91107edbd82bde76ff8810996cde66f76f67708abaf5ba90f":"1":"91107edbd82bde76ff8810996cde66f76f67708abaf5ba90f":"1" + +mbedtls_mpi_core_mla #2111 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"8000000000000000":"91a2b3c4855e6f78091a2b3c4855e6f77ffffffffffffffff":"1":"91a2b3c4855e6f78091a2b3c4855e6f77ffffffffffffffff":"1" + +mbedtls_mpi_core_mla #2112 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"1234567890abcdeedcba987667b32100edb97530edea86421f":"1":"1234567890abcdeedcba987667b32100edb97530edea86421f":"1" + +mbedtls_mpi_core_mla #2113 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2114 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc":"3":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc":"3" + +mbedtls_mpi_core_mla #2115 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01":"fe":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01":"fe" + +mbedtls_mpi_core_mla #2116 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00":"ff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00":"ff" + +mbedtls_mpi_core_mla #2117 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000":"ffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000":"ffff" + +mbedtls_mpi_core_mla #2118 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffff":"10000":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffff":"10000" + +mbedtls_mpi_core_mla #2119 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000":"ffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000":"ffffffff" + +mbedtls_mpi_core_mla #2120 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff":"100000000":"fffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff":"100000000" + +mbedtls_mpi_core_mla #2121 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808080":"7f7f7f7f7f7f7f7f":"ffffffffffffffffffffffffffffffffffffffffffffffff8080808080808080":"7f7f7f7f7f7f7f7f" + +mbedtls_mpi_core_mla #2122 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff":"8000000000000000":"ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffff":"8000000000000000" + +mbedtls_mpi_core_mla #2123 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001":"fffffffffffffffe":"ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001":"fffffffffffffffe" + +mbedtls_mpi_core_mla #2124 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2125 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"369e0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369ccf":"0":"369e0369b20369cd0369d0369b20369cd0369d0369b20369cd0369d0369b20369ccf":"0" + +mbedtls_mpi_core_mla #2126 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"120feecb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a765321f":"0":"120feecb9f8a76532320fedcb9f8a76532320fedcb9f8a76532320fedcb9f8a765321f":"0" + +mbedtls_mpi_core_mla #2127 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"12222322181b2221122222222181b2221122222222181b2221122222222181b222110f":"0":"12222322181b2221122222222181b2221122222222181b2221122222222181b222110f":"0" + +mbedtls_mpi_core_mla #2128 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"123444453a333d433334444443a333d433334444443a333d433334444443a333d433210f":"0":"123444453a333d433334444443a333d433334444443a333d433334444443a333d433210f":"0" + +mbedtls_mpi_core_mla #2129 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"1234567990abcdef01234567890abcdef01234567890abcdef01234567890abcdeefffff":"0":"1234567990abcdef01234567890abcdef01234567890abcdef01234567890abcdeefffff":"0" + +mbedtls_mpi_core_mla #2130 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"56787e7877767077777887e7777767077777887e7777767077777887e7777766f543210f":"1234":"123456787e7877767077777887e7777767077777887e7777767077777887e7777766f543210f":"0" + +mbedtls_mpi_core_mla #2131 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"567890accdef01234567890abcdef01234567890abcdef01234567890abcdeefffffffff":"1234":"1234567890accdef01234567890abcdef01234567890abcdef01234567890abcdeefffffffff":"0" + +mbedtls_mpi_core_mla #2132 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde76ff9810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba90f":"91107edbd82":"7edbd82bde76ff9810996cde66f76ff8810996cde66f76ff8810996cde66f76f67708abaf5ba90f":"911" + +mbedtls_mpi_core_mla #2133 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f78092a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f77ffffffffffffffff":"91a2b3c4855":"2b3c4855e6f78092a2b3c4855e6f78091a2b3c4855e6f78091a2b3c4855e6f77ffffffffffffffff":"91a" + +mbedtls_mpi_core_mla #2134 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeedcbb987667b32100edcba987667b32100edcba987667b32100edb97530edea86421f":"1234567890ab":"567890abcdeedcbb987667b32100edcba987667b32100edcba987667b32100edb97530edea86421f":"1234" + +mbedtls_mpi_core_mla #2135 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0" + +mbedtls_mpi_core_mla #2136 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aacad25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641380":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1aacad25099dc5ede26efcd1d1f39ccae53c4197a996c0ad56abd0b05c406f1641380":"0" + +mbedtls_mpi_core_mla #2137 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c15e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8a9":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f427c15e3fd8d8cb578e0a480f6fe7306fd0985c28c1310ea954d304fe82a4bd5c3c8a9":"0" + +mbedtls_mpi_core_mla #2138 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db503d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d4":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db503d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d4":"0" + +mbedtls_mpi_core_mla #2139 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d897d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed4":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2b7d897d941ab42b08cb9c6098f26d7b1ec922aa5d078754d356d9300647460b44ed4":"0" + +mbedtls_mpi_core_mla #2140 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c6889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12affff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c6889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12affff":"0" + +mbedtls_mpi_core_mla #2141 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb1d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed4":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca4fb1d984845bcf6a52c3553066d8c4441737fb1e45c5aabac86df774c528af894ed4":"4" + +mbedtls_mpi_core_mla #2142 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889fca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12affffffff":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889fca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12affffffff":"4" + +mbedtls_mpi_core_mla #2143 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d90d7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3954":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f425d90d7a622db4e77394dbe5f29b402f4c0e2b7feacb855cb62a05d35412c061b3954":"26d473ca9" + +mbedtls_mpi_core_mla #2144 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067e4cda2fdef772634b59946ee7572391ca2c80f601283b58957fffffffffffffff":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f6525067e4cda2fdef772634b59946ee7572391ca2c80f601283b58957fffffffffffffff":"26fb9683d" + +mbedtls_mpi_core_mla #2145 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1fb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129da9":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e539b1fb8294e805a50aca17fc01e52d07d9666f2b03064f3e86a024dfc27fb5f129da9":"4df72d07b" + +mbedtls_mpi_core_mla #2146 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2147 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"3":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2148 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2149 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2150 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2151 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2152 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2153 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2154 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2155 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2156 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2157 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2158 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"3":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef3":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef3":"0" + +mbedtls_mpi_core_mla #2159 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdfee":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdfee":"0" + +mbedtls_mpi_core_mla #2160 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdfef":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdfef":"0" + +mbedtls_mpi_core_mla #2161 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddeef":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddeef":"0" + +mbedtls_mpi_core_mla #2162 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abddef0":"0" + +mbedtls_mpi_core_mla #2163 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdeef":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdeef":"0" + +mbedtls_mpi_core_mla #2164 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abcdef0":"0" + +mbedtls_mpi_core_mla #2165 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef01234567890abcdef01a2c4e7088a3c5e6f":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01a2c4e7088a3c5e6f":"0" + +mbedtls_mpi_core_mla #2166 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef01a34567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #2167 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234567890abcdef02234567890abcdeee":"0":"1234567890abcdef01234567890abcdef01234567890abcdef02234567890abcdeee":"0" + +mbedtls_mpi_core_mla #2168 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2169 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"3":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abfdeea":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abfdeea":"0" + +mbedtls_mpi_core_mla #2170 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890bbadcf4":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890bbadcf4":"0" + +mbedtls_mpi_core_mla #2171 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890bbbdcf2":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890bbbdcf2":"0" + +mbedtls_mpi_core_mla #2172 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0ab9def2":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0ab9def2":"0" + +mbedtls_mpi_core_mla #2173 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abadef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678a0abadef0":"0" + +mbedtls_mpi_core_mla #2174 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234667870abbdef2":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667870abbdef2":"0" + +mbedtls_mpi_core_mla #2175 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234667870abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667870abcdef0":"0" + +mbedtls_mpi_core_mla #2176 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef01234567890abce6e7fa3c5e8098b3cdff2":"0":"1234567890abcdef01234567890abcdef01234567890abce6e7fa3c5e8098b3cdff2":"0" + +mbedtls_mpi_core_mla #2177 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abce6f00234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abce6f00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2178 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffe":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234567890abceeeff234567890abadef4":"0":"1234567890abcdef01234567890abcdef01234567890abceeeff234567890abadef4":"0" + +mbedtls_mpi_core_mla #2179 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2180 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"3":"1234567890abcdef01234567890abcdef01234567890abcdef012345678c0abcdeed":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678c0abcdeed":"0" + +mbedtls_mpi_core_mla #2181 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01234568870abcddf2":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234568870abcddf2":"0" + +mbedtls_mpi_core_mla #2182 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234568880abcddf1":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234568880abcddf1":"0" + +mbedtls_mpi_core_mla #2183 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234667880abbdef1":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667880abbdef1":"0" + +mbedtls_mpi_core_mla #2184 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abbdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abbdef0":"0" + +mbedtls_mpi_core_mla #2185 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef02234567870abcdef1":"0":"1234567890abcdef01234567890abcdef01234567890abcdef02234567870abcdef1":"0" + +mbedtls_mpi_core_mla #2186 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef02234567880abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef02234567880abcdef0":"0" + +mbedtls_mpi_core_mla #2187 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012345678912b4d6e80234567888b3d5f71":"0":"1234567890abcdef01234567890abcdef012345678912b4d6e80234567888b3d5f71":"0" + +mbedtls_mpi_core_mla #2188 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"8000000000000000":"1234567890abcdef01234567890abcdef012345678912bcdef00a34567890abcdef0":"0":"1234567890abcdef01234567890abcdef012345678912bcdef00a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #2189 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234567891abcdef00234567870abcdef2":"0":"1234567890abcdef01234567890abcdef01234567891abcdef00234567870abcdef2":"0" + +mbedtls_mpi_core_mla #2190 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2191 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"3":"1234567890abcdef01234567890abcdef01234567890abcdef012345678c0abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef012345678c0abcdef0":"0" + +mbedtls_mpi_core_mla #2192 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01234568870abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234568870abcdef0":"0" + +mbedtls_mpi_core_mla #2193 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234568880abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234568880abcdef0":"0" + +mbedtls_mpi_core_mla #2194 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234667880abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667880abcdef0":"0" + +mbedtls_mpi_core_mla #2195 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234667890abcdef0":"0" + +mbedtls_mpi_core_mla #2196 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abcdef02234567880abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef02234567880abcdef0":"0" + +mbedtls_mpi_core_mla #2197 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef02234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef02234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2198 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012345678912b4d6e80a2c4e7080abcdef0":"0":"1234567890abcdef01234567890abcdef012345678912b4d6e80a2c4e7080abcdef0":"0" + +mbedtls_mpi_core_mla #2199 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"8000000000000000":"1234567890abcdef01234567890abcdef012345678912bcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef012345678912bcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2200 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234567891abcdef01234567870abcdef0":"0":"1234567890abcdef01234567890abcdef01234567891abcdef01234567870abcdef0":"0" + +mbedtls_mpi_core_mla #2201 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2202 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"3":"1234567890abcdef01234567890abcdef01234567890abcdef0123a567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef0123a567890abcdef0":"0" + +mbedtls_mpi_core_mla #2203 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"fe":"1234567890abcdef01234567890abcdef01234567890abcdef01430567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01430567890abcdef0":"0" + +mbedtls_mpi_core_mla #2204 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01432567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01432567890abcdef0":"0" + +mbedtls_mpi_core_mla #2205 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef21232567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef21232567890abcdef0":"0" + +mbedtls_mpi_core_mla #2206 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"10000":"1234567890abcdef01234567890abcdef01234567890abcdef21234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef21234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2207 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"ffffffff":"1234567890abcdef01234567890abcdef01234567890abedef01232567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abedef01232567890abcdef0":"0" + +mbedtls_mpi_core_mla #2208 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"100000000":"1234567890abcdef01234567890abcdef01234567890abedef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abedef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2209 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012346668809bbddef1132567890abcdef0":"0":"1234567890abcdef01234567890abcdef012346668809bbddef1132567890abcdef0":"0" + +mbedtls_mpi_core_mla #2210 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"8000000000000000":"1234567890abcdef01234567890abcdef01234667890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234667890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2211 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"20000000000000":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01234767890abcdef01230567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234767890abcdef01230567890abcdef0":"0" + +mbedtls_mpi_core_mla #2212 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2213 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"3":"1234567890abcdef01234567890abcdef01234567890abcdef04234567890abcdeed":"0":"1234567890abcdef01234567890abcdef01234567890abcdef04234567890abcdeed":"0" + +mbedtls_mpi_core_mla #2214 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"fe":"1234567890abcdef01234567890abcdef01234567890abcdefff234567890abcddf2":"0":"1234567890abcdef01234567890abcdef01234567890abcdefff234567890abcddf2":"0" + +mbedtls_mpi_core_mla #2215 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ff":"1234567890abcdef01234567890abcdef01234567890abcdf000234567890abcddf1":"0":"1234567890abcdef01234567890abcdef01234567890abcdf000234567890abcddf1":"0" + +mbedtls_mpi_core_mla #2216 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ffff":"1234567890abcdef01234567890abcdef01234567890abceef00234567890abbdef1":"0":"1234567890abcdef01234567890abcdef01234567890abceef00234567890abbdef1":"0" + +mbedtls_mpi_core_mla #2217 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"10000":"1234567890abcdef01234567890abcdef01234567890abceef01234567890abbdef0":"0":"1234567890abcdef01234567890abcdef01234567890abceef01234567890abbdef0":"0" + +mbedtls_mpi_core_mla #2218 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"ffffffff":"1234567890abcdef01234567890abcdef01234567891abcdef00234567880abcdef1":"0":"1234567890abcdef01234567890abcdef01234567891abcdef00234567880abcdef1":"0" + +mbedtls_mpi_core_mla #2219 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"100000000":"1234567890abcdef01234567890abcdef01234567891abcdef01234567880abcdef0":"0":"1234567890abcdef01234567890abcdef01234567891abcdef01234567880abcdef0":"0" + +mbedtls_mpi_core_mla #2220 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012b3d5f8102b4d6e7fa3c5e8098b3d5f71":"0":"1234567890abcdef01234567890abcdef012b3d5f8102b4d6e7fa3c5e8098b3d5f71":"0" + +mbedtls_mpi_core_mla #2221 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"8000000000000000":"1234567890abcdef01234567890abcdef012b4567890abcdef00a34567890abcdef0":"0":"1234567890abcdef01234567890abcdef012b4567890abcdef00a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #2222 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffff":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01334567890abcdeefe234567890abcdef2":"0":"1234567890abcdef01234567890abcdef01334567890abcdeefe234567890abcdef2":"0" + +mbedtls_mpi_core_mla #2223 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2224 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"3":"1234567890abcdef01234567890abcdef01234567890abcdef04234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef04234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2225 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"fe":"1234567890abcdef01234567890abcdef01234567890abcdefff234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdefff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2226 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"ff":"1234567890abcdef01234567890abcdef01234567890abcdf000234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdf000234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2227 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"ffff":"1234567890abcdef01234567890abcdef01234567890abceef00234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abceef00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2228 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"10000":"1234567890abcdef01234567890abcdef01234567890abceef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abceef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2229 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"ffffffff":"1234567890abcdef01234567890abcdef01234567891abcdef00234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567891abcdef00234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2230 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"100000000":"1234567890abcdef01234567890abcdef01234567891abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567891abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2231 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012b3d5f8102b4d6e80234567890abcdef0":"0":"1234567890abcdef01234567890abcdef012b3d5f8102b4d6e80234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2232 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"8000000000000000":"1234567890abcdef01234567890abcdef012b4567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef012b4567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2233 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000000000000000":"fffffffffffffffe":"1234567890abcdef01234567890abcdef01334567890abcdeeff234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01334567890abcdeeff234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2234 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2235 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"3":"1234567890abcdef01234567890abcdef01234567890abcdef048d159e242af37bc0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #2236 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"fe":"1234567890abcdef01234567890abcdef01234567890abcdf02222222181b2221110":"0":"1234567890abcdef01234567890abcdef01234567890abcdf02222222181b2221110":"0" + +mbedtls_mpi_core_mla #2237 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ff":"1234567890abcdef01234567890abcdef01234567890abcdf0234567890abcdef000":"0":"1234567890abcdef01234567890abcdef01234567890abcdf0234567890abcdef000":"0" + +mbedtls_mpi_core_mla #2238 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ffff":"1234567890abcdef01234567890abcdef01234567890abcf124567890abcdef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcf124567890abcdef00000":"0" + +mbedtls_mpi_core_mla #2239 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"10000":"1234567890abcdef01234567890abcdef01234567890abcf12468ace7245e9acdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #2240 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"ffffffff":"1234567890abcdef01234567890abcdef01234567891cf1356890abcdef000000000":"0":"1234567890abcdef01234567890abcdef01234567891cf1356890abcdef000000000":"0" + +mbedtls_mpi_core_mla #2241 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"100000000":"1234567890abcdef01234567890abcdef01234567891cf13568a2e0246790abcdef0":"0":"1234567890abcdef01234567890abcdef01234567891cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #2242 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"1234567890abcdef01234567890abcdef012c566f76c83f9cd7819bc7034ba188800":"0":"1234567890abcdef01234567890abcdef012c566f76c83f9cd7819bc7034ba188800":"0" + +mbedtls_mpi_core_mla #2243 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"8000000000000000":"1234567890abcdef01234567890abcdef012c5f92c55312c5e79234567890abcdef0":"0":"1234567890abcdef01234567890abcdef012c5f92c55312c5e79234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2244 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef0":"fffffffffffffffe":"1234567890abcdef01234567890abcdef013579be019b68acdeedcba9876f5432110":"0":"1234567890abcdef01234567890abcdef013579be019b68acdeedcba9876f5432110":"0" + +mbedtls_mpi_core_mla #2245 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2246 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"3":"1234567890abcdef01234567890abcdef01534567890abcdef012042648607b9dbea":"0":"1234567890abcdef01234567890abcdef01534567890abcdef012042648607b9dbea":"0" + +mbedtls_mpi_core_mla #2247 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fe":"1234567890abcdef01234567890abcdef11034567890abcdef002446688a0bbddef4":"0":"1234567890abcdef01234567890abcdef11034567890abcdef002446688a0bbddef4":"0" + +mbedtls_mpi_core_mla #2248 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ff":"1234567890abcdef01234567890abcdef11134567890abcdef00234567890abcddf2":"0":"1234567890abcdef01234567890abcdef11134567890abcdef00234567890abcddf2":"0" + +mbedtls_mpi_core_mla #2249 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffff":"1234567890abcdef01234567890abcdff01134567890abcdee00234567890abbdff2":"0":"1234567890abcdef01234567890abcdff01134567890abcdee00234567890abbdff2":"0" + +mbedtls_mpi_core_mla #2250 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"10000":"1234567890abcdef01234567890abcdff01234567890abcdee002244668809badef0":"0":"1234567890abcdef01234567890abcdff01234567890abcdee002244668809badef0":"0" + +mbedtls_mpi_core_mla #2251 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"ffffffff":"1234567890abcdef01234567890bbcdef01134567890aaccee00234567880bbddff2":"0":"1234567890abcdef01234567890bbcdef01134567890aaccee00234567880bbddff2":"0" + +mbedtls_mpi_core_mla #2252 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"100000000":"1234567890abcdef01234567890bbcdef01234567890aaccee00224466870abcdef0":"0":"1234567890abcdef01234567890bbcdef01234567890aaccee00224466870abcdef0":"0" + +mbedtls_mpi_core_mla #2253 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"1234567890abcdef0123c4e7088a3c5e6f9133d67911ad4ff183a849eb8c8dbf60f2":"0":"1234567890abcdef0123c4e7088a3c5e6f9133d67911ad4ff183a849eb8c8dbf60f2":"0" + +mbedtls_mpi_core_mla #2254 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"8000000000000000":"1234567890abcdef0123c567890abcdef01233d5f8102b4d6e80234567890abcdef0":"0":"1234567890abcdef0123c567890abcdef01233d5f8102b4d6e80234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2255 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"1234567890abcdef01244567890abcdef0103355778faaccedff2547698b0cbee0f4":"0":"1234567890abcdef01244567890abcdef0103355778faaccedff2547698b0cbee0f4":"0" + +mbedtls_mpi_core_mla #2256 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2257 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"3":"1234567890abcdef01234567890abcdef01534567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01534567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2258 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"fe":"1234567890abcdef01234567890abcdef11034567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef11034567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2259 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ff":"1234567890abcdef01234567890abcdef11134567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef11134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2260 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ffff":"1234567890abcdef01234567890abcdff01134567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdff01134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2261 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"10000":"1234567890abcdef01234567890abcdff01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdff01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2262 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"ffffffff":"1234567890abcdef01234567890bbcdef01134567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890bbcdef01134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2263 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"100000000":"1234567890abcdef01234567890bbcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890bbcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2264 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"1234567890abcdef0123c4e7088a3c5e6f9134567890abcdef01234567890abcdef0":"0":"1234567890abcdef0123c4e7088a3c5e6f9134567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2265 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"8000000000000000":"1234567890abcdef0123c567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef0123c567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2266 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000000000000000000000000000":"fffffffffffffffe":"1234567890abcdef01244567890abcdef01034567890abcdef01234567890abcdef0":"0":"1234567890abcdef01244567890abcdef01034567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2267 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2268 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"3":"1234567890abcdef01234567890abcdef048d159e242af37bc048d159e242af37bc0":"0":"1234567890abcdef01234567890abcdef048d159e242af37bc048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #2269 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fe":"1234567890abcdef01234567890abcdf02222222181b2221122222222181b2221110":"0":"1234567890abcdef01234567890abcdf02222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #2270 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ff":"1234567890abcdef01234567890abcdf0234567890abcdef01234567890abcdef000":"0":"1234567890abcdef01234567890abcdf0234567890abcdef01234567890abcdef000":"0" + +mbedtls_mpi_core_mla #2271 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffff":"1234567890abcdef01234567890abcf124567890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcf124567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #2272 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"10000":"1234567890abcdef01234567890abcf12468ace7245e9acf12468ace7245e9acdef0":"0":"1234567890abcdef01234567890abcf12468ace7245e9acf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #2273 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"ffffffff":"1234567890abcdef01234567891cf1356890abcdef01234567890abcdef000000000":"0":"1234567890abcdef01234567891cf1356890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #2274 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"100000000":"1234567890abcdef01234567891cf13568a2e0246791cf13568a2e0246790abcdef0":"0":"1234567890abcdef01234567891cf13568a2e0246791cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #2275 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"1234567890abcdef012c566f76c83f9cd7822cd7822779b45e7819bc7034ba188800":"0":"1234567890abcdef012c566f76c83f9cd7822cd7822779b45e7819bc7034ba188800":"0" + +mbedtls_mpi_core_mla #2276 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"8000000000000000":"1234567890abcdef012c5f92c55312c5e792c5f92c55312c5e79234567890abcdef0":"0":"1234567890abcdef012c5f92c55312c5e792c5f92c55312c5e79234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2277 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"1234567890abcdef013579be019b68acdeeeeeeeeef85eeeefeedcba9876f5432110":"0":"1234567890abcdef013579be019b68acdeeeeeeeeef85eeeefeedcba9876f5432110":"0" + +mbedtls_mpi_core_mla #2278 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2279 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"1237567890abcdef01234567890abcdef01234567890abcdef01234567890abcdeed":"0":"1237567890abcdef01234567890abcdef01234567890abcdef01234567890abcdeed":"0" + +mbedtls_mpi_core_mla #2280 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"1332567890abcdef01234567890abcdef01234567890abcdef01234567890abcddf2":"0":"1332567890abcdef01234567890abcdef01234567890abcdef01234567890abcddf2":"0" + +mbedtls_mpi_core_mla #2281 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"1333567890abcdef01234567890abcdef01234567890abcdef01234567890abcddf1":"0":"1333567890abcdef01234567890abcdef01234567890abcdef01234567890abcddf1":"0" + +mbedtls_mpi_core_mla #2282 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"11233567890abcdef01234567890abcdef01234567890abcdef01234567890abbdef1":"0":"11233567890abcdef01234567890abcdef01234567890abcdef01234567890abbdef1":"0" + +mbedtls_mpi_core_mla #2283 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"11234567890abcdef01234567890abcdef01234567890abcdef01234567890abbdef0":"0":"11234567890abcdef01234567890abcdef01234567890abcdef01234567890abbdef0":"0" + +mbedtls_mpi_core_mla #2284 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"1233567890abcdef01234567890abcdef01234567890abcdef01234567880abcdef1":"1":"100001233567890abcdef01234567890abcdef01234567890abcdef01234567880abcdef1":"0" + +mbedtls_mpi_core_mla #2285 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"1234567890abcdef01234567890abcdef01234567890abcdef01234567880abcdef0":"1":"100001234567890abcdef01234567890abcdef01234567890abcdef01234567880abcdef0":"0" + +mbedtls_mpi_core_mla #2286 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"7f7f91b3567890abcdef01234567890abcdef01234567890abcdef00a3c5e8098b3d5f71":"7f7f7f7f":"7f7f7f7f7f7f91b3567890abcdef01234567890abcdef01234567890abcdef00a3c5e8098b3d5f71":"0" + +mbedtls_mpi_core_mla #2287 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"1234567890abcdef01234567890abcdef01234567890abcdef00a34567890abcdef0":"80000000":"8000000000001234567890abcdef01234567890abcdef01234567890abcdef00a34567890abcdef0":"0" + +mbedtls_mpi_core_mla #2288 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"1232567890abcdef01234567890abcdef01234567890abcdef00234567890abcdef2":"100000000":"1232567890abcdef01234567890abcdef01234567890abcdef00234567890abcdef2":"1" + +mbedtls_mpi_core_mla #2289 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2290 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"48d159e242af37bc048d159e242af37bc048d159e242af37bc048d159e242af37bc0":"0":"48d159e242af37bc048d159e242af37bc048d159e242af37bc048d159e242af37bc0":"0" + +mbedtls_mpi_core_mla #2291 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110":"0":"12222222181b2221122222222181b2221122222222181b2221122222222181b2221110":"0" + +mbedtls_mpi_core_mla #2292 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000":"0" + +mbedtls_mpi_core_mla #2293 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef00000":"0" + +mbedtls_mpi_core_mla #2294 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"123468ace7245e9acf12468ace7245e9acf12468ace7245e9acf12468ace7245e9acdef0":"0":"123468ace7245e9acf12468ace7245e9acf12468ace7245e9acf12468ace7245e9acdef0":"0" + +mbedtls_mpi_core_mla #2295 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000":"1234":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef000000000":"0" + +mbedtls_mpi_core_mla #2296 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"5678a2e0246791cf13568a2e0246791cf13568a2e0246791cf13568a2e0246790abcdef0":"1234":"12345678a2e0246791cf13568a2e0246791cf13568a2e0246791cf13568a2e0246790abcdef0":"0" + +mbedtls_mpi_core_mla #2297 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"bde7822cd7822779b45e7822cd7822779b45e7822cd7822779b45e7819bc7034ba188800":"91107edbd82":"7edbd82bde7822cd7822779b45e7822cd7822779b45e7822cd7822779b45e7819bc7034ba188800":"911" + +mbedtls_mpi_core_mla #2298 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"e6f792c5f92c55312c5e792c5f92c55312c5e792c5f92c55312c5e79234567890abcdef0":"91a2b3c4855":"2b3c4855e6f792c5f92c55312c5e792c5f92c55312c5e792c5f92c55312c5e79234567890abcdef0":"91a" + +mbedtls_mpi_core_mla #2299 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"cdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110":"1234567890ab":"567890abcdeeeeeeeeeef85eeeefeeeeeeeeef85eeeefeeeeeeeeef85eeeefeedcba9876f5432110":"1234" + +mbedtls_mpi_core_mla #2300 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0" + +mbedtls_mpi_core_mla #2301 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1bcfe28c92a882ccd28131284a844898d43d64dd111fcb6a359be2e4b2b8ffc20f271":"0":"e9e587171e2555a906246fefbfeea8986fe227651cb91a30d00bf0259677d9c07c2cb20e72be34a27b4bee7c7ce54601cf7fb2af24628385433e736d46b7ca38cbd74e5a13c96c3c1e842e1f086c09f3b0f1fc96f21c4bdd101f1bcfe28c92a882ccd28131284a844898d43d64dd111fcb6a359be2e4b2b8ffc20f271":"0" + +mbedtls_mpi_core_mla #2302 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f428e493a761e388367e1c7c65e877dc3dbf997f6e28ba196633c31732d91d4e080a79a":"0":"4d5b3eada54dae54915d625aa024ee6d1500cbb21b7fe2a97a23f2c1c3c3a359a91172e371f2e813121c72352bf9292743f59118975dea2a12e7fcd77963738c1e15353f1fe09dcbe217b740ee1e65f54330083496bd5bc1c754f428e493a761e388367e1c7c65e877dc3dbf997f6e28ba196633c31732d91d4e080a79a":"0" + +mbedtls_mpi_core_mla #2303 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53dc7372b3ba6d74db1eec26012e73bb2c0c02eaa0b697044aa5fc5cc2f7dd730f758c5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53dc7372b3ba6d74db1eec26012e73bb2c0c02eaa0b697044aa5fc5cc2f7dd730f758c5":"0" + +mbedtls_mpi_core_mla #2304 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2ca0bee51d257109f8ddd0b7118319490dca45efc4909211b246eb645cbfd6b712dc5":"0":"4df6df1087af67d690292343c554f83897c33d2ba71bff27e7490ab33770c118362411f5eae540a16ce3266584cd985ed87f4bba7b3bca60ea93100f9bc3812b008a2b80ec7a72d0e61805339e19ab2d37aa1936fc81c89596c0ae2f2ca0bee51d257109f8ddd0b7118319490dca45efc4909211b246eb645cbfd6b712dc5":"0" + +mbedtls_mpi_core_mla #2305 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38ee02f9df175af5dae99ad7a52577ef8375a33b122526d7cf6248030f47b7ffbbe7def0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38ee02f9df175af5dae99ad7a52577ef8375a33b122526d7cf6248030f47b7ffbbe7def0":"0" + +mbedtls_mpi_core_mla #2306 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca61e52ffd15079d5953e69a97efe38123074a2f74be565688b76f1aba2cb1ba462dc5":"4":"df72d0766bfef85f7ffb36ce898bd8d8ffbd4eee447a643e670f1fc4223f888f73c4819fcdb2b86ad849348ab331d2c70de2439c6f6459cb4f3faa2abd31cee81b52c0b17fb5f4b58e8eb4ba34d4946e2d750e115b8c5175f5644efd9aca61e52ffd15079d5953e69a97efe38123074a2f74be565688b76f1aba2cb1ba462dc5":"4" + +mbedtls_mpi_core_mla #2307 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c59ad320c29da667a360e1344c4fa17007cde0e29d9c2504cfdb0373bc18b40abcdef0":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c59ad320c29da667a360e1344c4fa17007cde0e29d9c2504cfdb0373bc18b40abcdef0":"4" + +mbedtls_mpi_core_mla #2308 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f426fc42e1eb3871c663a7103c6b2bebfd3b0f4ec552549019951a1807aa8b510d81845":"26d473ca9":"d441b4567687a50ce39d9e627f9ae5a17c53f5d9021b53d1133136b82f9b9caa1b95bb86cf2721af7fb1ba5beab3aac621474f65dd70cec5d6024d5db720e421553e908eaec2d2e1534182cdd69920be02faa90d2e55b54ea32a4b038f426fc42e1eb3871c663a7103c6b2bebfd3b0f4ec552549019951a1807aa8b510d81845":"26d473ca9" + +mbedtls_mpi_core_mla #2309 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f652518b1a352c08ac561646e9efbf7f2140281dc60d76e91d4094796a34567890abcdef0":"26fb9683d":"a5b8e46d65b67fd4aa7c6c412a5b13b84c9845d7801fd5b9913f9a014b21dad131fb37069e1fd14bf7b8baaf7ea9dc7db65c09635dfbde78bc94c5ecca3e26458a1920a051607afd6bcac53482854c3d304b74f82afd9c76f862c44f652518b1a352c08ac561646e9efbf7f2140281dc60d76e91d4094796a34567890abcdef0":"26fb9683d" + +mbedtls_mpi_core_mla #2310 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e53ad530ea1df2c283fadc4c527a75d8d5c86792706a8f59fb6590371418f8469cf7c9a":"4df72d07b":"4b71c8d10c875eb2be1546ccbddc281def3edaaa56d35c91f01e1ca495c45ebc1ef806080fb837532784994484d473cb8dd52808c1504afa9fb9664c1c8cd2a821df298d79c85ce4af3107e7bf88ac84b16bd51e4be607f92f97b4be1e53ad530ea1df2c283fadc4c527a75d8d5c86792706a8f59fb6590371418f8469cf7c9a":"4df72d07b" + +mbedtls_mpi_core_mla #2311 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2312 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2313 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2314 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2315 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2316 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2317 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2318 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2319 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2320 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2321 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2322 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2323 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12e":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12e":"0" + +mbedtls_mpi_core_mla #2324 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b229":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b229":"0" + +mbedtls_mpi_core_mla #2325 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b22a":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b22a":"0" + +mbedtls_mpi_core_mla #2326 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12a":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12a":"0" + +mbedtls_mpi_core_mla #2327 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025077b12b":"0" + +mbedtls_mpi_core_mla #2328 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12a":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12a":"0" + +mbedtls_mpi_core_mla #2329 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035076b12b":"0" + +mbedtls_mpi_core_mla #2330 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472394d8816b81cff630aa":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472394d8816b81cff630aa":"0" + +mbedtls_mpi_core_mla #2331 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472394d901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472394d901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2332 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec025076b129":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec025076b129":"0" + +mbedtls_mpi_core_mla #2333 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2334 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025079b125":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025079b125":"0" + +mbedtls_mpi_core_mla #2335 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025174af2f":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025174af2f":"0" + +mbedtls_mpi_core_mla #2336 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025175af2d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025175af2d":"0" + +mbedtls_mpi_core_mla #2337 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035073b12d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035073b12d":"0" + +mbedtls_mpi_core_mla #2338 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035074b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec035074b12b":"0" + +mbedtls_mpi_core_mla #2339 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec005075b12d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec005075b12d":"0" + +mbedtls_mpi_core_mla #2340 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec005076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec005076b12b":"0" + +mbedtls_mpi_core_mla #2341 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47a312d9826c82d0f6b22d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47a312d9826c82d0f6b22d":"0" + +mbedtls_mpi_core_mla #2342 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47a3935901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47a3935901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2343 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffe":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823925901ec025074b12f":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823925901ec025074b12f":"0" + +mbedtls_mpi_core_mla #2344 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2345 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec055076b128":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec055076b128":"0" + +mbedtls_mpi_core_mla #2346 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed005076b02d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed005076b02d":"0" + +mbedtls_mpi_core_mla #2347 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed015076b02c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed015076b02c":"0" + +mbedtls_mpi_core_mla #2348 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec015075b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec015075b12c":"0" + +mbedtls_mpi_core_mla #2349 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025075b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025075b12b":"0" + +mbedtls_mpi_core_mla #2350 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec005076b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec005076b12c":"0" + +mbedtls_mpi_core_mla #2351 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec015076b12b":"0" + +mbedtls_mpi_core_mla #2352 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2dc6a3135901ec01d0f731ac":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2dc6a3135901ec01d0f731ac":"0" + +mbedtls_mpi_core_mla #2353 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2e472393d901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2e472393d901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2354 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec005076b12d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec005076b12d":"0" + +mbedtls_mpi_core_mla #2355 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2356 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec055076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec055076b12b":"0" + +mbedtls_mpi_core_mla #2357 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed005076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed005076b12b":"0" + +mbedtls_mpi_core_mla #2358 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ed015076b12b":"0" + +mbedtls_mpi_core_mla #2359 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec015076b12b":"0" + +mbedtls_mpi_core_mla #2360 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945902ec025076b12b":"0" + +mbedtls_mpi_core_mla #2361 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec015076b12b":"0" + +mbedtls_mpi_core_mla #2362 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723955901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2363 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2dc6a313d8816b815076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2dc6a313d8816b815076b12b":"0" + +mbedtls_mpi_core_mla #2364 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2e4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcf2e4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2365 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec005076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec005076b12b":"0" + +mbedtls_mpi_core_mla #2366 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2367 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945961ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945961ec025076b12b":"0" + +mbedtls_mpi_core_mla #2368 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239478c1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239478c1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2369 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239478e1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae47239478e1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2370 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723b458e1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723b458e1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2371 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723b45901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723b45901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2372 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae67239458e1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae67239458e1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2373 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae6723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae6723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2374 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b338cdbe9e37138448e1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b338cdbe9e37138448e1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2375 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b338ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b338ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2376 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x20000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"20000000000000":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b348ddceae47239458c1ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b348ddceae47239458c1ec025076b12b":"0" + +mbedtls_mpi_core_mla #2377 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2378 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723975901ec025076b128":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723975901ec025076b128":"0" + +mbedtls_mpi_core_mla #2379 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724925901ec025076b02d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724925901ec025076b02d":"0" + +mbedtls_mpi_core_mla #2380 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724935901ec025076b02c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724935901ec025076b02c":"0" + +mbedtls_mpi_core_mla #2381 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823935901ec025075b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823935901ec025075b12c":"0" + +mbedtls_mpi_core_mla #2382 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823945901ec025075b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823945901ec025075b12b":"0" + +mbedtls_mpi_core_mla #2383 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec015076b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec015076b12c":"0" + +mbedtls_mpi_core_mla #2384 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec015076b12b":"0" + +mbedtls_mpi_core_mla #2385 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69732a85d4e2dc6a312d9826c82d0f731ac":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69732a85d4e2dc6a312d9826c82d0f731ac":"0" + +mbedtls_mpi_core_mla #2386 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6973328ddceae472393d901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6973328ddceae472393d901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2387 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffff":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697b328ddceae4723915901ec025076b12d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697b328ddceae4723915901ec025076b12d":"0" + +mbedtls_mpi_core_mla #2388 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2389 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723975901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723975901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2390 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724925901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724925901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2391 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724935901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724935901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2392 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823935901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823935901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2393 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4823945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2394 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723935901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2395 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2396 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69732a85d4e2dc6a3135901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69732a85d4e2dc6a3135901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2397 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6973328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6973328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2398 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x10000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000000000000000":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697b328ddceae4723925901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697b328ddceae4723925901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2399 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2400 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472397c2d2229d70ad4dfb":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472397c2d2229d70ad4dfb":"0" + +mbedtls_mpi_core_mla #2401 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724b557dea5faf7dbe34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724b557dea5faf7dbe34b":"0" + +mbedtls_mpi_core_mla #2402 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724b67b240d840298c23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4724b67b240d840298c23b":"0" + +mbedtls_mpi_core_mla #2403 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4846d89d458f3624a9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4846d89d458f3624a9d23b":"0" + +mbedtls_mpi_core_mla #2404 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4846d9c08af6bf2f66b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4846d9c08af6bf2f66b12b":"0" + +mbedtls_mpi_core_mla #2405 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfd18c8b1c4079636945b9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfd18c8b1c4079636945b9d23b":"0" + +mbedtls_mpi_core_mla #2406 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfd18c8b1d63becaf25076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddcfd18c8b1d63becaf25076b12b":"0" + +mbedtls_mpi_core_mla #2407 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69744395caa8673020b4f78f4adffd25a3b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69744395caa8673020b4f78f4adffd25a3b":"0" + +mbedtls_mpi_core_mla #2408 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69744cb919333a5930c5901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c69744cb919333a5930c5901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2409 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef0":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697d66e4557b904028212771cf03afcf34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c697d66e4557b904028212771cf03afcf34b":"0" + +mbedtls_mpi_core_mla #2410 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2411 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c699b328ddceae47239455fee8ff4d73ae25":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c699b328ddceae47239455fee8ff4d73ae25":"0" + +mbedtls_mpi_core_mla #2412 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c794b328ddceae4723935a02ed035177b12f":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c794b328ddceae4723935a02ed035177b12f":"0" + +mbedtls_mpi_core_mla #2413 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c795b328ddceae4723935901ec025076b02d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c795b328ddceae4723935901ec025076b02d":"0" + +mbedtls_mpi_core_mla #2414 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c695b328ddceae4722935901ec025075b22d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c695b328ddceae4722935901ec025075b22d":"0" + +mbedtls_mpi_core_mla #2415 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c696b328ddceae4722935800eb014f74b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c696b328ddceae4722935800eb014f74b12b":"0" + +mbedtls_mpi_core_mla #2416 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c695b328ddcead4622935901ec015177b22d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c695b328ddcead4622935901ec015177b22d":"0" + +mbedtls_mpi_core_mla #2417 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c696b328ddcead4622935800eb005076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c696b328ddcead4622935800eb005076b12b":"0" + +mbedtls_mpi_core_mla #2418 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb1933df3d6e644615b2a8de4fafc92616de067005d379332d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb1933df3d6e644615b2a8de4fafc92616de067005d379332d":"0" + +mbedtls_mpi_core_mla #2419 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb19b45fbdeee4c696b2a85d4e2dc6a3135901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb19b45fbdeee4c696b2a85d4e2dc6a3135901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2420 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xfffffffffffffffffefefefefefefefe * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffffefefefefefefefe":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb99b45fbdeee4c694b227dccdad4622925b03ee045278b32f":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb99b45fbdeee4c694b227dccdad4622925b03ee045278b32f":"0" + +mbedtls_mpi_core_mla #2421 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2422 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c699b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c699b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2423 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c794b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c794b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2424 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c795b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c795b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2425 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c695b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c695b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2426 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee5c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2427 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c695b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c695b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2428 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbeeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2429 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb1933df3d6e644615b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb1933df3d6e644615b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2430 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb19b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb19b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2431 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x100000000000000000000000000000000 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000000000000000000000000000":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb99b45fbdeee4c694b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfb99b45fbdeee4c694b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2432 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2433 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6cd502c4780b1b0f097c2d2229d70ad4dfb":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c6cd502c4780b1b0f097c2d2229d70ad4dfb":"0" + +mbedtls_mpi_core_mla #2434 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4d8a6a0f47d59249a46b557dea5faf7dbe34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4d8a6a0f47d59249a46b557dea5faf7dbe34b":"0" + +mbedtls_mpi_core_mla #2435 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4d8b8d54af5e9d06835b67b240d840298c23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4d8b8d54af5e9d06835b67b240d840298c23b":"0" + +mbedtls_mpi_core_mla #2436 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeef6fadaf763110bf17a57d89d458f3624a9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeef6fadaf763110bf17a57d89d458f3624a9d23b":"0" + +mbedtls_mpi_core_mla #2437 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeef6faed2bb9899c9d4846d9c08af6bf2f66b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeef6faed2bb9899c9d4846d9c08af6bf2f66b12b":"0" + +mbedtls_mpi_core_mla #2438 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fd0233b3f152aa0543f25be9c1c4079636945b9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fd0233b3f152aa0543f25be9c1c4079636945b9d23b":"0" + +mbedtls_mpi_core_mla #2439 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fd0233b3f275ef6cccfd18c8b1d63becaf25076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fd0233b3f275ef6cccfd18c8b1d63becaf25076b12b":"0" + +mbedtls_mpi_core_mla #2440 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d03aabc4d7b71a2ae06aba9e7657c2d930b4f78f4adffd25a3b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d03aabc4d7b71a2ae06aba9e7657c2d930b4f78f4adffd25a3b":"0" + +mbedtls_mpi_core_mla #2441 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d03b3df9c0644cbbe1744cb919333a5930c5901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d03b3df9c0644cbbe1744cb919333a5930c5901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2442 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef0":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d0cce0ad84e9ab2b5736dc154366168248212771cf03afcf34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0d0cce0ad84e9ab2b5736dc154366168248212771cf03afcf34b":"0" + +mbedtls_mpi_core_mla #2443 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2444 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38f0f0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b128":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38f0f0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b128":"0" + +mbedtls_mpi_core_mla #2445 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb39ebf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b02d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb39ebf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b02d":"0" + +mbedtls_mpi_core_mla #2446 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb39ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b02c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb39ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b02c":"0" + +mbedtls_mpi_core_mla #2447 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fc38ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025075b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fc38ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025075b12c":"0" + +mbedtls_mpi_core_mla #2448 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fc38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025075b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fc38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025075b12b":"0" + +mbedtls_mpi_core_mla #2449 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f155fb38ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec015076b12c":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f155fb38ecf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec015076b12c":"0" + +mbedtls_mpi_core_mla #2450 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f155fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec015076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f155fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec015076b12b":"0" + +mbedtls_mpi_core_mla #2451 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987ae016696fd57ab86cf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472393d9826c82d0f731ac":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987ae016696fd57ab86cf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472393d9826c82d0f731ac":"0" + +mbedtls_mpi_core_mla #2452 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987ae096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472393d901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987ae096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae472393d901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2453 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987b6096e9f055fb38ebf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723935901ec025076b12d":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987b6096e9f055fb38ebf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723935901ec025076b12d":"0" + +mbedtls_mpi_core_mla #2454 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2455 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"3":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb6f8af42f3aa23417106469eafade258196cd502c4780b1b0f097c2d2229d70ad4dfb":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb6f8af42f3aa23417106469eafade258196cd502c4780b1b0f097c2d2229d70ad4dfb":"0" + +mbedtls_mpi_core_mla #2456 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0560d48dbbc6513151d6d2df9766e58655416f8a6a0f47d59249a46b557dea5faf7dbe34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0560d48dbbc6513151d6d2df9766e58655416f8a6a0f47d59249a46b557dea5faf7dbe34b":"0" + +mbedtls_mpi_core_mla #2457 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0560d5b1012dda3c0eb5c2f1cbbd5e17010f5e8b8d54af5e9d06835b67b240d840298c23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0560d5b1012dda3c0eb5c2f1cbbd5e17010f5e8b8d54af5e9d06835b67b240d840298c23b":"0" + +mbedtls_mpi_core_mla #2458 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0682f7d322af8c5e1fd7e513edd57939222180adaf763110bf17a57d89d458f3624a9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0682f7d322af8c5e1fd7e513edd57939222180adaf763110bf17a57d89d458f3624a9d23b":"0" + +mbedtls_mpi_core_mla #2459 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"10000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0682f8f668171568dcb6d526222bf1c9cdef6faed2bb9899c9d4846d9c08af6bf2f66b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f0682f8f668171568dcb6d526222bf1c9cdef6faed2bb9899c9d4846d9c08af6bf2f66b12b":"0" + +mbedtls_mpi_core_mla #2460 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"ffffffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096fc24ac73b765683bf91641c294e2112bc6c5665c4f152aa0543f25be9c1c4079636945b9d23b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096fc24ac73b765683bf91641c294e2112bc6c5665c4f152aa0543f25be9c1c4079636945b9d23b":"0" + +mbedtls_mpi_core_mla #2461 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"100000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096fc24ac73c999beb489c20fb1960556934fd0233b3f275ef6cccfd18c8b1d63becaf25076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096fc24ac73c999beb489c20fb1960556934fd0233b3f275ef6cccfd18c8b1d63becaf25076b12b":"0" + +mbedtls_mpi_core_mla #2462 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"7f7f7f7f7f7f7f7f":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aa18b6884a77313e2a8e671cf1f6cb0b983fa21c4f92acd4bbe06aba9e7657c2d930b4f78f4adffd25a3b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aa18b6884a77313e2a8e671cf1f6cb0b983fa21c4f92acd4bbe06aba9e7657c2d930b4f78f4adffd25a3b":"0" + +mbedtls_mpi_core_mla #2463 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"8000000000000000":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aa1948bd332463cf2b97f93794d2428b98503b3df9c0644cbbe1744cb919333a5930c5901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aa1948bd332463cf2b97f93794d2428b98503b3df9c0644cbbe1744cb919333a5930c5901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2464 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0 * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"1234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef0":"fffffffffffffffe":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aaaaeb70f7a9c23ea15a8893bf051eb4afac6433bc63920f4d5736dc154366168248212771cf03afcf34b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050aaaaeb70f7a9c23ea15a8893bf051eb4afac6433bc63920f4d5736dc154366168248212771cf03afcf34b":"0" + +mbedtls_mpi_core_mla #2465 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x0 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"0" + +mbedtls_mpi_core_mla #2466 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x3 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"3":"137dcb41ed2dc7236b2db3fea553e3620952d89dc264c22ebc00feadcc89fcd00a590ed6898fd9b834f0fe8a5fbdc5d57bf54ee3edb2e04b1aefdef3c5e4a62f6651f1322c50c905028b03d7eb5e5629a4142a61e9825ba7c157ece3b7c316227b292833ea66d17ef7bb931a5acca3773ab91c8e516407b00941dac4ac":"0":"137dcb41ed2dc7236b2db3fea553e3620952d89dc264c22ebc00feadcc89fcd00a590ed6898fd9b834f0fe8a5fbdc5d57bf54ee3edb2e04b1aefdef3c5e4a62f6651f1322c50c905028b03d7eb5e5629a4142a61e9825ba7c157ece3b7c316227b292833ea66d17ef7bb931a5acca3773ab91c8e516407b00941dac4ac":"0" + +mbedtls_mpi_core_mla #2467 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfe +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fe":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5":"0":"4da935daad0265711f0a192a9aba3dfa9d261714928975b23513f6bc7af5cb4ce93ad71ecc192779f2f0362f5578203e99e566542714b5ab3f53bc53487b0624dbae7d03e891e0eff621e3504dcbdf4de9c058de1e636530665a53db502d4c3162b7fc2ed9f1aab5e30f5e1d01c75b4f0df98dc70c4a8ea164e263a79d5":"0" + +mbedtls_mpi_core_mla #2468 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00":"0" + +mbedtls_mpi_core_mla #2469 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffff":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000":"0":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b0000":"0" + +mbedtls_mpi_core_mla #2470 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x10000 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"10000":"4df77afee1bed144c9447cb1654a22d7b2d387c26c0a124df8beeabb2cdf25681ca464be61998d203aa4cded7920964d072b2b64f25b37f7ecebe78e9361b05032055e10760bd5572e40198bbcd9061fe8f739d84f9114a873feb8ee929b3796452e8d744a6aef9724ea2b57b79bf90f78c15d1db7c9645043c7901a1b12b":"0":"4df77afee1bed144c9447cb1654a22d7b2d387c26c0a124df8beeabb2cdf25681ca464be61998d203aa4cded7920964d072b2b64f25b37f7ecebe78e9361b05032055e10760bd5572e40198bbcd9061fe8f739d84f9114a873feb8ee929b3796452e8d744a6aef9724ea2b57b79bf90f78c15d1db7c9645043c7901a1b12b":"0" + +mbedtls_mpi_core_mla #2471 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xffffffff +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"ffffffff":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000":"4":"df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b00000000":"4" + +mbedtls_mpi_core_mla #2472 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x100000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"100000000":"df72d0802ae4995616dec8842065d82ba9aefff2ede6b31f9970372222bedf75b8c2e9a4fa3a23afa03610a52bb117f6ecc52e5a6a0bcbc228afcfb8352148cb0da5d864a8ae8dcbb6f3373b7a568063dca022e365a1826ab69222de46c0c18cbb0f959963fe6cb888992654a20da4656170016307490f96a9789d2d5076b12b":"4":"df72d0802ae4995616dec8842065d82ba9aefff2ede6b31f9970372222bedf75b8c2e9a4fa3a23afa03610a52bb117f6ecc52e5a6a0bcbc228afcfb8352148cb0da5d864a8ae8dcbb6f3373b7a568063dca022e365a1826ab69222de46c0c18cbb0f959963fe6cb888992654a20da4656170016307490f96a9789d2d5076b12b":"4" + +mbedtls_mpi_core_mla #2473 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x7f7f7f7f7f7f7f7f +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"7f7f7f7f7f7f7f7f":"d441b45b55fa75882f0f673d4b07e54ad14cce5b56d17b41ac61c2672fdb481d3e14ef89656ad751e3a8286926f34d5e10b8c4c4dac487c142ba60247318a112ce681c68433f1f6c6773c40e795a16b8da90337633604dc903c134f3e53d967dc86bab7a18c1464858138971f1d987796b278a8704128634b6372d2e5691ea80":"26d473ca9":"d441b45b55fa75882f0f673d4b07e54ad14cce5b56d17b41ac61c2672fdb481d3e14ef89656ad751e3a8286926f34d5e10b8c4c4dac487c142ba60247318a112ce681c68433f1f6c6773c40e795a16b8da90337633604dc903c134f3e53d967dc86bab7a18c1464858138971f1d987796b278a8704128634b6372d2e5691ea80":"26d473ca9" + +mbedtls_mpi_core_mla #2474 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0x8000000000000000 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"8000000000000000":"a5b8e4724529504ff5ee351bf5c81361a1911e59d4d5fd2a2a7025b04b618644547a6b09346386ee5baf28bcbae97f15a5cd7ec25b4f9774294cd8b38635e3370342ac79e5dcc7887ffd06752546423807e0ff61300834f158f9ae3fbb203f6b3d9fb87dc1bc7045f348cea546085860dfa9d3cfd6827c29d901ec025076b12b":"26fb9683d":"a5b8e4724529504ff5ee351bf5c81361a1911e59d4d5fd2a2a7025b04b618644547a6b09346386ee5baf28bcbae97f15a5cd7ec25b4f9774294cd8b38635e3370342ac79e5dcc7887ffd06752546423807e0ff61300834f158f9ae3fbb203f6b3d9fb87dc1bc7045f348cea546085860dfa9d3cfd6827c29d901ec025076b12b":"26fb9683d" + +mbedtls_mpi_core_mla #2475 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b + 0x4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b * 0xfffffffffffffffe +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_mla:"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"4df72d07b4b71c8dacb6cffa954f8d88254b6277099308baf003fab73227f34029643b5a263f66e0d3c3fa297ef71755efd53b8fb6cb812c6bbf7bcf179298bd9947c4c8b14324140a2c0f5fad7958a69050a987a6096e9f055fb38edf0c5889eca4a0cfa99b45fbdeee4c696b328ddceae4723945901ec025076b12b":"fffffffffffffffe":"4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5":"4df72d07b":"4b71c8d5ebfa2f2e09870fa7894927c74437b32cab898402894ea85396040a2f41773a0aa5fbecf58b7b0751c11416637d469d67bea403f60c717912d8848f999b08b5670e44a96fc36349286249a27f89015f8750f0a073902e9eae744ed40ca8eed71f249ab99c19747e10bf625cfda5d90e33a22f8d96a6fe13fdaf894ed5":"4df72d07b" + +mbedtls_mpi_core_montmul #1 replay +mpi_core_montmul:2:1:1:1:"19":"1":"1D":"18":"18" + +mbedtls_mpi_core_montmul #2 replay +mpi_core_montmul:2:1:1:1:"7":"1":"9":"1":"1" + +mbedtls_mpi_core_montmul #3 replay +mpi_core_montmul:2:1:1:1:"4":"1":"9":"7":"7" + +mbedtls_mpi_core_montmul #4 replay +mpi_core_montmul:12:1:6:1:"3C246D0E059A93A266288A7718419EC741661B474C58C032C5EDAF92709402B07CC8C7CE0B781C641A1EA8DB2F4343":"1":"66A198186C18C10B2F5ED9B522752A9830B69916E535C8F047518A889A43A594B6BED27A168D31D4A52F88925AA8F5":"36e139aea55215609d2816998ed020bbbd96c37890f65171d948e9bc7cbaa4d9325d24d6a3c12710f10a09fa08ab87":"36e139aea55215609d2816998ed020bbbd96c37890f65171d948e9bc7cbaa4d9325d24d6a3c12710f10a09fa08ab87" + +mbedtls_mpi_core_montmul #5 replay +mpi_core_montmul:8:1:4:1:"1E442976B0E63D64FCCE74B999E470CA9888165CB75BFA1F340E918CE03C6211":"1":"B3A119602EE213CDE28581ECD892E0F592A338655DCE4CA88054B3D124D0E561":"38eb7749f4a5da80f23bc08fd0801c55b103b17a2eef84e60e65383b59f8ca5b":"38eb7749f4a5da80f23bc08fd0801c55b103b17a2eef84e60e65383b59f8ca5b" + +mbedtls_mpi_core_montmul #6 replay +mpi_core_montmul:22:1:11:1:"7CF5AC97304E0B63C65413F57249F59994B0FED1D2A8D3D83ED5FA38560FFB82392870D6D08F87D711917FD7537E13B7E125BE407E74157776839B0AC9DB23CBDFC696104353E4D2780B2B4968F8D8542306BCA7A2366E":"1":"284139EA19C139EBE09A8111926AAA39A2C2BE12ED487A809D3CB5BC55854725B4CDCB5734C58F90B2F60D99CC1950CDBC8D651793E93C9C6F0EAD752500A32C56C62082912B66132B2A6AA42ADA923E1AD22CEB7BA0123":"1e4426a3d6c425f0630b14113bead742c92b02886267ab41f70c4cb2426aee1faacec6982e0e5be964eca2527a031ed49c371db2a4fb16482f3590c866bf9f81c3d52c7cb9e0ba6ff843ed3b17c44d7f6b14471839d8d31":"1e4426a3d6c425f0630b14113bead742c92b02886267ab41f70c4cb2426aee1faacec6982e0e5be964eca2527a031ed49c371db2a4fb16482f3590c866bf9f81c3d52c7cb9e0ba6ff843ed3b17c44d7f6b14471839d8d31" + +mbedtls_mpi_core_montmul #7 (gen) +mpi_core_montmul:1:1:1:1:"2":"2":"3":"1":"1" + +mbedtls_mpi_core_montmul #8 (gen) +mpi_core_montmul:1:1:1:1:"1":"2":"3":"2":"2" + +mbedtls_mpi_core_montmul #9 (gen) +mpi_core_montmul:1:1:1:1:"2":"1":"3":"2":"2" + +mbedtls_mpi_core_montmul #10 (gen) +mpi_core_montmul:1:1:1:1:"6":"5":"7":"4":"1" + +mbedtls_mpi_core_montmul #11 (gen) +mpi_core_montmul:1:1:1:1:"3":"4":"7":"3":"6" + +mbedtls_mpi_core_montmul #12 (gen) +mpi_core_montmul:1:1:1:1:"1":"6":"7":"5":"3" + +mbedtls_mpi_core_montmul #13 (gen) +mpi_core_montmul:1:1:1:1:"5":"6":"7":"4":"1" + +mbedtls_mpi_core_montmul #14 (gen) +mpi_core_montmul:1:1:1:1:"3":"4":"B":"3":"9" + +mbedtls_mpi_core_montmul #15 (gen) +mpi_core_montmul:1:1:1:1:"7":"4":"B":"7":"a" + +mbedtls_mpi_core_montmul #16 (gen) +mpi_core_montmul:1:1:1:1:"9":"7":"B":"2":"6" + +mbedtls_mpi_core_montmul #17 (gen) +mpi_core_montmul:1:1:1:1:"2":"a":"B":"5":"4" + +mbedtls_mpi_core_montmul #18 (gen) (0x29 is prime) +mpi_core_montmul:1:1:1:1:"25":"16":"29":"16":"f" + +mbedtls_mpi_core_montmul #19 (gen) +mpi_core_montmul:1:1:1:1:"8":"28":"29":"2":"14" + +mbedtls_mpi_core_montmul #20 (gen) +mpi_core_montmul:1:1:1:1:"18":"21":"29":"7":"1d" + +mbedtls_mpi_core_montmul #21 (gen) +mpi_core_montmul:1:1:1:1:"15":"f":"29":"22":"c" + +mbedtls_mpi_core_montmul #22 (gen) +mpi_core_montmul:1:1:1:1:"e2":"ea":"FF":"63":"63" + +mbedtls_mpi_core_montmul #23 (gen) +mpi_core_montmul:1:1:1:1:"43":"72":"FF":"f3":"f3" + +mbedtls_mpi_core_montmul #24 (gen) +mpi_core_montmul:1:1:1:1:"d8":"70":"FF":"de":"de" + +mbedtls_mpi_core_montmul #25 (gen) +mpi_core_montmul:1:1:1:1:"3c":"7c":"FF":"2d":"2d" + +mbedtls_mpi_core_montmul #26 (gen) (0x101 is prime) +mpi_core_montmul:1:1:1:1:"99":"b9":"101":"23":"23" + +mbedtls_mpi_core_montmul #27 (gen) +mpi_core_montmul:1:1:1:1:"65":"b2":"101":"f5":"f5" + +mbedtls_mpi_core_montmul #28 (gen) +mpi_core_montmul:1:1:1:1:"81":"32":"101":"19":"19" + +mbedtls_mpi_core_montmul #29 (gen) +mpi_core_montmul:1:1:1:1:"51":"dd":"101":"a8":"a8" + +mbedtls_mpi_core_montmul #30 (gen) (0x38B is prime) +mpi_core_montmul:1:1:1:1:"d5":"143":"38B":"313":"14f" + +mbedtls_mpi_core_montmul #31 (gen) +mpi_core_montmul:1:1:1:1:"3d":"387":"38B":"212":"19a" + +mbedtls_mpi_core_montmul #32 (gen) +mpi_core_montmul:1:1:1:1:"160":"2e5":"38B":"a5":"14d" + +mbedtls_mpi_core_montmul #33 (gen) +mpi_core_montmul:1:1:1:1:"10f":"137":"38B":"10f":"19f" + +mbedtls_mpi_core_montmul #34 (gen) (0x8003 is prime) +mpi_core_montmul:1:1:1:1:"7dac":"25a":"8003":"5fff":"29c8" + +mbedtls_mpi_core_montmul #35 (gen) +mpi_core_montmul:1:1:1:1:"6f1c":"3286":"8003":"245e":"79e9" + +mbedtls_mpi_core_montmul #36 (gen) +mpi_core_montmul:1:1:1:1:"59ed":"2f3f":"8003":"7008":"5874" + +mbedtls_mpi_core_montmul #37 (gen) +mpi_core_montmul:1:1:1:1:"6893":"736d":"8003":"3178":"f99" + +mbedtls_mpi_core_montmul #38 (gen) (0x10001 is prime) +mpi_core_montmul:1:1:1:1:"d199":"2832":"10001":"b6fa":"b6fa" + +mbedtls_mpi_core_montmul #39 (gen) +mpi_core_montmul:1:1:1:1:"c3b2":"3e5b":"10001":"7c9c":"7c9c" + +mbedtls_mpi_core_montmul #40 (gen) +mpi_core_montmul:1:1:1:1:"abe4":"214e":"10001":"ad1c":"ad1c" + +mbedtls_mpi_core_montmul #41 (gen) +mpi_core_montmul:1:1:1:1:"4360":"a05d":"10001":"4fac":"4fac" + +mbedtls_mpi_core_montmul #42 (gen) +mpi_core_montmul:1:1:1:1:"3f5a1":"165b2":"7F7F7":"63052":"71254" + +mbedtls_mpi_core_montmul #43 (gen) +mpi_core_montmul:1:1:1:1:"3bd29":"37863":"7F7F7":"34ff8":"40755" + +mbedtls_mpi_core_montmul #44 (gen) +mpi_core_montmul:1:1:1:1:"60c47":"64819":"7F7F7":"34967":"3a83e" + +mbedtls_mpi_core_montmul #45 (gen) +mpi_core_montmul:1:1:1:1:"16584":"12c49":"7F7F7":"283b9":"14991" + +mbedtls_mpi_core_montmul #46 (gen) (0x800009 is prime) +mpi_core_montmul:1:1:1:1:"1ff03f":"610347":"800009":"1cef09":"4e3e6a" + +mbedtls_mpi_core_montmul #47 (gen) +mpi_core_montmul:1:1:1:1:"340fd5":"19812e":"800009":"5c1fc2":"64ecb0" + +mbedtls_mpi_core_montmul #48 (gen) +mpi_core_montmul:1:1:1:1:"3fe2e8":"4d0dc7":"800009":"2c4c9f":"5112e5" + +mbedtls_mpi_core_montmul #49 (gen) +mpi_core_montmul:1:1:1:1:"40356":"e6392":"800009":"1dc356":"5661ed" + +mbedtls_mpi_core_montmul #50 (gen) (0x100002B is prime) +mpi_core_montmul:1:1:1:1:"dd8a1d":"266c0e":"100002B":"e6cfeb":"66b342" + +mbedtls_mpi_core_montmul #51 (gen) +mpi_core_montmul:1:1:1:1:"3fa1cb":"847fd6":"100002B":"5679d":"ea359c" + +mbedtls_mpi_core_montmul #52 (gen) +mpi_core_montmul:1:1:1:1:"5f439d":"5c3196":"100002B":"72985e":"89865b" + +mbedtls_mpi_core_montmul #53 (gen) +mpi_core_montmul:1:1:1:1:"18d645":"f72dc6":"100002B":"11807c":"442f44" + +mbedtls_mpi_core_montmul #54 (gen) (0x37EEE9D is prime) +mpi_core_montmul:1:1:1:1:"20051ad":"37def6e":"37EEE9D":"126b1f8":"639bef" + +mbedtls_mpi_core_montmul #55 (gen) +mpi_core_montmul:1:1:1:1:"2ec140b":"3580dbf":"37EEE9D":"182364a":"265b419" + +mbedtls_mpi_core_montmul #56 (gen) +mpi_core_montmul:1:1:1:1:"1d91b46":"190d4fc":"37EEE9D":"f501a4":"2c06311" + +mbedtls_mpi_core_montmul #57 (gen) +mpi_core_montmul:1:1:1:1:"34e488d":"1224d24":"37EEE9D":"3097def":"1c134c4" + +mbedtls_mpi_core_montmul #58 (gen) (0x8000000B is prime) +mpi_core_montmul:1:1:1:1:"2a4fe2cb":"263466a9":"8000000B":"2f7b2c6b":"551d4f77" + +mbedtls_mpi_core_montmul #59 (gen) +mpi_core_montmul:1:1:1:1:"5643fe94":"29a1aefa":"8000000B":"7f473a3d":"86615" + +mbedtls_mpi_core_montmul #60 (gen) +mpi_core_montmul:1:1:1:1:"29633513":"7b007ac4":"8000000B":"589a07cd":"d6d5cbe" + +mbedtls_mpi_core_montmul #61 (gen) +mpi_core_montmul:1:1:1:1:"2439cef5":"5c9d5a47":"8000000B":"77b1ca47":"691ad3ef" + +mbedtls_mpi_core_montmul #62 (gen) (0x8CD626B9 is prime) +mpi_core_montmul:1:1:1:1:"4de3cfaa":"50dea178":"8CD626B9":"5d6c70fe":"1017c1af" + +mbedtls_mpi_core_montmul #63 (gen) +mpi_core_montmul:1:1:1:1:"b8b8563":"10dbbbac":"8CD626B9":"1ebb1ae4":"3abf8696" + +mbedtls_mpi_core_montmul #64 (gen) +mpi_core_montmul:1:1:1:1:"4e8a6151":"5574ec19":"8CD626B9":"88c056da":"5ff76076" + +mbedtls_mpi_core_montmul #65 (gen) +mpi_core_montmul:1:1:1:1:"69224878":"309cfc23":"8CD626B9":"14f5037d":"2ab92db7" + +mbedtls_mpi_core_montmul #66 (start of 2-MPI 4-byte bignums) (0x10000000F is prime) +mpi_core_montmul:2:1:1:1:"fb6f7fb6":"afb05423":"10000000F":"1b61c4f8":"1b61c4f8" + +mbedtls_mpi_core_montmul #67 (gen) +mpi_core_montmul:2:1:1:1:"8391a243":"26034dcd":"10000000F":"c5d18a1f":"c5d18a1f" + +mbedtls_mpi_core_montmul #68 (gen) +mpi_core_montmul:2:1:1:1:"d26b98c":"14b2d6aa":"10000000F":"4e7fad06":"4e7fad06" + +mbedtls_mpi_core_montmul #69 (gen) +mpi_core_montmul:2:1:1:1:"6b9f1371":"a21daf1d":"10000000F":"c6b6f98b":"c6b6f98b" + +mbedtls_mpi_core_montmul #70 (gen) 0x174876E7E9 is prime (dec) 99999999977 +mpi_core_montmul:2:2:1:1:"9f49435ad":"c8264ade8":"174876E7E9":"6f386b4ce":"6f386b4ce" + +mbedtls_mpi_core_montmul #71 (gen) +mpi_core_montmul:2:2:1:1:"c402da434":"1fb427acf":"174876E7E9":"271c9b457":"271c9b457" + +mbedtls_mpi_core_montmul #72 (gen) +mpi_core_montmul:2:2:1:1:"f6ebc2bb1":"1096d39f2a":"174876E7E9":"78a3ebdad":"78a3ebdad" + +mbedtls_mpi_core_montmul #73 (gen) +mpi_core_montmul:2:2:1:1:"153b7f7b6b":"878fda8ff":"174876E7E9":"81843925c":"81843925c" + +mbedtls_mpi_core_montmul #74 (gen) (0x8000000017 is prime) +mpi_core_montmul:2:2:1:1:"2c1adbb8d6":"4384d2d3c6":"8000000017":"7ee47165db":"7ee47165db" + +mbedtls_mpi_core_montmul #75 (gen) +mpi_core_montmul:2:2:1:1:"2e4f9cf5fb":"794f3443d9":"8000000017":"79446995ec":"79446995ec" + +mbedtls_mpi_core_montmul #76 (gen) +mpi_core_montmul:2:2:1:1:"149e495582":"3802b8f7b7":"8000000017":"1e4ef00e22":"1e4ef00e22" + +mbedtls_mpi_core_montmul #77 (gen) +mpi_core_montmul:2:2:1:1:"7b9d49df82":"69c68a442a":"8000000017":"74dee0f58a":"74dee0f58a" + +mbedtls_mpi_core_montmul #78 (gen) (0x864CB9076D is prime) +mpi_core_montmul:2:2:1:1:"683a134600":"6dd80ea9f6":"864CB9076D":"5c3f421e55":"5c3f421e55" + +mbedtls_mpi_core_montmul #79 (gen) +mpi_core_montmul:2:2:1:1:"13a870ff0d":"59b099694a":"864CB9076D":"615b45edcf":"615b45edcf" + +mbedtls_mpi_core_montmul #80 (gen) +mpi_core_montmul:2:2:1:1:"37d06b0e63":"4d2147e46f":"864CB9076D":"6e47e78c45":"6e47e78c45" + +mbedtls_mpi_core_montmul #81 (gen) +mpi_core_montmul:2:2:1:1:"661714f8f4":"22e55df507":"864CB9076D":"63f7b7766d":"63f7b7766d" + +mbedtls_mpi_core_montmul #82 (gen) +mpi_core_montmul:2:2:1:1:"2f0a96363":"52693307b4":"F7F7F7F7F7":"99e7b7a2f6":"99e7b7a2f6" + +mbedtls_mpi_core_montmul #83 (gen) +mpi_core_montmul:2:2:1:1:"3c85078e64":"f2275ecb6d":"F7F7F7F7F7":"5b30b7ecd8":"5b30b7ecd8" + +mbedtls_mpi_core_montmul #84 (gen) +mpi_core_montmul:2:2:1:1:"352dae68d1":"707775b4c6":"F7F7F7F7F7":"922215581":"922215581" + +mbedtls_mpi_core_montmul #85 (gen) +mpi_core_montmul:2:2:1:1:"37ae0f3e0b":"912113040f":"F7F7F7F7F7":"9724ae9827":"9724ae9827" + +mbedtls_mpi_core_montmul #86 (gen) (0x1000000000F is prime) +mpi_core_montmul:2:2:1:1:"6dada15e31":"f58ed9eff7":"1000000000F":"a11a0b6bd4":"a11a0b6bd4" + +mbedtls_mpi_core_montmul #87 (gen) +mpi_core_montmul:2:2:1:1:"69627a7c89":"cfb5ebd13d":"1000000000F":"bdd403e1e8":"bdd403e1e8" + +mbedtls_mpi_core_montmul #88 (gen) +mpi_core_montmul:2:2:1:1:"a5e1ad239b":"afc030c731":"1000000000F":"d9159b287c":"d9159b287c" + +mbedtls_mpi_core_montmul #89 (gen) +mpi_core_montmul:2:2:1:1:"f1cc45f4c5":"c64ad607c8":"1000000000F":"fdaa868e":"fdaa868e" + +mbedtls_mpi_core_montmul #90 (gen) (0x800000000005 is prime) +mpi_core_montmul:2:2:1:1:"2ebad87d2e31":"4c72d90bca78":"800000000005":"102277c75b46":"102277c75b46" + +mbedtls_mpi_core_montmul #91 (gen) +mpi_core_montmul:2:2:1:1:"a30b3cc50d":"29ac4fe59490":"800000000005":"7a0bb5e477ca":"7a0bb5e477ca" + +mbedtls_mpi_core_montmul #92 (gen) +mpi_core_montmul:2:2:1:1:"33674e9647b4":"5ec7ee7e72d3":"800000000005":"431f6a298b9f":"431f6a298b9f" + +mbedtls_mpi_core_montmul #93 (gen) +mpi_core_montmul:2:2:1:1:"3d956f474f61":"74070040257d":"800000000005":"1bf1cc423f85":"1bf1cc423f85" + +mbedtls_mpi_core_montmul #94 (gen) (0x800795D9BA47 is prime) +mpi_core_montmul:2:2:1:1:"48348e3717d6":"43fcb4399571":"800795D9BA47":"be7aa205fdd":"be7aa205fdd" + +mbedtls_mpi_core_montmul #95 (gen) +mpi_core_montmul:2:2:1:1:"5234c03cc99b":"2f3cccb87803":"800795D9BA47":"38c915c43e15":"38c915c43e15" + +mbedtls_mpi_core_montmul #96 (gen) +mpi_core_montmul:2:2:1:1:"3ed13db194ab":"44b8f4ba7030":"800795D9BA47":"37052e8c2720":"37052e8c2720" + +mbedtls_mpi_core_montmul #97 (gen) +mpi_core_montmul:2:2:1:1:"1c11e843bfdb":"95bd1b47b08":"800795D9BA47":"57783cead5bc":"57783cead5bc" + +mbedtls_mpi_core_montmul #98 (gen) (0x1000000000015 is prime) +mpi_core_montmul:2:2:1:1:"a81d11cb81fd":"1e5753a3f33d":"1000000000015":"1524843bbe60":"1524843bbe60" + +mbedtls_mpi_core_montmul #99 (gen) +mpi_core_montmul:2:2:1:1:"688c4db99232":"36fc0cf7ed":"1000000000015":"d987f015f9c8":"d987f015f9c8" + +mbedtls_mpi_core_montmul #100 (gen) +mpi_core_montmul:2:2:1:1:"f0720cc07e07":"fc76140ed903":"1000000000015":"c0a15846d9ab":"c0a15846d9ab" + +mbedtls_mpi_core_montmul #101 (gen) +mpi_core_montmul:2:2:1:1:"2ec61f8d17d1":"d270c85e36d2":"1000000000015":"b25b655a6234":"b25b655a6234" + +mbedtls_mpi_core_montmul #102 (gen) (0x100000000000051 is prime) +mpi_core_montmul:2:2:1:1:"6a24cd3ab63820":"ed4aad55e5e348":"100000000000051":"f4fb80f56821d9":"f4fb80f56821d9" + +mbedtls_mpi_core_montmul #103 (gen) +mpi_core_montmul:2:2:1:1:"e680c160d3b248":"31e0d8840ed510":"100000000000051":"aa5e1c3bb30ab8":"aa5e1c3bb30ab8" + +mbedtls_mpi_core_montmul #104 (gen) +mpi_core_montmul:2:2:1:1:"a80637e9aebc38":"bb81decc4e1738":"100000000000051":"14a17c662fb3fd":"14a17c662fb3fd" + +mbedtls_mpi_core_montmul #105 (gen) +mpi_core_montmul:2:2:1:1:"9afa5a59e9d630":"be9e65a6d42938":"100000000000051":"1fa880b76c7bbf":"1fa880b76c7bbf" + +mbedtls_mpi_core_montmul #106 (gen) +mpi_core_montmul:2:2:1:1:"ab5e104eeb71c000":"2cffbd639e9fea00":"ABCDEF0123456789":"a7bd05d2ad72bbac":"a7bd05d2ad72bbac" + +mbedtls_mpi_core_montmul #107 (gen) +mpi_core_montmul:2:2:1:1:"197b867547f68a00":"44b796cf94654800":"ABCDEF0123456789":"94683e1ac1068cfc":"94683e1ac1068cfc" + +mbedtls_mpi_core_montmul #108 (gen) +mpi_core_montmul:2:2:1:1:"329f9483a04f2c00":"9892f76961d0f000":"ABCDEF0123456789":"12ca7ba6189f5080":"12ca7ba6189f5080" + +mbedtls_mpi_core_montmul #109 (gen) +mpi_core_montmul:2:2:1:1:"4a2e12dfb4545000":"1aa3e89a69794500":"ABCDEF0123456789":"591fced0c97f7916":"591fced0c97f7916" + +mbedtls_mpi_core_montmul #110 (start of 2-MPI 8-byte bignums) 0x25A55A46E5DA99C71C7 is the 3rd repunit prime(dec) 11111111111111111111111 +mpi_core_montmul:3:3:2:2:"8b9acdf013d140f000":"12e4ceaefabdf2b2f00":"25A55A46E5DA99C71C7":"145e13d825f558e1528":"5965c1bea1c065c1f9" + +mbedtls_mpi_core_montmul #111 (gen) +mpi_core_montmul:3:3:2:2:"1b8d960ea277e3f5500":"14418aa980e37dd000":"25A55A46E5DA99C71C7":"3296eca7d29742119d":"e62a0288b09791369c" + +mbedtls_mpi_core_montmul #112 (gen) +mpi_core_montmul:3:3:2:2:"7314524977e8075980":"8172fa45618ccd0d80":"25A55A46E5DA99C71C7":"16ce65e208c75d6959b":"20f256de8b8761f07a1" + +mbedtls_mpi_core_montmul #113 (gen) +mpi_core_montmul:3:3:2:2:"ca14f031769be63580":"147a2f3cf2964ca9400":"25A55A46E5DA99C71C7":"1b33a89ac4a750a245d":"209a484f1216347030" + +mbedtls_mpi_core_montmul #114 (gen) 0x314DC643FB763F2B8C0E2DE00879 is (dec)99999999977^3 +mpi_core_montmul:4:4:2:2:"18532ba119d5cd0cf39735c0000":"25f9838e31634844924733000000":"314DC643FB763F2B8C0E2DE00879":"e7b248b17e952a3b5bf96467c9e":"e7b248b17e952a3b5bf96467c9e" + +mbedtls_mpi_core_montmul #115 (gen) +mpi_core_montmul:4:4:2:2:"a56e2d2517519e3970e70c40000":"ec27428d4bb380458588fa80000":"314DC643FB763F2B8C0E2DE00879":"26c158897a56747970ce53723ab0":"26c158897a56747970ce53723ab0" + +mbedtls_mpi_core_montmul #116 (gen) +mpi_core_montmul:4:4:2:2:"1cb5e8257710e8653fff33a00000":"15fdd42fe440fd3a1d121380000":"314DC643FB763F2B8C0E2DE00879":"2bbf68c08200acd799df33fb6cf3":"2bbf68c08200acd799df33fb6cf3" + +mbedtls_mpi_core_montmul #117 (gen) +mpi_core_montmul:4:4:2:2:"e50d07a65fc6f93e538ce040000":"1f4b059ca609f3ce597f61240000":"314DC643FB763F2B8C0E2DE00879":"27ce5f2c1819fe02f4335558de21":"27ce5f2c1819fe02f4335558de21" + +mbedtls_mpi_core_montmul #118 (gen) 0x47BF19662275FA2F6845C74942ED1D852E521 is (dec) 99999999977^4 +mpi_core_montmul:5:5:3:3:"1ea3ade786a095d978d387f30df9f20000000":"127c448575f04af5a367a7be06c7da0000000":"47BF19662275FA2F6845C74942ED1D852E521":"42c40f627a678ddf5ba6f27baedae85022b83":"24ee52f9383c9213f6641ca1a1293f6c90c28" + +mbedtls_mpi_core_montmul #119 (gen) +mpi_core_montmul:5:5:3:3:"16e15b0ca82764e72e38357b1f10a20000000":"43e2355d8514bbe22b0838fdc3983a0000000":"47BF19662275FA2F6845C74942ED1D852E521":"2cfd2125bb4d48f9d38a1d1dc9e546463eb62":"c96be8fa4c2a1981847403e0c45da464ea83" + +mbedtls_mpi_core_montmul #120 (gen) +mpi_core_montmul:5:5:3:3:"be39332529d93f25c3d116c004c620000000":"5cccec42370a0a2c89c6772da801a0000000":"47BF19662275FA2F6845C74942ED1D852E521":"29081a3513837bdb55dfdab9de4d31dfe4bc4":"1b543f0226cdc674fc60c0822d275954530cf" + +mbedtls_mpi_core_montmul #121 (gen) +mpi_core_montmul:5:5:3:3:"ecaa468d90de0eeda474d39b3e1fc0000000":"1e714554018de6dc0fe576bfd3b5660000000":"47BF19662275FA2F6845C74942ED1D852E521":"18eb78f9fe89aaf4f32968af4d64627be81fe":"439b0325171f87ba20ddf220d61bc0f1e5865" + +mbedtls_mpi_core_montmul #122 (gen) 0x97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931 is (dec) 99999999977^6 +mpi_core_montmul:7:7:4:4:"32298816711c5dce46f9ba06e775c4bedfc770e6700000000000000":"8ee751fd5fb24f0b4a653cb3a0c8b7d9e724574d168000000000000":"97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931":"d20edd4f6c266489796ac74b96dde9bdffcb5131de686f9cac736c":"496a11382c5396c40b8e146b31fd98b8bc53648f93d04ff21b31725" + +mbedtls_mpi_core_montmul #123 (gen) +mpi_core_montmul:7:7:4:4:"29213b9df3cfd15f4b428645b67b677c29d1378d810000000000000":"6cbb732c65e10a28872394dfdd1936d5171c3c3aac0000000000000":"97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931":"29b3e797ff5104e01323f855aaccdbe9740facd77c04abda1c52bd5":"602b40d7c1feff4cfa2d4061046e4178c38e51172a5ca4326ebbb80" + +mbedtls_mpi_core_montmul #124 (gen) +mpi_core_montmul:7:7:4:4:"6f18db06ad4abc52c0c50643dd13098abccd4a232f0000000000000":"7e6bf41f2a86098ad51f98dfc10490ba3e8081bc830000000000000":"97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931":"74c0a781f976ae0781fa4c408f3aca6290ed7c926ea4972d8cbd00e":"1134ccaea14ab4de865b0abce56638d4ca1e948d963389003cdcf5a" + +mbedtls_mpi_core_montmul #125 (gen) +mpi_core_montmul:7:7:4:4:"62d3286cd706ad9d73caff63f1722775d7e8c731208000000000000":"530f7ba02ae2b04c2fe3e3d27ec095925631a6c2528000000000000":"97EDD86E4B5C4592C6D32064AC55C888A7245F07CA3CC455E07C931":"40e7f208928702cdfd45a1e085668af52f634d7ca0db34dfb161fc5":"8510d78927c62b26f1965ce5f2d6b5978566b608bfdd02dfb450d43" + +mbedtls_mpi_core_montmul #126 (gen) 0xDD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499 is (dec) 99999999977^7 +mpi_core_montmul:8:8:4:4:"a6c6503e3c031fdbf6009a89ed60582b7233c5a85de28b16000000000000000":"75c8ed18270b583f16d442a467d32bf95c5e491e9b8523798000000000000000":"DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499":"73cdf58f541b4a4b200d163b82d60488207147401ce5e9e87e4c8743734fc115":"73cdf58f541b4a4b200d163b82d60488207147401ce5e9e87e4c8743734fc115" + +mbedtls_mpi_core_montmul #127 (gen) +mpi_core_montmul:8:8:4:4:"bf84d1f85cf6b51e04d2c8f4ffd03532d852053cf99b387d4000000000000000":"397ba5a743c349f4f28bc583ecd5f06e0a25f9c6d98f09134000000000000000":"DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499":"7aee85838cad05594c16c0f8dc37dcedbfc5cabd535243d1f6e9a72597421b16":"7aee85838cad05594c16c0f8dc37dcedbfc5cabd535243d1f6e9a72597421b16" + +mbedtls_mpi_core_montmul #128 (gen) +mpi_core_montmul:8:8:4:4:"6db11c3a4152ed1a2aa6fa34b0903ec82ea1b88908dcb482000000000000000":"ac8ac576a74ad6ca48f201bf89f77350ce86e821358d85920000000000000000":"DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499":"543bb63086c17abcfb027fac0e173b0661225ce534fc035f4c571168704f3562":"543bb63086c17abcfb027fac0e173b0661225ce534fc035f4c571168704f3562" + +mbedtls_mpi_core_montmul #129 (gen) +mpi_core_montmul:8:8:4:4:"3001d96d7fe8b733f33687646fc3017e3ac417eb32e0ec708000000000000000":"925ddbdac4174e8321a48a32f79640e8cf7ec6f46ea235a80000000000000000":"DD15FE80B731872AC104DB37832F7E75A244AA2631BC87885B861E8F20375499":"9af46358ac6898dd3a4668f58748be748a93c45dae8309756a85c25f3370ea1e":"9af46358ac6898dd3a4668f58748be748a93c45dae8309756a85c25f3370ea1e" + +mbedtls_mpi_core_montmul #130 (gen) 0x141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41 is 99999999977^8 +mpi_core_montmul:10:10:5:5:"1029048755f2e60dd98c8de6d9989226b6bb4f0db8e46bd1939de560000000000000000000":"51bb7270b2e25cec0301a03e8275213bb6c2f6e6ec93d4d46d36ca0000000000000000000":"141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41":"bc135600e66e2f35482f257a39153e5a2313bb34fdf678a7768ef68baf4eb4af7950db678":"bc135600e66e2f35482f257a39153e5a2313bb34fdf678a7768ef68baf4eb4af7950db678" + +mbedtls_mpi_core_montmul #131 (gen) +mpi_core_montmul:10:10:5:5:"1c5337ff982b3ad6611257dbff5bbd7a9920ba2d4f5838a0cc681ce000000000000000000":"520c5d049ca4702031ba728591b665c4d4ccd3b2b86864d4c160fd2000000000000000000":"141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41":"a4041530bd752163a32ad6e21605d43621783491c739cc5b8426ed5c013c8f1874f4c33cf":"a4041530bd752163a32ad6e21605d43621783491c739cc5b8426ed5c013c8f1874f4c33cf" + +mbedtls_mpi_core_montmul #132 (gen) +mpi_core_montmul:10:9:5:5:"57074dfa00e42f6555bae624b7f0209f218adf57f73ed34ab0ff90c000000000000000000":"41eb14b6c07bfd3d1fe4f4a610c17cc44fcfcda695db040e011065000000000000000000":"141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41":"50035f4ad135181424da54e119e7b6c2d8563e4237d5c636457489fdcad2c98974f4d6986":"50035f4ad135181424da54e119e7b6c2d8563e4237d5c636457489fdcad2c98974f4d6986" + +mbedtls_mpi_core_montmul #133 (gen) +mpi_core_montmul:10:10:5:5:"d8ed7feed2fe855e6997ad6397f776158573d425031bf085a615784000000000000000000":"6f121dcd18c578ab5e229881006007bb6d319b179f11015fe958b9c000000000000000000":"141B8EBD9009F84C241879A1F680FACCED355DA36C498F73E96E880CF78EA5F96146380E41":"ec6c4ef84cdba8b8fb0e23834f954b74f695da3a7036afd2b8bda4cf1969a22a2703f4810":"ec6c4ef84cdba8b8fb0e23834f954b74f695da3a7036afd2b8bda4cf1969a22a2703f4810" + +mbedtls_mpi_core_montmul #134 (gen) 0x2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC902713E40F51E3B3C214EDFABC451 is (dec) 99999999977^10 +mpi_core_montmul:12:12:6:6:"2a462b156180ea5fe550d3758c764e06fae54e626b5f503265a09df76edbdfbfa1e6000000000000000000000000":"1136f41d1879fd4fb9e49e0943a46b6704d77c068ee237c3121f9071cfd3e6a00315800000000000000000000000":"2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC902713E40F51E3B3C214EDFABC451":"204e2ee5416bf5cdc9d983d92ec60d5df79e331272efa041f3cdb2a172361806ba048bd578108d717dd29c38dc1e":"204e2ee5416bf5cdc9d983d92ec60d5df79e331272efa041f3cdb2a172361806ba048bd578108d717dd29c38dc1e" + +mbedtls_mpi_core_montmul #135 (gen) +mpi_core_montmul:12:12:6:6:"c1ac3800dfb3c6954dea391d206200cf3c47f795bf4a5603b4cb88ae7e574de4740800000000000000000000000":"c0d16eda0549ede42fa0deb4635f7b7ce061fadea02ee4d85cba4c4f7096034193c800000000000000000000000":"2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC902713E40F51E3B3C214EDFABC451":"e61059c9d6aff1b0c8d1fae7c880b9491a7e8e7715283f9d27b17423c282ada6016362d610f7a2509c859b4e2c3":"e61059c9d6aff1b0c8d1fae7c880b9491a7e8e7715283f9d27b17423c282ada6016362d610f7a2509c859b4e2c3" + +mbedtls_mpi_core_montmul #136 (gen) +mpi_core_montmul:12:12:6:6:"19e45bb7633094d272588ad2e43bcb3ee341991c6731b6fa9d47c4018d7ce7bba5ee800000000000000000000000":"1e4f83166ae59f6b9cc8fd3e7677ed8bfc01bb99c98bd3eb084246b64c1e18c3365b800000000000000000000000":"2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC902713E40F51E3B3C214EDFABC451":"14dfcf79e82a33b504f887088c66d85abb43e4eb93ae643e6413a655c48fa6643fc9032c5e7dbfbb6291d707abc8":"14dfcf79e82a33b504f887088c66d85abb43e4eb93ae643e6413a655c48fa6643fc9032c5e7dbfbb6291d707abc8" + +mbedtls_mpi_core_montmul #137 (gen) +mpi_core_montmul:12:12:6:6:"1aa93395fad5f9b7f20b8f9028a054c0bb7c11bb8520e6a95e5a34f06cb70bcdd01a800000000000000000000000":"54b45afa5d4310192f8d224634242dd7dcfb342318df3d9bd37b4c614788ba13b8b000000000000000000000000":"2A94608DE88B6D5E9F8920F5ABB06B24CC35AE1FBACC87D075C621C3E2833EC902713E40F51E3B3C214EDFABC451":"1c56a73d8698564b51a42613a20c07f7fda723cbada776bebdb075b349a19b588345e9930dcf12178400d7fb32e6":"1c56a73d8698564b51a42613a20c07f7fda723cbada776bebdb075b349a19b588345e9930dcf12178400d7fb32e6" + +mbedtls_mpi_core_montmul #138 (gen) 0x8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11DABD6E6144BEF37C6800000000000000000000000000000000051 is prime, (dec) 10^143 + 3^4 +mpi_core_montmul:15:15:8:8:"544f2628a28cfb5ce0a1b7180ee66b49716f1d9476c466c57f0c4b2308991784306d48f78686115ee19e25400000000000000000000000000000000":"677eb31ef8d66c120fa872a60cd47f6e10cbfdf94f90501bd7883cba03d185be0a0148d1625745e9c4c827300000000000000000000000000000000":"8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11DABD6E6144BEF37C6800000000000000000000000000000000051":"1c17879ba8ffaf6e01f145b954e6f2d1da9b5e91b0cd41324228e0da4e2d8c8b7de9be8533452f0420d1c21e2b91ce6a47be8a154b70ab8e3afa0e2":"45d5439e49004056f25a7af76fa1fa0b2f41c6ac4da7d960f3c8619eabafe0f9637e4d0551442a732d4bc3832e01c21e2b91ce6a47be8a154b70ae4" + +mbedtls_mpi_core_montmul #139 (gen) +mpi_core_montmul:15:15:8:8:"76bb3470985174915e9993522aec989666908f9e8cf5cb9f037bf4aee33d8865cb6464174795d07e30015b80000000000000000000000000000000":"6aaaf60d5784dcef612d133613b179a317532ecca0eed40b8ad0c01e6d4a6d8c79a52af190abd51739009a900000000000000000000000000000000":"8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11DABD6E6144BEF37C6800000000000000000000000000000000051":"10676de6ef5976bb3d0e91e01ad3de619c1c4d60644c38d061da315f0d11f81a961a8fe63625bb4ccd9f963765a89f46e88c73fc02d8f16af74bef5":"2f7c4c22707c864397f9905b3f7f6a558cd793e56bda9a594600a895b62581d391c9f98b91e9ef02b94c9befa097963765a89f46e88c73fc02d8f34" + +mbedtls_mpi_core_montmul #140 (gen) +mpi_core_montmul:15:15:8:8:"6cfdd6e60912e441d2d1fc88f421b533f0103a5322ccd3f4db84861643ad63fd63d1d8cfbc1d498162786ba00000000000000000000000000000000":"1177246ec5e93814816465e7f8f248b350d954439d35b2b5d75d917218e7fd5fb4c2f6d0667f9467fdcf33400000000000000000000000000000000":"8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11DABD6E6144BEF37C6800000000000000000000000000000000051":"485cca6586b0540eceb3ef8644bd400f3c32a9e38dfe4f4513945895808d648cfa45a3a2e9691b6111ddef29103fa8981dd8a3bbc52c9b768034ac5":"43603ad0efccbc0db5981c2cc75573d32dc0c0d94a8a2f6a67bb003e769f421626e68bdf1ff7d809a8b9ebddc055ef29103fa8981dd8a3bbc52c9e1" + +mbedtls_mpi_core_montmul #141 (gen) +mpi_core_montmul:15:15:8:8:"7a09a0b0f8bbf8057116fb0277a9bdf3a91b5eaa8830d448081510d8973888be5a9f0ad04facb69aa3715f00000000000000000000000000000000":"764dec6c05a1c0d87b649efa5fd94c91ea28bffb4725d4ab4b33f1a3e8e3b314d799020e244a835a145ec9800000000000000000000000000000000":"8335616AED761F1F7F44E6BD49E807B82E3BF2BF11BFA6AF813C808DBF33DBFA11DABD6E6144BEF37C6800000000000000000000000000000000051":"36a534b574adac80dfea3dabdf0a8c95f47511ff202eab325e5a6edfb7e3ab28ddc15b2f6023240939ba5b7339f7ada7225376a817263464cfba89d":"7a9f42a7ed20ab041b748b5594d63e5aa5c890cd88826a4120bec4c43a90bfb8c7f78ad9cd91756a5f0f5a9154725b7339f7ada7225376a81726392" + +Core shift 0 >> 0 +mpi_core_shift_r:"00":0:"00" + +Core shift 0 >> 1 +mpi_core_shift_r:"00":1:"00" + +Core shift 0 >> 8 +mpi_core_shift_r:"00":8:"00" + +Core shift 1 >> 0 +mpi_core_shift_r:"01":0:"01" + +Core shift 1 >> 1 +mpi_core_shift_r:"01":1:"00" + +Core shift 1 >> 2 +mpi_core_shift_r:"01":2:"00" + +Core shift 1 >> 8 +mpi_core_shift_r:"01":8:"00" + +Core shift 1 >> 64 +mpi_core_shift_r:"01":64:"00" + +Core shift 64-bit >> 0 +mpi_core_shift_r:"dee5ca1a7ef10a75":0:"dee5ca1a7ef10a75" + +Core shift 64-bit >> 1 +mpi_core_shift_r:"dee5ca1a7ef10a75":1:"6f72e50d3f78853a" + +Core shift 64-bit >> 2 +mpi_core_shift_r:"dee5ca1a7ef10a75":2:"37b972869fbc429d" + +Core shift 64-bit >> 3 +mpi_core_shift_r:"dee5ca1a7ef10a75":3:"1bdcb9434fde214e" + +Core shift 64-bit >> 4 +mpi_core_shift_r:"dee5ca1a7ef10a75":4:"0dee5ca1a7ef10a7" + +Core shift 64-bit >> 5 +mpi_core_shift_r:"dee5ca1a7ef10a75":5:"06f72e50d3f78853" + +Core shift 64-bit >> 6 +mpi_core_shift_r:"dee5ca1a7ef10a75":6:"037b972869fbc429" + +Core shift 64-bit >> 7 +mpi_core_shift_r:"dee5ca1a7ef10a75":7:"01bdcb9434fde214" + +Core shift 64-bit >> 8 +mpi_core_shift_r:"dee5ca1a7ef10a75":8:"00dee5ca1a7ef10a" + +Core shift 64-bit >> 9 +mpi_core_shift_r:"dee5ca1a7ef10a75":9:"006f72e50d3f7885" + +Core shift 64-bit >> 10 +mpi_core_shift_r:"dee5ca1a7ef10a75":10:"0037b972869fbc42" + +Core shift 64-bit >> 31 +mpi_core_shift_r:"dee5ca1a7ef10a75":31:"00000001bdcb9434" + +Core shift 64-bit >> 32 +mpi_core_shift_r:"dee5ca1a7ef10a75":32:"00000000dee5ca1a" + +Core shift 64-bit >> 33 +mpi_core_shift_r:"dee5ca1a7ef10a75":33:"000000006f72e50d" + +Core shift 64-bit >> 63 +mpi_core_shift_r:"dee5ca1a7ef10a75":63:"0000000000000001" + +Core shift 64-bit >> 64 +mpi_core_shift_r:"dee5ca1a7ef10a75":64:"0000000000000000" + +Core shift 64-bit >> 65 +mpi_core_shift_r:"dee5ca1a7ef10a75":65:"0000000000000000" + +Core shift 64-bit >> 71 +mpi_core_shift_r:"dee5ca1a7ef10a75":71:"0000000000000000" + +Core shift 64-bit >> 72 +mpi_core_shift_r:"dee5ca1a7ef10a75":72:"0000000000000000" + +Core shift [leading 0 limb] >> 0 +mpi_core_shift_r:"002e7ab0070ad57001":0:"002e7ab0070ad57001" + +Core shift [leading 0 limb] >> 1 +mpi_core_shift_r:"002e7ab0070ad57001":1:"00173d5803856ab800" + +Core shift [leading 0 limb] >> 8 +mpi_core_shift_r:"002e7ab0070ad57001":8:"00002e7ab0070ad570" + +Core shift [leading 0 limb] >> 63 +mpi_core_shift_r:"002e7ab0070ad57001":63:"000000000000000000" + +Core shift [leading 0 limb] >> 64 +mpi_core_shift_r:"002e7ab0070ad57001":64:"000000000000000000" + +Core shift 80-bit >> 0 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":0:"a1055eb0bb1efa1150ff" + +Core shift 80-bit >> 1 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":1:"5082af585d8f7d08a87f" + +Core shift 80-bit >> 8 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":8:"00a1055eb0bb1efa1150" + +Core shift 80-bit >> 63 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":63:"0000000000000001420a" + +Core shift 80-bit >> 64 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":64:"0000000000000000a105" + +Core shift 80-bit >> 65 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":65:"00000000000000005082" + +Core shift 80-bit >> 72 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":72:"000000000000000000a1" + +Core shift 80-bit >> 79 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":79:"00000000000000000001" + +Core shift 80-bit >> 80 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":80:"00000000000000000000" + +Core shift 80-bit >> 81 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":81:"00000000000000000000" + +Core shift 80-bit >> 88 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":88:"00000000000000000000" + +Core shift 80-bit >> 128 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":128:"00000000000000000000" + +Core shift 80-bit >> 129 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":129:"00000000000000000000" + +Core shift 80-bit >> 136 +mpi_core_shift_r:"a1055eb0bb1efa1150ff":136:"00000000000000000000" + +Core shift 138-bit >> 0 +mpi_core_shift_r:"020100000000000000001011121314151617":0:"020100000000000000001011121314151617" + +Core shift 138-bit >> 1 +mpi_core_shift_r:"020100000000000000001011121314151617":1:"01008000000000000000080889098a0a8b0b" + +Core shift 138-bit >> 8 +mpi_core_shift_r:"020100000000000000001011121314151617":8:"000201000000000000000010111213141516" + +Core shift 138-bit >> 9 +mpi_core_shift_r:"020100000000000000001011121314151617":9:"0001008000000000000000080889098a0a8b" + +Core shift 138-bit >> 16 +mpi_core_shift_r:"020100000000000000001011121314151617":16:"000002010000000000000000101112131415" + +Core shift 138-bit >> 72 +mpi_core_shift_r:"020100000000000000001011121314151617":72:"000000000000000000020100000000000000" + +Core shift 138-bit >> 73 +mpi_core_shift_r:"020100000000000000001011121314151617":73:"000000000000000000010080000000000000" + +Core shift 138-bit >> 136 +mpi_core_shift_r:"020100000000000000001011121314151617":136:"000000000000000000000000000000000002" + +Core shift 138-bit >> 137 +mpi_core_shift_r:"020100000000000000001011121314151617":137:"000000000000000000000000000000000001" + +Core shift 138-bit >> 138 +mpi_core_shift_r:"020100000000000000001011121314151617":138:"000000000000000000000000000000000000" + +Core shift 138-bit >> 144 +mpi_core_shift_r:"020100000000000000001011121314151617":144:"000000000000000000000000000000000000" + +mbedtls_mpi_core_sub #1 0 - 0 +mpi_core_sub:"0":"0":"0":"0":0 + +mbedtls_mpi_core_sub #2 0 - 1 +mpi_core_sub:"0":"1":"ffffffff":"ffffffffffffffff":1 + +mbedtls_mpi_core_sub #3 0 - 2 +mpi_core_sub:"0":"2":"fffffffe":"fffffffffffffffe":1 + +mbedtls_mpi_core_sub #4 0 - 3 +mpi_core_sub:"0":"3":"fffffffd":"fffffffffffffffd":1 + +mbedtls_mpi_core_sub #5 0 - 4 +mpi_core_sub:"0":"4":"fffffffc":"fffffffffffffffc":1 + +mbedtls_mpi_core_sub #6 0 - 38 +mpi_core_sub:"0":"38":"ffffffc8":"ffffffffffffffc8":1 + +mbedtls_mpi_core_sub #7 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"0":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5":1 + +mbedtls_mpi_core_sub #8 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"0":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b41568d":"e88de62cf185d96026a450370d5b2d84230b44660b41568d":1 + +mbedtls_mpi_core_sub #9 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"0":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d423":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d423":1 + +mbedtls_mpi_core_sub #10 0 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"0":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd":1 + +mbedtls_mpi_core_sub #11 0 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"0":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a29":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a29":1 + +mbedtls_mpi_core_sub #12 0 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"0":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12a":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12a":1 + +mbedtls_mpi_core_sub #13 0 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"0":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe553":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe553":1 + +mbedtls_mpi_core_sub #14 1 - 0 +mpi_core_sub:"1":"0":"1":"1":0 + +mbedtls_mpi_core_sub #15 1 - 1 +mpi_core_sub:"1":"1":"0":"0":0 + +mbedtls_mpi_core_sub #16 1 - 2 +mpi_core_sub:"1":"2":"ffffffff":"ffffffffffffffff":1 + +mbedtls_mpi_core_sub #17 1 - 3 +mpi_core_sub:"1":"3":"fffffffe":"fffffffffffffffe":1 + +mbedtls_mpi_core_sub #18 1 - 4 +mpi_core_sub:"1":"4":"fffffffd":"fffffffffffffffd":1 + +mbedtls_mpi_core_sub #19 1 - 38 +mpi_core_sub:"1":"38":"ffffffc9":"ffffffffffffffc9":1 + +mbedtls_mpi_core_sub #20 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a6":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a6":1 + +mbedtls_mpi_core_sub #21 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b41568e":"e88de62cf185d96026a450370d5b2d84230b44660b41568e":1 + +mbedtls_mpi_core_sub #22 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d424":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d424":1 + +mbedtls_mpi_core_sub #23 1 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"1":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952adde":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952adde":1 + +mbedtls_mpi_core_sub #24 1 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"1":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2a":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2a":1 + +mbedtls_mpi_core_sub #25 1 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12b":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12b":1 + +mbedtls_mpi_core_sub #26 1 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"1":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe554":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe554":1 + +mbedtls_mpi_core_sub #27 2 - 0 +mpi_core_sub:"2":"0":"2":"2":0 + +mbedtls_mpi_core_sub #28 2 - 1 +mpi_core_sub:"2":"1":"1":"1":0 + +mbedtls_mpi_core_sub #29 2 - 2 +mpi_core_sub:"2":"2":"0":"0":0 + +mbedtls_mpi_core_sub #30 2 - 3 +mpi_core_sub:"2":"3":"ffffffff":"ffffffffffffffff":1 + +mbedtls_mpi_core_sub #31 2 - 4 +mpi_core_sub:"2":"4":"fffffffe":"fffffffffffffffe":1 + +mbedtls_mpi_core_sub #32 2 - 38 +mpi_core_sub:"2":"38":"ffffffca":"ffffffffffffffca":1 + +mbedtls_mpi_core_sub #33 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"2":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a7":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a7":1 + +mbedtls_mpi_core_sub #34 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"2":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b41568f":"e88de62cf185d96026a450370d5b2d84230b44660b41568f":1 + +mbedtls_mpi_core_sub #35 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"2":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d425":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d425":1 + +mbedtls_mpi_core_sub #36 2 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"2":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addf":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addf":1 + +mbedtls_mpi_core_sub #37 2 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"2":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2b":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2b":1 + +mbedtls_mpi_core_sub #38 2 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"2":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12c":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12c":1 + +mbedtls_mpi_core_sub #39 2 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"2":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe555":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe555":1 + +mbedtls_mpi_core_sub #40 3 - 0 +mpi_core_sub:"3":"0":"3":"3":0 + +mbedtls_mpi_core_sub #41 3 - 1 +mpi_core_sub:"3":"1":"2":"2":0 + +mbedtls_mpi_core_sub #42 3 - 2 +mpi_core_sub:"3":"2":"1":"1":0 + +mbedtls_mpi_core_sub #43 3 - 3 +mpi_core_sub:"3":"3":"0":"0":0 + +mbedtls_mpi_core_sub #44 3 - 4 +mpi_core_sub:"3":"4":"ffffffff":"ffffffffffffffff":1 + +mbedtls_mpi_core_sub #45 3 - 38 +mpi_core_sub:"3":"38":"ffffffcb":"ffffffffffffffcb":1 + +mbedtls_mpi_core_sub #46 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"3":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a8":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a8":1 + +mbedtls_mpi_core_sub #47 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"3":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b415690":"e88de62cf185d96026a450370d5b2d84230b44660b415690":1 + +mbedtls_mpi_core_sub #48 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"3":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d426":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d426":1 + +mbedtls_mpi_core_sub #49 3 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"3":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ade0":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ade0":1 + +mbedtls_mpi_core_sub #50 3 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"3":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2c":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2c":1 + +mbedtls_mpi_core_sub #51 3 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12d":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12d":1 + +mbedtls_mpi_core_sub #52 3 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"3":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe556":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe556":1 + +mbedtls_mpi_core_sub #53 4 - 0 +mpi_core_sub:"4":"0":"4":"4":0 + +mbedtls_mpi_core_sub #54 4 - 1 +mpi_core_sub:"4":"1":"3":"3":0 + +mbedtls_mpi_core_sub #55 4 - 2 +mpi_core_sub:"4":"2":"2":"2":0 + +mbedtls_mpi_core_sub #56 4 - 3 +mpi_core_sub:"4":"3":"1":"1":0 + +mbedtls_mpi_core_sub #57 4 - 4 +mpi_core_sub:"4":"4":"0":"0":0 + +mbedtls_mpi_core_sub #58 4 - 38 +mpi_core_sub:"4":"38":"ffffffcc":"ffffffffffffffcc":1 + +mbedtls_mpi_core_sub #59 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"4":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a9":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a9":1 + +mbedtls_mpi_core_sub #60 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"4":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b415691":"e88de62cf185d96026a450370d5b2d84230b44660b415691":1 + +mbedtls_mpi_core_sub #61 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"4":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d427":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d427":1 + +mbedtls_mpi_core_sub #62 4 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ade1":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ade1":1 + +mbedtls_mpi_core_sub #63 4 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"4":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2d":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a2d":1 + +mbedtls_mpi_core_sub #64 4 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12e":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed12e":1 + +mbedtls_mpi_core_sub #65 4 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe557":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe557":1 + +mbedtls_mpi_core_sub #66 38 - 0 +mpi_core_sub:"38":"0":"38":"38":0 + +mbedtls_mpi_core_sub #67 38 - 1 +mpi_core_sub:"38":"1":"37":"37":0 + +mbedtls_mpi_core_sub #68 38 - 2 +mpi_core_sub:"38":"2":"36":"36":0 + +mbedtls_mpi_core_sub #69 38 - 3 +mpi_core_sub:"38":"3":"35":"35":0 + +mbedtls_mpi_core_sub #70 38 - 4 +mpi_core_sub:"38":"4":"34":"34":0 + +mbedtls_mpi_core_sub #71 38 - 38 +mpi_core_sub:"38":"38":"0":"0":0 + +mbedtls_mpi_core_sub #72 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"38":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048dd":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048dd":1 + +mbedtls_mpi_core_sub #73 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"38":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e88de62cf185d96026a450370d5b2d84230b44660b4156c5":"e88de62cf185d96026a450370d5b2d84230b44660b4156c5":1 + +mbedtls_mpi_core_sub #74 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"38":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d45b":"30e7dd0043977887d4b6efbb2a1cbedba391bcc8ea45d45b":1 + +mbedtls_mpi_core_sub #75 38 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"38":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ae15":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952ae15":1 + +mbedtls_mpi_core_sub #76 38 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"38":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a61":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca5856839bc9a9bed56475e5432e596e938b25b0603c3925a61":1 + +mbedtls_mpi_core_sub #77 38 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"38":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed162":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb323185928d7700973cdf0760ecb81f3226fa1302e9f3a2f10bed162":1 + +mbedtls_mpi_core_sub #78 38 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"38":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe58b":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8ba6ebd213315d9babd5ffbfc317f3b4f5bfbd44c2bcbe58b":1 + +mbedtls_mpi_core_sub #79 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mbedtls_mpi_core_sub #80 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_core_sub #81 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_core_sub #82 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"3":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_core_sub #83 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mbedtls_mpi_core_sub #84 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"38":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mbedtls_mpi_core_sub #85 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0":"0":0 + +mbedtls_mpi_core_sub #86 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":0 + +mbedtls_mpi_core_sub #87 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":"2a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":0 + +mbedtls_mpi_core_sub #88 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a1e6f722ea2b5e51a67133b177ab90c29e5df0496f40e26538":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a1e6f722ea2b5e51a67133b177ab90c29e5df0496f40e26538":1 + +mbedtls_mpi_core_sub #89 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca65729616302145459ca6354367451d85997fee8dffb221184":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca65729616302145459ca6354367451d85997fee8dffb221184":1 + +mbedtls_mpi_core_sub #90 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859fa9897afdb46577991d081f6b12a905114431d0b484e8885":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859fa9897afdb46577991d081f6b12a905114431d0b484e8885":1 + +mbedtls_mpi_core_sub #91 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d98c2fe4c79a8e40be4064fbffc03a2a70419fb728635b9cae":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d98c2fe4c79a8e40be4064fbffc03a2a70419fb728635b9cae":1 + +mbedtls_mpi_core_sub #92 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mbedtls_mpi_core_sub #93 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mbedtls_mpi_core_sub #94 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mbedtls_mpi_core_sub #95 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"3":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mbedtls_mpi_core_sub #96 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mbedtls_mpi_core_sub #97 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"38":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mbedtls_mpi_core_sub #98 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"45b0f22ca701bf9c5656afc563e9e35af750d8bdbd2ef218":"45b0f22ca701bf9c5656afc563e9e35af750d8bdbd2ef218":1 + +mbedtls_mpi_core_sub #99 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0":"0":0 + +mbedtls_mpi_core_sub #100 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"4859f6d352119f27ae129f841cc1915780867862df047d96":"4859f6d352119f27ae129f841cc1915780867862df047d96":1 + +mbedtls_mpi_core_sub #101 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a12ca81516d2601142c78a613d0f7aa5f95541222cfe115750":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a12ca81516d2601142c78a613d0f7aa5f95541222cfe115750":1 + +mbedtls_mpi_core_sub #102 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca59cda538fa91613f620ba03fbd83bbbb48f4fc19db851039c":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca59cda538fa91613f620ba03fbd83bbbb48f4fc19db851039c":1 + +mbedtls_mpi_core_sub #103 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859404989dc82481715e82731bc151473ac0b93f5c9057d7a9d":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859404989dc82481715e82731bc151473ac0b93f5c9057d7a9d":1 + +mbedtls_mpi_core_sub #104 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8d1e0d6f44190005a96bbabc524240dcb38f08fe6208a8ec6":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d8d1e0d6f44190005a96bbabc524240dcb38f08fe6208a8ec6":1 + +mbedtls_mpi_core_sub #105 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mbedtls_mpi_core_sub #106 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mbedtls_mpi_core_sub #107 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mbedtls_mpi_core_sub #108 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"3":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mbedtls_mpi_core_sub #109 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"4":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mbedtls_mpi_core_sub #110 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"38":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mbedtls_mpi_core_sub #111 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"fd56fb5954f02074a84410414728520376ca605ade2a7482":"fd56fb5954f02074a84410414728520376ca605ade2a7482":1 + +mbedtls_mpi_core_sub #112 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":0 + +mbedtls_mpi_core_sub #113 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0":"0":0 + +mbedtls_mpi_core_sub #114 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a1e44e1e43804e721b1977c1b8f2b914a1d4baa9ca1f0cd9ba":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a1e44e1e43804e721b1977c1b8f2b914a1d4baa9ca1f0cd9ba":1 + +mbedtls_mpi_core_sub #115 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca654805cbc570474ce72a76477bb7a2a5d0ec9493ad94c8606":"f96fad961290f4f60e9a3731c91d0db4bcfff21fe4d12bf12c522334d3cc41f53862986cb92b5385a3c6fd4c769c23917acb0ba8c72fb713f0ef66393c1e4da7028dbbad33158e00b5eb78951500e5f6735a6699993154c9faed42eceef8ddcee8ef30acd853bca654805cbc570474ce72a76477bb7a2a5d0ec9493ad94c8606":1 + +mbedtls_mpi_core_sub #116 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859f7ef9309303677ee3a149237f852e2548b0d7d662678fd07":"eb3ea36ef4ee52d733de31772ff9f33abd873d9eb1e434c7c44b5a8fd6b3b15c8c72dbc591a72a35b6384a6466adac0293865c219607a1cece0c46dc7ddb4edd3c1b576d26e69525b0305a7c1e2075064b8b38176d795e8ab5434f95175446c0fe2765fdb3231859f7ef9309303677ee3a149237f852e2548b0d7d662678fd07":1 + +mbedtls_mpi_core_sub #117 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d98986e020ef7e6132e8a90c4107627c73b86a178341861130":"e30266de9209b79b85213d986c2f1bac0af7db6d27c57dcc049d2d37e79d0369cb07f90540b5f83a99ffddb64e6e40b27bbe4a9e9ccd535a0aad88c1eb4fe6f26c6c91e2535c3f90a00f3fc44a28c7a21f7355e5f7e86efb5da1b99b0adac5fd5ce787ace7b00d98986e020ef7e6132e8a90c4107627c73b86a178341861130":1 + +mbedtls_mpi_core_sub #118 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 0 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mbedtls_mpi_core_sub #119 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 1 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"1":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mbedtls_mpi_core_sub #120 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 2 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"2":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mbedtls_mpi_core_sub #121 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 3 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":0 + +mbedtls_mpi_core_sub #122 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 4 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f":0 + +mbedtls_mpi_core_sub #123 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 38 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"38":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb":0 + +mbedtls_mpi_core_sub #124 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac8":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac8":0 + +mbedtls_mpi_core_sub #125 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b0":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b0":0 + +mbedtls_mpi_core_sub #126 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32646":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32646":0 + +mbedtls_mpi_core_sub #127 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0":"0":0 + +mbedtls_mpi_core_sub #128 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4c":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4c":0 + +mbedtls_mpi_core_sub #129 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234d":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234d":0 + +mbedtls_mpi_core_sub #130 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"d76bce5a5dfa0abad3f21c973e5155b9d26adbab3cce3947ece6e8430cc7e8e29290d25b55ffdc90c2c5a55ac57ff98308e4e0193cc01f5d35b531d7c9923bef7e72b440522990a26cdc0aa83c41b7547dc9d0115490cbaedf391b391b594d9004cabd15e106e837a538c1dd6f2fef17cf314a8814a967d1e3af6db922793776":"d76bce5a5dfa0abad3f21c973e5155b9d26adbab3cce3947ece6e8430cc7e8e29290d25b55ffdc90c2c5a55ac57ff98308e4e0193cc01f5d35b531d7c9923bef7e72b440522990a26cdc0aa83c41b7547dc9d0115490cbaedf391b391b594d9004cabd15e106e837a538c1dd6f2fef17cf314a8814a967d1e3af6db922793776":1 + +mbedtls_mpi_core_sub #131 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mbedtls_mpi_core_sub #132 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":0 + +mbedtls_mpi_core_sub #133 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"2":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":0 + +mbedtls_mpi_core_sub #134 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"3":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":0 + +mbedtls_mpi_core_sub #135 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":0 + +mbedtls_mpi_core_sub #136 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"38":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":0 + +mbedtls_mpi_core_sub #137 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c":0 + +mbedtls_mpi_core_sub #138 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64":0 + +mbedtls_mpi_core_sub #139 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa":0 + +mbedtls_mpi_core_sub #140 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3d54aa7d78959bc8d5c5c0107f548e4c3144afebb0dcf2a3a710c75b9de5a55ed1bd14c844e02f6d43135b3428cac6f6a40bf8e7e5dcfec47a06407b190474d8a5c659309ff6a555e73970bef35fef2f30d2feb371bc6676dbb3bd73a65b8100e8148ab815205bfb8fcdc1872949fd4ca6d05d41373eea44c5f1608f45c053b4":"3d54aa7d78959bc8d5c5c0107f548e4c3144afebb0dcf2a3a710c75b9de5a55ed1bd14c844e02f6d43135b3428cac6f6a40bf8e7e5dcfec47a06407b190474d8a5c659309ff6a555e73970bef35fef2f30d2feb371bc6676dbb3bd73a65b8100e8148ab815205bfb8fcdc1872949fd4ca6d05d41373eea44c5f1608f45c053b4":1 + +mbedtls_mpi_core_sub #141 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0":"0":0 + +mbedtls_mpi_core_sub #142 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"f1cef5d8e25d5de12543fa4566dce58600874b7ecd1308d697f9375b02e76f6754104358d87bd6b012714d17f011887118bb5078ced7eabadd1ce0a341bd0136398d9bbff3d10724fa44e1e7091f8f0fd830d17dd44809c0ba560ca8285b68f215383550dacf5bb3a36f364cd932031fc76d2dc03cd8b7f77c44342b4d2c7701":"f1cef5d8e25d5de12543fa4566dce58600874b7ecd1308d697f9375b02e76f6754104358d87bd6b012714d17f011887118bb5078ced7eabadd1ce0a341bd0136398d9bbff3d10724fa44e1e7091f8f0fd830d17dd44809c0ba560ca8285b68f215383550dacf5bb3a36f364cd932031fc76d2dc03cd8b7f77c44342b4d2c7701":1 + +mbedtls_mpi_core_sub #143 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"14c078d7d68fa683a9b7dca7bda5e40603af8b96edab2beb93f7af9eaaad8e41644de7239ae00bfe05d9008eee4ac079acf0d901229d1e21afbb7252e296b0c824390d70f22035f854157b672fa1a683ae9ccec4c64d3225baecd8acc1b4ce90ecdf47cdf6274433350683649879ec647601a7c94be85216a9a0ce4868398b2a":"14c078d7d68fa683a9b7dca7bda5e40603af8b96edab2beb93f7af9eaaad8e41644de7239ae00bfe05d9008eee4ac079acf0d901229d1e21afbb7252e296b0c824390d70f22035f854157b672fa1a683ae9ccec4c64d3225baecd8acc1b4ce90ecdf47cdf6274433350683649879ec647601a7c94be85216a9a0ce4868398b2a":1 + +mbedtls_mpi_core_sub #144 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mbedtls_mpi_core_sub #145 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":0 + +mbedtls_mpi_core_sub #146 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":0 + +mbedtls_mpi_core_sub #147 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":0 + +mbedtls_mpi_core_sub #148 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":0 + +mbedtls_mpi_core_sub #149 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"38":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":0 + +mbedtls_mpi_core_sub #150 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b":0 + +mbedtls_mpi_core_sub #151 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563":0 + +mbedtls_mpi_core_sub #152 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9":0 + +mbedtls_mpi_core_sub #153 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"4b85b4a496383de7b081c5cb1877a8c630bd646ce3c9e9cd0f1790009afe35f77dacd16f6c6458bd30a20e1c38b93e858b50a86f170514099ce95fd7d74773a26c38bd70ac259e30ecf48ed7ea40601f58a22d359d745cb6215db0cb7e00180ed2dc55673a510047ec5e8b3a5017fa2cdf632f80fa66324d49ad2c63f893dcb3":"4b85b4a496383de7b081c5cb1877a8c630bd646ce3c9e9cd0f1790009afe35f77dacd16f6c6458bd30a20e1c38b93e858b50a86f170514099ce95fd7d74773a26c38bd70ac259e30ecf48ed7ea40601f58a22d359d745cb6215db0cb7e00180ed2dc55673a510047ec5e8b3a5017fa2cdf632f80fa66324d49ad2c63f893dcb3":1 + +mbedtls_mpi_core_sub #154 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff":"e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff":0 + +mbedtls_mpi_core_sub #155 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0":"0":0 + +mbedtls_mpi_core_sub #156 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"22f182fef43248a28473e26256c8fe800328401820982314fbfe7843a7c61eda103da3cac264354df367b376fe3938089435888853c53366d29e91afa0d9af91eaab71b0fe4f2ed359d0998026821773d66bfd46f20528650096cc049959659ed7a7127d1b57e87f91974d17bf47e944ae947a090f0f9a1f2d5c9a1d1b0d1429":"22f182fef43248a28473e26256c8fe800328401820982314fbfe7843a7c61eda103da3cac264354df367b376fe3938089435888853c53366d29e91afa0d9af91eaab71b0fe4f2ed359d0998026821773d66bfd46f20528650096cc049959659ed7a7127d1b57e87f91974d17bf47e944ae947a090f0f9a1f2d5c9a1d1b0d1429":1 + +mbedtls_mpi_core_sub #157 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 0 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mbedtls_mpi_core_sub #158 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 1 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"1":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aac":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aac":0 + +mbedtls_mpi_core_sub #159 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 2 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aab":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aab":0 + +mbedtls_mpi_core_sub #160 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 3 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"3":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaa":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaa":0 + +mbedtls_mpi_core_sub #161 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 4 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aa9":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aa9":0 + +mbedtls_mpi_core_sub #162 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 38 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"38":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341a75":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341a75":0 + +mbedtls_mpi_core_sub #163 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2673d01b386571bf41bf9b04003fc5d58fbe6048d79ca46352":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2673d01b386571bf41bf9b04003fc5d58fbe6048d79ca46352":0 + +mbedtls_mpi_core_sub #164 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff272e1f290bbe6fffa56944543adbdbf234c70f7019df75713a":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff272e1f290bbe6fffa56944543adbdbf234c70f7019df75713a":0 + +mbedtls_mpi_core_sub #165 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2676791fdf10819ecd1756f3bef89d838c4795e87cbe79eed0":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff2676791fdf10819ecd1756f3bef89d838c4795e87cbe79eed0":0 + +mbedtls_mpi_core_sub #166 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"289431a5a205f5452c0de368c1aeaa462d952454c331c6b8131917bcf338171d6d6f2da4aa00236f3d3a5aa53a80067cf71b1fe6c33fe0a2ca4ace28366dc410818d4bbfadd66f5d9323f557c3be48ab82362feeab6f345120c6e4c6e4a6b26ffb3542ea1ef917c85ac73e2290d010e830ceb577eb56982e1c509246dd86c88a":"289431a5a205f5452c0de368c1aeaa462d952454c331c6b8131917bcf338171d6d6f2da4aa00236f3d3a5aa53a80067cf71b1fe6c33fe0a2ca4ace28366dc410818d4bbfadd66f5d9323f557c3be48ab82362feeab6f345120c6e4c6e4a6b26ffb3542ea1ef917c85ac73e2290d010e830ceb577eb56982e1c509246dd86c88a":0 + +mbedtls_mpi_core_sub #167 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"eb3f87282970597c56482358425a1bf9fc5074691254d4146c085061555271be9bb218dc651ff401fa26ff7111b53f86530f26fedd62e1de50448dad1d694f37dbc6f28f0ddfca07abea8498d05e597c5163313b39b2cdda451327533e4b316f1320b83209d8bbcccaf97c9b6786139b89fe5836b417ade9565f31b797c674d6":"eb3f87282970597c56482358425a1bf9fc5074691254d4146c085061555271be9bb218dc651ff401fa26ff7111b53f86530f26fedd62e1de50448dad1d694f37dbc6f28f0ddfca07abea8498d05e597c5163313b39b2cdda451327533e4b316f1320b83209d8bbcccaf97c9b6786139b89fe5836b417ade9565f31b797c674d6":0 + +mbedtls_mpi_core_sub #168 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"dd0e7d010bcdb75d7b8c1d9da937017ffcd7bfe7df67dceb040187bc5839e125efc25c353d9bcab20c984c8901c6c7f76bca7777ac3acc992d616e505f26506e15548e4f01b0d12ca62f667fd97de88c299402b90dfad79aff6933fb66a69a612858ed82e4a817806e68b2e840b816bb516b85f6f0f065e0d2a365e2e4f2ebd7":"dd0e7d010bcdb75d7b8c1d9da937017ffcd7bfe7df67dceb040187bc5839e125efc25c353d9bcab20c984c8901c6c7f76bca7777ac3acc992d616e505f26506e15548e4f01b0d12ca62f667fd97de88c299402b90dfad79aff6933fb66a69a612858ed82e4a817806e68b2e840b816bb516b85f6f0f065e0d2a365e2e4f2ebd7":0 + +mbedtls_mpi_core_sub #169 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad +mpi_core_sub:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0":"0":0 + +mpi_core_sub_int #1 0 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"0":"0":"0":0 + +mpi_core_sub_int #2 0 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0":"0":"0":0 + +mpi_core_sub_int #3 0 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000000":"1":"ffffffff":1 + +mpi_core_sub_int #4 0 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000000":"1":"ffffffffffffffff":1 + +mpi_core_sub_int #5 0 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000000":"2":"fffffffe":1 + +mpi_core_sub_int #6 0 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000000":"2":"fffffffffffffffe":1 + +mpi_core_sub_int #7 0 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000000":"3":"fffffffd":1 + +mpi_core_sub_int #8 0 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000000":"3":"fffffffffffffffd":1 + +mpi_core_sub_int #9 0 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000000":"4":"fffffffc":1 + +mpi_core_sub_int #10 0 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000000":"4":"fffffffffffffffc":1 + +mpi_core_sub_int #11 0 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000000":"38":"ffffffc8":1 + +mpi_core_sub_int #12 0 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000000":"38":"ffffffffffffffc8":1 + +mpi_core_sub_int #27 1 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"0":"00000001":0 + +mpi_core_sub_int #28 1 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"0":"0000000000000001":0 + +mpi_core_sub_int #29 1 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"1":"00000000":0 + +mpi_core_sub_int #30 1 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"1":"0000000000000000":0 + +mpi_core_sub_int #31 1 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"2":"ffffffff":1 + +mpi_core_sub_int #32 1 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"2":"ffffffffffffffff":1 + +mpi_core_sub_int #33 1 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"3":"fffffffe":1 + +mpi_core_sub_int #34 1 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"3":"fffffffffffffffe":1 + +mpi_core_sub_int #35 1 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"4":"fffffffd":1 + +mpi_core_sub_int #36 1 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"4":"fffffffffffffffd":1 + +mpi_core_sub_int #37 1 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000001":"38":"ffffffc9":1 + +mpi_core_sub_int #38 1 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000001":"38":"ffffffffffffffc9":1 + +mpi_core_sub_int #53 2 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"0":"00000002":0 + +mpi_core_sub_int #54 2 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"0":"0000000000000002":0 + +mpi_core_sub_int #55 2 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"1":"00000001":0 + +mpi_core_sub_int #56 2 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"1":"0000000000000001":0 + +mpi_core_sub_int #57 2 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"2":"00000000":0 + +mpi_core_sub_int #58 2 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"2":"0000000000000000":0 + +mpi_core_sub_int #59 2 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"3":"ffffffff":1 + +mpi_core_sub_int #60 2 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"3":"ffffffffffffffff":1 + +mpi_core_sub_int #61 2 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"4":"fffffffe":1 + +mpi_core_sub_int #62 2 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"4":"fffffffffffffffe":1 + +mpi_core_sub_int #63 2 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000002":"38":"ffffffca":1 + +mpi_core_sub_int #64 2 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000002":"38":"ffffffffffffffca":1 + +mpi_core_sub_int #79 3 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"0":"00000003":0 + +mpi_core_sub_int #80 3 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"0":"0000000000000003":0 + +mpi_core_sub_int #81 3 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"1":"00000002":0 + +mpi_core_sub_int #82 3 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"1":"0000000000000002":0 + +mpi_core_sub_int #83 3 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"2":"00000001":0 + +mpi_core_sub_int #84 3 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"2":"0000000000000001":0 + +mpi_core_sub_int #85 3 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"3":"00000000":0 + +mpi_core_sub_int #86 3 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"3":"0000000000000000":0 + +mpi_core_sub_int #87 3 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"4":"ffffffff":1 + +mpi_core_sub_int #88 3 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"4":"ffffffffffffffff":1 + +mpi_core_sub_int #89 3 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000003":"38":"ffffffcb":1 + +mpi_core_sub_int #90 3 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000003":"38":"ffffffffffffffcb":1 + +mpi_core_sub_int #105 4 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"0":"00000004":0 + +mpi_core_sub_int #106 4 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"0":"0000000000000004":0 + +mpi_core_sub_int #107 4 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"1":"00000003":0 + +mpi_core_sub_int #108 4 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"1":"0000000000000003":0 + +mpi_core_sub_int #109 4 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"2":"00000002":0 + +mpi_core_sub_int #110 4 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"2":"0000000000000002":0 + +mpi_core_sub_int #111 4 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"3":"00000001":0 + +mpi_core_sub_int #112 4 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"3":"0000000000000001":0 + +mpi_core_sub_int #113 4 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"4":"00000000":0 + +mpi_core_sub_int #114 4 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"4":"0000000000000000":0 + +mpi_core_sub_int #115 4 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000004":"38":"ffffffcc":1 + +mpi_core_sub_int #116 4 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000004":"38":"ffffffffffffffcc":1 + +mpi_core_sub_int #131 38 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"0":"00000038":0 + +mpi_core_sub_int #132 38 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"0":"0000000000000038":0 + +mpi_core_sub_int #133 38 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"1":"00000037":0 + +mpi_core_sub_int #134 38 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"1":"0000000000000037":0 + +mpi_core_sub_int #135 38 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"2":"00000036":0 + +mpi_core_sub_int #136 38 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"2":"0000000000000036":0 + +mpi_core_sub_int #137 38 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"3":"00000035":0 + +mpi_core_sub_int #138 38 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"3":"0000000000000035":0 + +mpi_core_sub_int #139 38 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"4":"00000034":0 + +mpi_core_sub_int #140 38 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"4":"0000000000000034":0 + +mpi_core_sub_int #141 38 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"00000038":"38":"00000000":0 + +mpi_core_sub_int #142 38 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"0000000000000038":"38":"0000000000000000":0 + +mpi_core_sub_int #157 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_sub_int #158 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mpi_core_sub_int #159 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mpi_core_sub_int #160 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mpi_core_sub_int #161 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mpi_core_sub_int #162 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mpi_core_sub_int #163 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"3":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mpi_core_sub_int #164 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"3":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mpi_core_sub_int #165 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mpi_core_sub_int #166 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mpi_core_sub_int #167 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"38":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mpi_core_sub_int #168 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"38":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mpi_core_sub_int #183 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_sub_int #184 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mpi_core_sub_int #185 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mpi_core_sub_int #186 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mpi_core_sub_int #187 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mpi_core_sub_int #188 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mpi_core_sub_int #189 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"3":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mpi_core_sub_int #190 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"3":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mpi_core_sub_int #191 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mpi_core_sub_int #192 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mpi_core_sub_int #193 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"38":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mpi_core_sub_int #194 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"38":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mpi_core_sub_int #209 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_sub_int #210 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mpi_core_sub_int #211 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mpi_core_sub_int #212 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mpi_core_sub_int #213 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mpi_core_sub_int #214 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"2":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mpi_core_sub_int #215 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"3":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mpi_core_sub_int #216 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"3":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mpi_core_sub_int #217 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"4":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mpi_core_sub_int #218 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"4":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mpi_core_sub_int #219 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"38":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mpi_core_sub_int #220 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"38":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mpi_core_sub_int #235 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_sub_int #236 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":0 + +mpi_core_sub_int #237 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"1":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mpi_core_sub_int #238 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"1":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mpi_core_sub_int #239 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"2":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mpi_core_sub_int #240 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"2":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mpi_core_sub_int #241 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":0 + +mpi_core_sub_int #242 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"3":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":0 + +mpi_core_sub_int #243 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f":0 + +mpi_core_sub_int #244 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"4":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f":0 + +mpi_core_sub_int #245 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"38":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb":0 + +mpi_core_sub_int #246 c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"38":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb":0 + +mpi_core_sub_int #261 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_sub_int #262 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mpi_core_sub_int #263 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":0 + +mpi_core_sub_int #264 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":0 + +mpi_core_sub_int #265 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"2":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":0 + +mpi_core_sub_int #266 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"2":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":0 + +mpi_core_sub_int #267 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"3":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":0 + +mpi_core_sub_int #268 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"3":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":0 + +mpi_core_sub_int #269 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":0 + +mpi_core_sub_int #270 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":0 + +mpi_core_sub_int #271 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"38":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":0 + +mpi_core_sub_int #272 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"38":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":0 + +mpi_core_sub_int #287 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_sub_int #288 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mpi_core_sub_int #289 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":0 + +mpi_core_sub_int #290 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":0 + +mpi_core_sub_int #291 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":0 + +mpi_core_sub_int #292 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":0 + +mpi_core_sub_int #293 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":0 + +mpi_core_sub_int #294 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":0 + +mpi_core_sub_int #295 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":0 + +mpi_core_sub_int #296 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"4":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":0 + +mpi_core_sub_int #297 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"38":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":0 + +mpi_core_sub_int #298 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"38":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":0 + +mpi_core_sub_int #313 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 0 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_sub_int #314 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 0 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"0":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":0 + +mpi_core_sub_int #315 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"1":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aac":0 + +mpi_core_sub_int #316 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"1":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aac":0 + +mpi_core_sub_int #317 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 2 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aab":0 + +mpi_core_sub_int #318 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 2 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"2":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aab":0 + +mpi_core_sub_int #319 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 3 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"3":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaa":0 + +mpi_core_sub_int #320 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 3 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"3":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aaa":0 + +mpi_core_sub_int #321 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 4 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aa9":0 + +mpi_core_sub_int #322 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 4 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"4":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aa9":0 + +mpi_core_sub_int #323 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 38 +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"38":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341a75":0 + +mpi_core_sub_int #324 f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad - 38 +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_sub_int:"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341aad":"38":"f1cfd99216df648647adec26793d0e453f5082492d83a8233fb62d2c81862fc9634f806fabf4a07c566002249b191bf4d8441b5616332aca5f552773e14b0190d93936e1daca3c06f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a02a3187853184ff27459142deccea264542a00403ce80c4b0a4042bb3d4341a75":0 + +# End of automatically generated file. diff --git a/tests/suites/test_suite_bignum_core.misc.data b/tests/suites/test_suite_bignum_core.misc.data new file mode 100644 index 0000000000..62480e47f7 --- /dev/null +++ b/tests/suites/test_suite_bignum_core.misc.data @@ -0,0 +1,469 @@ +Test mbedtls_mpi_core_io functions with null pointers +mpi_core_io_null + +Test mbedtls_mpi_core_io_be #1 (Buffer and limbs just fit, input limb-aligned) +mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:0:0 + +Test mbedtls_mpi_core_io_be #2 (Buffer and limbs just fit, input unaligned) +mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:0:0 + +Test mbedtls_mpi_core_io_be #3 (Buffer just fits, extra limbs, input limb-aligned) +mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:0:0 + +Test mbedtls_mpi_core_io_be #4 (Buffer just fits, extra limbs, input unaligned) +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) +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) +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) +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) +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) +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) +mpi_core_io_be:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":86:28:0:0 + +Test mbedtls_mpi_core_io_be #11 (Zero) +mpi_core_io_be:"00":1:1:0:0 + +Test mbedtls_mpi_core_io_be #12 (Zero, empty output) +mpi_core_io_be:"00":0:1:0:0 + +Test mbedtls_mpi_core_io_be #13 (Zero, empty input) +mpi_core_io_be:"":1:1:0:0 + +Test mbedtls_mpi_core_io_be #14 (One) +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 +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 +mpi_core_io_be:"ff00000000000000":8:2:0:0 + +Test mbedtls_mpi_core_io_be #17 (not enough limbs, input limb-aligned) +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) +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) +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) +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) +mpi_core_io_be:"00de4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":82:21:0:0 + +Test mbedtls_mpi_core_io_le #1 (Buffer and limbs just fit, input limb-aligned) +mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:0:0 + +Test mbedtls_mpi_core_io_le #2 (Buffer and limbs just fit, input unaligned) +mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:0:0 + +Test mbedtls_mpi_core_io_le #3 (Buffer just fits, extra limbs, input limb-aligned) +mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:0:0 + +Test mbedtls_mpi_core_io_le #4 (Buffer just fits, extra limbs, input unaligned) +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) +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) +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) +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) +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) +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) +mpi_core_io_le:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:28:0:0 + +Test mbedtls_mpi_core_io_le #11 (Zero) +mpi_core_io_le:"00":1:1:0:0 + +Test mbedtls_mpi_core_io_le #12 (Zero, empty output) +mpi_core_io_le:"00":0:1:0:0 + +Test mbedtls_mpi_core_io_le #13 (Zero, empty input) +mpi_core_io_le:"":1:1:0:0 + +Test mbedtls_mpi_core_io_le #14 (One) +mpi_core_io_le:"01":1:1:0:0 + +Test mbedtls_mpi_core_io_le #15 (One limb) +depends_on:MBEDTLS_HAVE_INT32 +mpi_core_io_le:"000000ff":4:1:0:0 + +Test mbedtls_mpi_core_io_le #16 (One limb) +depends_on:MBEDTLS_HAVE_INT64 +mpi_core_io_le:"00000000000000ff":8:2:0:0 + +Test mbedtls_mpi_core_io_le #17 (not enough limbs, input limb-aligned) +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) +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) +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) +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) +mpi_core_io_le:"de4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b442400":82:21:0:0 + +Test mbedtls_mpi_core_bitlen 764-bit +mpi_core_bitlen:"941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":764 + +Test mbedtls_mpi_core_bitlen 0x18 +mpi_core_bitlen:"18":5 + +Test mbedtls_mpi_core_bitlen 0x18 with leading 0 limb(s) +mpi_core_bitlen:"00000000000000018":5 + +Test mbedtls_mpi_core_bitlen 0x18 << 64 +mpi_core_bitlen:"180000000000000000":69 + +Test mbedtls_mpi_core_bitlen 0x01 +mpi_core_bitlen:"1":1 + +Test mbedtls_mpi_core_bitlen 0x0f +mpi_core_bitlen:"f":4 + +Test mbedtls_mpi_core_bitlen 0x10 +mpi_core_bitlen:"10":5 + +Test mbedtls_mpi_core_bitlen 0x0a +mpi_core_bitlen:"a":4 + +Test mbedtls_mpi_core_bitlen: 0 (1 limb) +mpi_core_bitlen:"0":0 + +mbedtls_mpi_core_lt_ct: x=y (1 limb) +mpi_core_lt_ct:"2B5":"2B5":0 + +mbedtls_mpi_core_lt_ct: x>y (1 limb) +mpi_core_lt_ct:"2B5":"2B4":0 + +mbedtls_mpi_core_lt_ct: xy (63 bit x, y first byte greater) +mpi_core_lt_ct:"7FFFFFFFFFFFFFFF":"00000000000000FF":0 + +mbedtls_mpi_core_lt_ct: xy (64 bit x, y=x-1) +mpi_core_lt_ct:"8000000000000000":"7FFFFFFFFFFFFFFF":0 + +mbedtls_mpi_core_lt_ct: xy (64 bit x, y=1) +mpi_core_lt_ct:"8000000000000000":"0000000000000001":0 + +mbedtls_mpi_core_lt_ct: xy (64 bit x, y=0) +mpi_core_lt_ct:"8000000000000000":"0000000000000000":0 + +mbedtls_mpi_core_lt_ct: xy (64 bit x, first bytes equal) +mpi_core_lt_ct:"FFFFFFFFFFFFFFFF":"00000000000000FF":0 + +mbedtls_mpi_core_lt_ct: xy (31 bit x, y first byte greater) +mpi_core_lt_ct:"7FFFFFFF":"000000FF":0 + +mbedtls_mpi_core_lt_ct: xy (32 bit x, y=x-1) +mpi_core_lt_ct:"80000000":"7FFFFFFF":0 + +mbedtls_mpi_core_lt_ct: xy (32 bit x, y=1) +mpi_core_lt_ct:"80000000":"00000001":0 + +mbedtls_mpi_core_lt_ct: xy (32 bit x, y=0) +mpi_core_lt_ct:"80000000":"00000000":0 + +mbedtls_mpi_core_lt_ct: xy (32 bit x, first bytes equal) +mpi_core_lt_ct:"FFFFFFFF":"000000FF":0 + +mbedtls_mpi_core_lt_ct: xy, 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: xy (alternating limbs) +mpi_core_lt_ct:"FF1111111111111111":"11FFFFFFFFFFFFFFFF":0 + +mbedtls_mpi_core_cond_assign: 1 limb +mpi_core_cond_assign:"FFFFFFFF":"11111111":4 + +mbedtls_mpi_core_cond_assign: more limbs #1 +mpi_core_cond_assign:"00000000FFFFFFFF55555555AAAAAAAA":"0123456789ABCDEF0123456789ABCDEF":16 + +mbedtls_mpi_core_cond_assign: more limbs #2 +mpi_core_cond_assign:"11111111EEEEEEEE77777777CCCCCCCC":"FEDCBA9876543210FEDCBA9876543210":16 + +mbedtls_mpi_core_cond_assign: more limbs #3 +mpi_core_cond_assign:"562D2B7E83BDC6FF783CEC0D6F46EAE7":"4C314E3B5CEB009C25F3300D5ECF670A":16 + +mbedtls_mpi_core_cond_assign: copy 256 bytes of limbs +mpi_core_cond_assign:"00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF":"6E3173EEAC8D68A5AB53D259F32D9E9C298FD2C4FAD3BEE9151DC103EA2382F5480C7D11F451C060A1E3D887E05A620EF6395763CB7A40FC473DD0771456A018E18635EA971C36DCAD09D60E8BD0E2E0CCD1AECB8BE0ABA881DBE60163F6C45947EC0B05FDAAA3DF944627DD4FACBAD3FF2AB4B99D91E548C06A4AF320A9CA0D2FD0CB19B90B9D6A8BF59CB631DD925B6DEA621FE962099D3D0BED6B13C0C546DC6B563A7FC63B1B77D277897DD7B9DF28C4C9213A183B83D982964C6AD8192CE7354B11ED727EDEF85074C46E4E2E6C1728FB7980385CDB36512F927847C6A14A118624ABC12B09DBEE60D651B5431AAD982228C61655EABB80C263871AE1CF":256 + +mbedtls_mpi_core_cond_assign: copy half of the limbs +mpi_core_cond_assign:"00000000FFFFFFFF55555555AAAAAAAA":"FEDCBA9876543210FEDCBA9876543210":8 + +mbedtls_mpi_core_cond_swap: same value +mpi_core_cond_swap:"FFFFFFFF":"FFFFFFFF":4 + +mbedtls_mpi_core_cond_swap: 1 limb +mpi_core_cond_swap:"FFFFFFFF":"11111111":4 + +mbedtls_mpi_core_cond_swap: more limbs #1 +mpi_core_cond_swap:"00000000FFFFFFFF55555555AAAAAAAA":"0123456789ABCDEF0123456789ABCDEF":16 + +mbedtls_mpi_core_cond_swap: more limbs #2 +mpi_core_cond_swap:"11111111EEEEEEEE77777777CCCCCCCC":"FEDCBA9876543210FEDCBA9876543210":16 + +mbedtls_mpi_core_cond_swap: more limbs #3 +mpi_core_cond_swap:"562D2B7E83BDC6FF783CEC0D6F46EAE7":"4C314E3B5CEB009C25F3300D5ECF670A":16 + +mbedtls_mpi_core_cond_swap: copy 256 bytes of limbs +mpi_core_cond_swap:"00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF":"9FBBA284460D8EAB5E0D66B634BD18FBA58C0C25417DD637526A7622C6425B46E09AEFBB8C2340AC823DFE990A62C85DB23BCDBEA734134606CEEB4BCF7444569D5EC4E32341ED09D7A5D0BB8B11D7B726BAECCF37D4FC1BEBD892CADD7BE9E093343C1A68D7A188DFE145C1EDBD8048B24E20A076F981D75ABE44318ADC40ED316C444774B6A90D3EE49557315AA6FAB162A498C0B2E2C15BD94186A665E12DDC39211583FA5F21218A3B46999FEBA4DFF454FB6ED35B8F3AE5F8EA840838BD76006DA112F85EDAA2CC07518FFC9724D5695BAF74F16C8D1A3A06029D2F5C1023D9E8A84D1267BD9AF82D1F5F77092D34BE4E8C4D1EA8C58F90B094DCFD6920":256 + +mbedtls_mpi_core_cond_swap: copy half of the limbs +mpi_core_cond_swap:"00000000FFFFFFFF55555555AAAAAAAA":"FEDCBA9876543210FEDCBA9876543210":8 + +mbedtls_mpi_montg_init #1 +mpi_montg_init:"000000000000001d":"cb08d3dcb08d3dcb" + +mbedtls_mpi_montg_init #2 +mpi_montg_init:"0000000000000009":"71c71c71c71c71c7" + +mbedtls_mpi_montg_init #3 +mpi_montg_init:"000000000001869f":"34d76bc8e5e3eaa1" + +mbedtls_mpi_montg_init #4 +mpi_montg_init:"00000000000080000000000000000001":"ffffffffffffffff" + +mbedtls_mpi_montg_init #5 +mpi_montg_init:"0000000000a1ffffffffffffffffffff":"0000000000000001" + +mbedtls_mpi_montg_init #6 +mpi_montg_init:"00000000000257ffffffffffffffffff":"0000000000000001" + +mbedtls_mpi_montg_init #7 +mpi_montg_init:"b91ba63180c726fbd57786f27f1ede97a3b40c59a7fcfb5898f076e9af57028d":"32edc7e1ac2e6fbb" + +mbedtls_mpi_montg_init #8 +mpi_montg_init:"b3a119602ee213cde28581ecd892e0f592a338655dce4ca88054b3d124d0e561":"e41cfb909805815f" + +mbedtls_mpi_montg_init #9 +mpi_montg_init:"0284139ea19c139ebe09a8111926aaa39a2c2be12ed487a809d3cb5bc55854725b4cdcb5734c58f90b2f60d99cc1950cdbc8d651793e93c9c6f0ead752500a32c56c62082912b66132b2a6aa42ada923e1ad22ceb7ba0123":"c02e2164b293c975" + +mbedtls_mpi_montg_init #10 +mpi_montg_init:"00000000000000011a9351d2d32ccd568e75bf8b4ebbb2a36be691b55832edac662ff79803df8af525fba453068be16ac3920bcc1b468f8f7fe786e0fa4ecbabcad31e5e3b05def802eb8600deaf11ef452487db878df20a80606e4bb6a163b83895d034cc8b53dbcd005be42ffdd2ce99bed06089a0b79d":"ffec8978c055794b" + +mbedtls_mpi_montg_init #11 +mpi_montg_init:"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":"7b07a0b0379b9135" + +mbedtls_mpi_montg_init #12 +mpi_montg_init:"00000007a364ab3de755f924642bd5273524234f78395da1ed9098f39af4fe248288b0cb7f1c27214588969479d7dc9f0d327b5544dd4c095aa1fa271df421fe9ee460855cc8423d223e2c85dc793f6babdca7fc804ea1f408f867db053bfd98c45085ea5d805c78d2863bacdfcaf4c6147ebb74a9056045074785714c0b84ed":"8f54b233c070871b" + +mbedtls_mpi_montg_init #13 +mpi_montg_init:"e2df85c83ee8463b3af26805791cc0b1ba1af89564e887a63d5ba18ea72fb593b664cf8ace78241ea3109b7644510e02324a5c1e9a85daada3c383759d7678ce8d8886b51a3237dc84b543de4f843c77fc77ba08ef90e7e96ba622478f6b96daa3e9b8511f36279fb0120ef93bad2090e7878346fe4ae29ad61be48b6835e8407d0849422e05c7a4d1e02322f2675056d73d4c5a1ab376bfaccfd61ff7d64b715c9525a7ed8dcda1144f8722c30d12ba3d95221d897edc825a1598a645e2c457":"b777a905d9239899" + +mbedtls_mpi_montg_init #14 +mpi_montg_init:"baea2d65939296fc2536f18f2a4042a741f33088ecd5000e76c67a466e7a1e696f8ee9a15497168b3a2b597799dc9475909ebbc64b96f233430c6aa3e4a86e9352b0230081502da09ef41dc0a164a1c6a31bd1338e359a28c78ef50c89f06a46b46a27d7245bba7468334625687201d62ef084de4c5190dfe70c14a318204492de6edd138e14e9337fda739dcadd0212302db7770de28d8c5c79b6a6b5f927e656e157cd7e41204ec39731fe3608ecd4b885a194647fe7f02b74639cc76cdf03":"827ef0810f71fc55" + +mbedtls_mpi_montg_init #15 +mpi_montg_init:"bf741f75e28a44e271cf43e68dbadd23c72d2f2e1fc78a6d6aaaadf2ccbf26c9a232aff5b3f3f29323b114f3018144ed9438943e07820e222137d3bb229b61671e61f75f6021a26436df9e669929fa392df021f105d2fce0717468a522018721ccde541b9a7b558128419f457ef33a5753f00c20c2d709727eef6278c55b278b10abe1d13e538514128b5dcb7bfd015e0fdcb081555071813974135d5ab5000630a94f5b0f4021a504ab4f3df2403e6140b9939f8bbe714635f5cff10744be03":"aab901da57bba355" + +mbedtls_mpi_core_get_mont_r2_unsafe_neg +mpi_core_get_mont_r2_unsafe_neg: + +mbedtls_mpi_core_get_mont_r2_unsafe #1 +mpi_core_get_mont_r2_unsafe:"f":"1":"1" + +mbedtls_mpi_core_get_mont_r2_unsafe #2 +mpi_core_get_mont_r2_unsafe:"fd":"ec":"24" + +mbedtls_mpi_core_get_mont_r2_unsafe #3 +mpi_core_get_mont_r2_unsafe:"eeff99aa37":"a23bd6a686":"a23bd6a686" + +mbedtls_mpi_core_get_mont_r2_unsafe #4 +mpi_core_get_mont_r2_unsafe:"eeff99aa11":"3308cb71":"3308cb71" + +mbedtls_mpi_core_get_mont_r2_unsafe #5 +mpi_core_get_mont_r2_unsafe:"800000000005":"6400000000":"6400000000" + +mbedtls_mpi_core_get_mont_r2_unsafe #6 +mpi_core_get_mont_r2_unsafe:"7fffffffffffffff":"4":"4" + +mbedtls_mpi_core_get_mont_r2_unsafe #7 +mpi_core_get_mont_r2_unsafe:"80fe000a10000001":"5dbc6e833bad575a":"5dbc6e833bad575a" + +mbedtls_mpi_core_get_mont_r2_unsafe #8 +mpi_core_get_mont_r2_unsafe:"25a55a46e5da99c71c7":"11637ce1347edeaf669":"1e455bf7451c05bc711" + +mbedtls_mpi_core_get_mont_r2_unsafe #9 +mpi_core_get_mont_r2_unsafe:"314dc643fb763f2b8c0e2de00879":"1058ad82120c3a10196bb36229c1":"1058ad82120c3a10196bb36229c1" + +mbedtls_mpi_core_get_mont_r2_unsafe #10 +mpi_core_get_mont_r2_unsafe:"8335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"5d96a26447dca0cb7209c048f9e63e8dc623d67c8f44396":"5d96a26447dca0cb7209c048f9e63e8dc623d67c8f44396" + +mbedtls_mpi_core_get_mont_r2_unsafe #11 +mpi_core_get_mont_r2_unsafe:"d1cece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"12d7243d92ebc8338221f6dcec8ad8a2ec64c10a98339c8721beb1cb79e629253a7aa35e25d5421e6c2b43ddc4310cf4443875c070a7a5a5cc2c4c3eefa8a133af2e477fb7bb5b5058c6120946a7f9f08f2fab51e2f243b9ba206d2bfd62e4ef647dda49100d7004794f28172be2d715905fbd2e9ab8588c774523c0e096b49b6855a10e5ce0d8498370949a29d71d293788bf10a71e2447d4b2f11959a72f7290e2950772d14c83f15532468745fa58a83fca8883b0b6169a27ec0cf922c4f39d283bb20fca5ff1de01d9c66b8a710108b951af634d56c843d9505bf2edd5a7b8f0b72a5c95672151e60075a78084e83fbe284617a90c74c8335cce38bb012e":"12d7243d92ebc8338221f6dcec8ad8a2ec64c10a98339c8721beb1cb79e629253a7aa35e25d5421e6c2b43ddc4310cf4443875c070a7a5a5cc2c4c3eefa8a133af2e477fb7bb5b5058c6120946a7f9f08f2fab51e2f243b9ba206d2bfd62e4ef647dda49100d7004794f28172be2d715905fbd2e9ab8588c774523c0e096b49b6855a10e5ce0d8498370949a29d71d293788bf10a71e2447d4b2f11959a72f7290e2950772d14c83f15532468745fa58a83fca8883b0b6169a27ec0cf922c4f39d283bb20fca5ff1de01d9c66b8a710108b951af634d56c843d9505bf2edd5a7b8f0b72a5c95672151e60075a78084e83fbe284617a90c74c8335cce38bb012e" + +Fill random core: 0 bytes +mpi_core_fill_random:0:0:1:0:0 + +Fill random core: 1 byte, RNG stops at 0 +mpi_core_fill_random:1:-1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random core: 1 byte, RNG just sufficient +mpi_core_fill_random:1:0:0:0:0 + +Fill random core: 1 byte, RNG not exhausted +mpi_core_fill_random:1:1:0:0:0 + +Fill random core: 1 byte, prior content nonzero +mpi_core_fill_random:1:0:0:0xba:0 + +Fill random core: 1 byte, 1 extra limb +mpi_core_fill_random:1:0:1:0:0 + +Fill random core: 1 byte, 1 extra limb, prior content nonzero +mpi_core_fill_random:1:0:1:0xba:0 + +Fill random core: 8 bytes, RNG stops before +mpi_core_fill_random:8:-1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random core: 8 bytes, RNG just sufficient +mpi_core_fill_random:8:0:0:0:0 + +Fill random core: 8 bytes, RNG not exhausted +mpi_core_fill_random:8:1:0:0:0 + +Fill random core: 8 bytes, prior content nonzero +mpi_core_fill_random:8:0:0:0xba:0 + +Fill random core: 8 bytes, 1 extra limb +mpi_core_fill_random:8:0:1:0:0 + +Fill random core: 8 bytes, 1 extra limb, prior content nonzero +mpi_core_fill_random:8:0:1:0xba:0 + +Fill random core: 9 bytes, 1 missing limb +mpi_core_fill_random:9:0:-1:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Fill random core: 42 bytes, RNG stops before +mpi_core_fill_random:42:-1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED + +Fill random core: 42 bytes, RNG just sufficient +mpi_core_fill_random:42:0:0:0:0 + +Fill random core: 42 bytes, RNG not exhausted +mpi_core_fill_random:42:1:0:0:0 + +Fill random core: 42 bytes, prior content nonzero +mpi_core_fill_random:42:0:0:0xba:0 + +Fill random core: 42 bytes, 1 extra limb +mpi_core_fill_random:42:0:1:0:0 + +Fill random core: 42 bytes, 1 extra limb, prior content nonzero +mpi_core_fill_random:42:0:1:0xba:0 + +Fill random core: 42 bytes, 1 missing limb +mpi_core_fill_random:42:0:-1:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Fill random core: 42 bytes, 5 missing limbs +mpi_core_fill_random:42:0:-5:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/tests/suites/test_suite_bignum_mod.data b/tests/suites/test_suite_bignum_mod.data new file mode 100644 index 0000000000..501d9d7d8b --- /dev/null +++ b/tests/suites/test_suite_bignum_mod.data @@ -0,0 +1,321 @@ +Test mbedtls_mpi_mod_setup #1 (Internal representation invalid) +mpi_mod_setup:MBEDTLS_MPI_MOD_REP_INVALID:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_mod_setup #6 (Optimised reduction) +mpi_mod_setup:MBEDTLS_MPI_MOD_REP_OPT_RED:0 + +Test mbedtls_mpi_mod_setup #7 (Montgomery representation) +mpi_mod_setup:MBEDTLS_MPI_MOD_REP_MONTGOMERY:0 + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +mpi_mod_sub base case for negative testing (N, a, b all >= 1 limb) +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"000000025a55a46e5da99c71c7":"00033b2e3c9fd0803ce8000f93":"013fe57440828b4a0008aa4159":0 + +mpi_mod_sub with modulus too long/both inputs too short +mpi_mod_sub:"0000000014320a022ccb75bdf470ddf25":"000000025a55a46e5da99c71c7":"00033b2e3c9fd0803ce8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mpi_mod_sub with first input too long +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"0000000000000025a55a46e5da99c71c7":"00033b2e3c9fd0803ce8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mpi_mod_sub with second input too long +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"000000025a55a46e5da99c71c7":"000000000033b2e3c9fd0803ce8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mpi_mod_sub with both inputs too long +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"0000000000000025a55a46e5da99c71c7":"000000000033b2e3c9fd0803ce8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mpi_mod_sub with first input too short +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"a99c71c7":"00033b2e3c9fd0803ce8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mpi_mod_sub with second input too short +mpi_mod_sub:"014320a022ccb75bdf470ddf25":"000000025a55a46e5da99c71c7":"e8000f93":"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 +Test mbedtls_mpi_residue_setup #1 m > r +mpi_residue_setup:"fe":"01":0 + +Test mbedtls_mpi_residue_setup #2 r == m - 1 +mpi_residue_setup:"ff":"fe":0 + +Test mbedtls_mpi_residue_setup #3 m->limbs = r-> limbs && m > r +mpi_residue_setup:"7dfe5c6":"fe":0 + +Test mbedtls_mpi_residue_setup #4 m->limbs = r-> limbs && m > r +mpi_residue_setup:"7ffffffffffffffffffffffffffffffffffffffffffffff1":"0000000000000000000000000000000000000000000000fe":0 + +Test mbedtls_mpi_residue_setup #5 m->limbs > r-> limbs && m > r +mpi_residue_setup:"7ffffffff00000000":"fe":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_residue_setup #6 m->limbs < r-> limbs && m > r +mpi_residue_setup:"ff":"000000000000000000000000000000000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_residue_setup #7 r == m +mpi_residue_setup:"fe":"fe":-4 + +Test mbedtls_mpi_residue_setup #8 r > m +mpi_residue_setup:"fe":"ff":-4 + +Test mbedtls_mpi_mod_io_neg #1 input_r < modulo m +mpi_mod_io_neg:"fe":"fd":0 + +Test mbedtls_mpi_mod_io_neg #2 input_r == modulo m +mpi_mod_io_neg:"fe":"fe":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_mod_io_neg #3 input_r > modulo m +mpi_mod_io_neg:"fe":"ff":MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +Test mbedtls_mpi_mod_io_neg #4 input_r too large to fit +mpi_mod_io_neg:"fe":"ffffffffffffffffff":MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL + +Test mbedtls_mpi_mod_io_neg #5 Sucesfull read / output buffer too small +mpi_mod_io_neg:"7ffffffffffffffffffffffffffffff1":"ffff":0 + +Test mbedtls_mpi_mod_io #1 N: "11" A: "119". +mpi_mod_io:"000000000000000b":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #2 N: "11" A: "136". +mpi_mod_io:"000000000000000b":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #3 N: "11" A: "119". +mpi_mod_io:"000000000000000b":"0000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #4 N: "11" A: "136". +mpi_mod_io:"000000000000000b":"0100000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #5 N: "140737488355333" A: "119". +mpi_mod_io:"0000800000000005":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #6 N: "140737488355333" A: "136". +mpi_mod_io:"0000800000000005":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #7 N: "140737488355333" A: "119". +mpi_mod_io:"0000800000000005":"0000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #8 N: "140737488355333" A: "136". +mpi_mod_io:"0000800000000005":"0100000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #9 N: "140737488355333" A: "119". +mpi_mod_io:"0000800000000005":"00000000000003ca":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #10 N: "140737488355333" A: "136". +mpi_mod_io:"0000800000000005":"ca03000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #11 N: "140737488355333" A: "119". +mpi_mod_io:"0000800000000005":"00000000539ed428":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #12 N: "140737488355333" A: "136". +mpi_mod_io:"0000800000000005":"28d49e5300000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #13 N: "9223372036854775807" A: "119". +mpi_mod_io:"7fffffffffffffff":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #14 N: "9223372036854775807" A: "136". +mpi_mod_io:"7fffffffffffffff":"0000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #15 N: "9223372036854775807" A: "119". +mpi_mod_io:"7fffffffffffffff":"0000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #16 N: "9223372036854775807" A: "136". +mpi_mod_io:"7fffffffffffffff":"0100000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #17 N: "9223372036854775807" A: "119". +mpi_mod_io:"7fffffffffffffff":"00000000000003ca":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #18 N: "9223372036854775807" A: "136". +mpi_mod_io:"7fffffffffffffff":"ca03000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #19 N: "9223372036854775807" A: "119". +mpi_mod_io:"7fffffffffffffff":"00000000539ed428":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #20 N: "9223372036854775807" A: "136". +mpi_mod_io:"7fffffffffffffff":"28d49e5300000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #21 N: "9223372036854775807" A: "119". +mpi_mod_io:"7fffffffffffffff":"7dfe5c6beb35a2d6":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #22 N: "9223372036854775807" A: "136". +mpi_mod_io:"7fffffffffffffff":"d6a235eb6b5cfe7d":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #23 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #24 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #25 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #26 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #27 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ca":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #28 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"ca030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #29 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000539ed428":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #30 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"28d49e53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #31 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007dfe5c6beb35a2d6":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #32 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"d6a235eb6b5cfe7d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #33 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dca8de1c2adfc6d7aafb9b48e":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #34 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"8eb4b9af7a6dfcadc2e18dca0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #35 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7d17b6c4be72f3d5c16bf9c1af6fc933":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #36 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"33c96fafc1f96bc1d5f372bec4b6177d0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #37 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fec97beec546f9553142ed52f147845463f579":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #38 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"79f563548447f152ed423155f946c5ee7bc9fe020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #39 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "119". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"00000000000000000000000000000000000000000000000000000000000000000000000000000000378dc83b8bc5a7b62cba495af4919578dce6d4f175cadc4f":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #40 N: "6610145858169835373800827072568987987787972943497619105736762797475099959212160692262984293277166612477845864397201463825139894315919781838969391314120587" A: "136". +mpi_mod_io:"7e35b84cb19ea5bc57ec37f5e431462fa962d98c1e63738d4657f18ad6532e6adc3eafe67f1e5fa262af94cee8d3e7268593942a2a98df75154f8c914a282f8b":"4fdcca75f1d4e6dc789591f45a49ba2cb6a7c58b3bc88d3700000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #41 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #42 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #43 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"000000000000000000000000000000000000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #44 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"010000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #45 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"0000000000000000000000000000000000000000000003ca":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #46 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"ca0300000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #47 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"0000000000000000000000000000000000000000539ed428":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #48 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"28d49e530000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #49 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"000000000000000000000000000000007dfe5c6beb35a2d6":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #50 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"d6a235eb6b5cfe7d00000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #51 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"00000000000000000000000dca8de1c2adfc6d7aafb9b48e":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #52 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"8eb4b9af7a6dfcadc2e18dca0d0000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #53 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"000000000000000a7d17b6c4be72f3d5c16bf9c1af6fc933":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #54 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"33c96fafc1f96bc1d5f372bec4b6177d0a00000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #55 N: "201076468338594879614802819276237850336264827391977454179" A: "119". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"0000000002fec97beec546f9553142ed52f147845463f579":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #56 N: "201076468338594879614802819276237850336264827391977454179" A: "136". +mpi_mod_io:"08335616aed761f1f7f44e6bd49e807b82e3bf2bf11bfa63":"79f563548447f152ed423155f946c5ee7bc9fe0200000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #57 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #58 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #59 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #60 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #61 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ca":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #62 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"ca030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #63 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000539ed428":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #64 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"28d49e53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #65 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007dfe5c6beb35a2d6":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #66 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"d6a235eb6b5cfe7d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #67 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dca8de1c2adfc6d7aafb9b48e":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #68 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"8eb4b9af7a6dfcadc2e18dca0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #69 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7d17b6c4be72f3d5c16bf9c1af6fc933":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #70 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"33c96fafc1f96bc1d5f372bec4b6177d0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #71 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fec97beec546f9553142ed52f147845463f579":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #72 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"79f563548447f152ed423155f946c5ee7bc9fe020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #73 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000378dc83b8bc5a7b62cba495af4919578dce6d4f175cadc4f":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #74 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"4fdcca75f1d4e6dc789591f45a49ba2cb6a7c58b3bc88d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_MPI_MOD_EXT_REP_LE + +Test mbedtls_mpi_mod_io #75 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "119". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"b6415f2a1a8e48a518345db11f56db3829c8f2c6415ab4a395ab3ac2ea4cbef4af86eb18a84eb6ded4c6ecbfc4b59c2879a675487f687adea9d197a84a5242a5cf6125ce19a6ad2e7341f1c57d43ea4f4c852a51cb63dabcd1c9de2b827a3146a3d175b35bea41ae75d2a286a3e9d43623152ac513dcdea1d72a7da846a8ab358d9be4926c79cfb287cf1cf25b689de3b912176be5dcaf4d4c6e7cb839a4a3243a6c47c1e2c99d65c59d6fa3672575c2f1ca8de6a32e854ec9d8ec635c96af7679fce26d7d159e4a9da3bd74e1272c376cd926d74fe3fb164a5935cff3d5cdb92b35fe2cea32138a7e6bfbc319ebd1725dacb9a359cbf693f2ecb785efb9d627":MBEDTLS_MPI_MOD_EXT_REP_BE + +Test mbedtls_mpi_mod_io #76 N: "32292747613635961694771916499883650667878589411552643628627186850993060141490368296439843252993342320145797691611646027435006878234727648863911408777308953382400333083852585109256846643097239747078406546553406955958288616728627292699264194880486908744773379992784153004816057528456043920098334713005039494478693892693017304730883448003944721685094014669042959451482141781404822386404101555113742346277194830729517252154824958327000717338180410404929239489607893939166712107274943411892079802406181464789204374234653633818543559183821503846194953493439237710780169796543565449952151334229364816621060143650318299210551" A: "136". +mpi_mod_io:"ffcece570f2f991013f26dd5b03c4c5b65f97be5905f36cb4664f2c78ff80aa8135a4aaf57ccb8a0aca2f394909a74cef1ef6758a64d11e2c149c393659d124bfc94196f0ce88f7d7d567efa5a649e2deefaa6e10fdc3deac60d606bf63fc540ac95294347031aefd73d6a9ee10188aaeb7a90d920894553cb196881691cadc51808715a07e8b24fcb1a63df047c7cdf084dd177ba368c806f3d51ddb5d3898c863e687ecaf7d649a57a46264a582f94d3c8f2edaf59f77a7f6bdaf83c991e8f06abe220ec8507386fce8c3da84c6c3903ab8f3ad4630a204196a7dbcbd9bcca4e40ec5cc5c09938d49f5e1e6181db8896f33bb12e6ef73f12ec5c5ea7a8a337":"27d6b9ef85b7ecf293f6cb59a3b9ac5d72d1eb19c3fb6b7e8a1332ea2cfe352bb9cdd5f3cf35594a16fbe34fd726d96c372c27e174bda39d4a9e157d6de2fc7976af965c63ecd8c94e852ea3e68dcaf1c2752567a36f9dc5659dc9e2c1476c3a24a3a439b87c6e4c4dafdce56b1712b9e39d685bf21ccf87b2cf796c92e49b8d35aba846a87d2ad7a1dedc13c52a152336d4e9a386a2d275ae41ea5bb375d1a346317a822bdec9d1bcda63cb512a854c4fea437dc5f141732eada619ce2561cfa542524aa897d1a9de7a687f4875a679289cb5c4bfecc6d4deb64ea818eb86aff4be4ceac23aab95a3b45a41c6f2c82938db561fb15d3418a5488e1a2a5f41b6":MBEDTLS_MPI_MOD_EXT_REP_LE diff --git a/tests/suites/test_suite_bignum_mod.function b/tests/suites/test_suite_bignum_mod.function new file mode 100644 index 0000000000..0d2e232f91 --- /dev/null +++ b/tests/suites/test_suite_bignum_mod.function @@ -0,0 +1,441 @@ +/* BEGIN_HEADER */ +#include "mbedtls/bignum.h" +#include "mbedtls/entropy.h" +#include "bignum_mod.h" +#include "constant_time_internal.h" +#include "test/constant_flow.h" + +#define TEST_COMPARE_MPI_RESIDUES( a, b ) \ + ASSERT_COMPARE( (a).p, (a).limbs * sizeof(mbedtls_mpi_uint), \ + (b).p, (b).limbs * sizeof(mbedtls_mpi_uint) ) + +static int test_read_modulus( mbedtls_mpi_mod_modulus *m, + mbedtls_mpi_mod_rep_selector int_rep, + char *input ) +{ + mbedtls_mpi_uint *p = NULL; + size_t limbs; + + int ret = mbedtls_test_read_mpi_core( &p, &limbs, input ); + if( ret != 0 ) + return( ret ); + + return( mbedtls_mpi_mod_modulus_setup( m, p, limbs, int_rep ) ); +} + +static int test_read_residue( mbedtls_mpi_mod_residue *r, + const mbedtls_mpi_mod_modulus *m, + char *input, + int skip_limbs_and_value_checks ) +{ + mbedtls_mpi_uint *p = NULL; + size_t limbs; + + int ret = mbedtls_test_read_mpi_core( &p, &limbs, input ); + if( ret != 0 ) + return( ret ); + + if( skip_limbs_and_value_checks ) + { + r->p = p; + r->limbs = limbs; + return( 0 ); + } + + /* mbedtls_mpi_mod_residue_setup() checks limbs, and that value < m */ + return( mbedtls_mpi_mod_residue_setup( r, m, p, limbs ) ); +} +/* END_HEADER */ + +/* BEGIN_DEPENDENCIES + * depends_on:MBEDTLS_BIGNUM_C + * END_DEPENDENCIES + */ + +/* BEGIN_CASE */ +void mpi_mod_setup( 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, int_rep ); + TEST_EQUAL( ret, iret ); + + /* Only test if the constants have been set-up */ + if ( ret == 0 && int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY ) + { + /* Test that the consts have been calculated */ + TEST_ASSERT( m.rep.mont.rr != NULL ); + TEST_ASSERT( m.rep.mont.mm != 0 ); + + } + + /* 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 ); + + /* Only test if the constants have been set-up */ + if ( ret == 0 && int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY ) + { + /* Verify the data and pointers allocated have been properly wiped */ + TEST_ASSERT( m.rep.mont.rr == NULL ); + TEST_ASSERT( m.rep.mont.mm == 0 ); + } +exit: + /* It should be safe to call an mbedtls free several times */ + mbedtls_mpi_mod_modulus_free( &m ); + + #undef MLIMBS +} +/* END_CASE */ + +/* BEGIN MERGE SLOT 1 */ + +/* END MERGE SLOT 1 */ + +/* BEGIN MERGE SLOT 2 */ + +/* END MERGE SLOT 2 */ + +/* BEGIN MERGE SLOT 3 */ +/* BEGIN_CASE */ +void mpi_mod_sub( char * input_N, + char * input_A, char * input_B, + char * input_D, int oret ) +{ + mbedtls_mpi_mod_residue a = { NULL, 0 }; + mbedtls_mpi_mod_residue b = { NULL, 0 }; + mbedtls_mpi_mod_residue d = { NULL, 0 }; + mbedtls_mpi_mod_residue x = { NULL, 0 }; + mbedtls_mpi_uint *X_raw = NULL; + + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init( &m ); + + TEST_EQUAL( 0, + test_read_modulus( &m, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N ) ); + + /* test_read_residue() normally checks that inputs have the same number of + * limbs as the modulus. For negative testing we can ask it to skip this + * with a non-zero final parameter. */ + TEST_EQUAL( 0, test_read_residue( &a, &m, input_A, oret != 0 ) ); + TEST_EQUAL( 0, test_read_residue( &b, &m, input_B, oret != 0 ) ); + TEST_EQUAL( 0, test_read_residue( &d, &m, input_D, oret != 0 ) ); + + size_t limbs = m.limbs; + size_t bytes = limbs * sizeof( *X_raw ); + + /* One spare limb for negative testing */ + ASSERT_ALLOC( X_raw, limbs + 1 ); + + if( oret == 0 ) + { + /* Sneak in a couple of negative tests on known-good data */ + + /* First, negative test with too many limbs in output */ + x.p = X_raw; + x.limbs = limbs + 1; + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_sub( &x, &a, &b, &m ) ); + + /* Then negative test with too few limbs in output */ + if( limbs > 1 ) + { + x.p = X_raw; + x.limbs = limbs - 1; + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_sub( &x, &a, &b, &m ) ); + } + + /* Negative testing with too many/too few limbs in a and b is covered by + * manually-written test cases with oret != 0. */ + + /* Back to the normally-scheduled programme */ + } + + TEST_EQUAL( 0, mbedtls_mpi_mod_residue_setup( &x, &m, X_raw, limbs ) ); + + /* a - b => Correct result, or expected error */ + TEST_EQUAL( oret, mbedtls_mpi_mod_sub( &x, &a, &b, &m ) ); + if( oret != 0 ) + goto exit; + + TEST_COMPARE_MPI_RESIDUES( x, d ); + + /* a - b: alias x to a => Correct result */ + memcpy( x.p, a.p, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_mod_sub( &x, &x, &b, &m ) ); + TEST_COMPARE_MPI_RESIDUES( x, d ); + + /* a - b: alias x to b => Correct result */ + memcpy( x.p, b.p, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_mod_sub( &x, &a, &x, &m ) ); + TEST_COMPARE_MPI_RESIDUES( x, d ); + + if ( memcmp( a.p, b.p, bytes ) == 0 ) + { + /* a == b: alias a and b */ + + /* a - a => Correct result */ + TEST_EQUAL( 0, mbedtls_mpi_mod_sub( &x, &a, &a, &m ) ); + TEST_COMPARE_MPI_RESIDUES( x, d ); + + /* a - a: x, a, b all aliased together => Correct result */ + memcpy( x.p, a.p, bytes ); + TEST_EQUAL( 0, mbedtls_mpi_mod_sub( &x, &x, &x, &m ) ); + TEST_COMPARE_MPI_RESIDUES( x, d ); + } + +exit: + mbedtls_free( (void *)m.p ); /* mbedtls_mpi_mod_modulus_free() sets m.p = NULL */ + mbedtls_mpi_mod_modulus_free( &m ); + + mbedtls_free( a.p ); + mbedtls_free( b.p ); + mbedtls_free( d.p ); + mbedtls_free( X_raw ); +} +/* END_CASE */ +/* END MERGE SLOT 3 */ + +/* BEGIN MERGE SLOT 4 */ + +/* END MERGE SLOT 4 */ + +/* BEGIN MERGE SLOT 5 */ + +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +/* BEGIN_CASE */ +void mpi_residue_setup( char * input_N, char * input_R, int ret ) +{ + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *R = NULL; + size_t n_limbs, r_limbs; + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_residue r; + + mbedtls_mpi_mod_modulus_init( &m ); + + /* Allocate the memory for intermediate data structures */ + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &n_limbs, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &R, &r_limbs, input_R ) ); + + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N, n_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + TEST_EQUAL( ret, mbedtls_mpi_mod_residue_setup( &r, &m, R , r_limbs ) ); + + if ( ret == 0 ) + { + TEST_EQUAL( r.limbs, r_limbs ); + TEST_ASSERT( r.p == R ); + } + +exit: + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_free( N ); + mbedtls_free( R ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_mod_io_neg( char * input_N, data_t * buf, int ret ) +{ + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *R = NULL; + + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_residue r = { NULL, 0 }; + mbedtls_mpi_mod_ext_rep endian = MBEDTLS_MPI_MOD_EXT_REP_LE; + + mbedtls_mpi_mod_modulus_init( &m ); + + size_t n_limbs; + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &n_limbs, input_N ) ); + size_t r_limbs = n_limbs; + ASSERT_ALLOC( R, r_limbs ); + + /* modulus->p == NULL || residue->p == NULL ( m has not been set-up ) */ + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) ); + + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) ); + + /* Set up modulus and test with residue->p == NULL */ + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N, n_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) ); + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) ); + + /* Do the rest of the tests with a residue set up with the input data */ + TEST_EQUAL( 0, mbedtls_mpi_mod_residue_setup( &r, &m, R , r_limbs ) ); + + /* Fail for r_limbs < m->limbs */ + r.limbs--; + TEST_ASSERT( r.limbs < m.limbs ); + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) ); + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) ); + r.limbs++; + + /* Fail for r_limbs > m->limbs */ + m.limbs--; + TEST_ASSERT( r.limbs > m.limbs ); + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) ); + TEST_EQUAL( MBEDTLS_ERR_MPI_BAD_INPUT_DATA, + mbedtls_mpi_mod_write( &r, &m, buf->x, buf->len, endian ) ); + m.limbs++; + + /* Test the read */ + TEST_EQUAL( ret, mbedtls_mpi_mod_read( &r, &m, buf->x, buf->len, endian ) ); + + /* Test write overflow only when the representation is large and read is successful */ + if ( r.limbs > 1 && ret == 0 ) + TEST_EQUAL( MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL, + mbedtls_mpi_mod_write( &r, &m, buf->x, 1, endian ) ); + +exit: + mbedtls_mpi_mod_residue_release( &r ); + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_free( N ); + mbedtls_free( R ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_mod_io( char * input_N, data_t * input_A, int endian ) +{ + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *R = NULL; + mbedtls_mpi_uint *R_COPY = NULL; + unsigned char *obuf = NULL; + unsigned char *ref_buf = NULL; + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_residue r; + mbedtls_mpi_mod_residue r_copy; + size_t n_limbs, n_bytes, a_bytes; + + mbedtls_mpi_mod_modulus_init( &m ); + + /* Read inputs */ + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &n_limbs, input_N ) ); + n_bytes = n_limbs * sizeof( mbedtls_mpi_uint ); + a_bytes = input_A->len; + + /* Allocate the memory for intermediate data structures */ + ASSERT_ALLOC( R, n_bytes ); + ASSERT_ALLOC( R_COPY, n_bytes ); + + /* Test that input's size is not greater to modulo's */ + TEST_LE_U( a_bytes, n_bytes ); + + /* Init Structures */ + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N, n_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + /* Enforcing p_limbs >= m->limbs */ + TEST_EQUAL( 0, mbedtls_mpi_mod_residue_setup( &r, &m, R, n_limbs ) ); + + TEST_EQUAL( 0, mbedtls_mpi_mod_read( &r, &m, input_A->x, input_A->len, + endian ) ); + + /* Read a copy for checking that writing didn't change the value of r */ + TEST_EQUAL( 0, mbedtls_mpi_mod_residue_setup( &r_copy, &m, + R_COPY, n_limbs ) ); + TEST_EQUAL( 0, mbedtls_mpi_mod_read( &r_copy, &m, input_A->x, input_A->len, + endian ) ); + + /* Get number of bytes without leading zeroes */ + size_t a_bytes_trimmed = a_bytes; + while( a_bytes_trimmed > 0 ) + { + unsigned char* r_byte_array = (unsigned char*) r.p; + if( r_byte_array[--a_bytes_trimmed] != 0 ) + break; + } + a_bytes_trimmed++; + + /* Test write with three output buffer sizes: tight, same as input and + * longer than the input */ + size_t obuf_sizes[3]; + const size_t obuf_sizes_len = sizeof( obuf_sizes ) / sizeof( obuf_sizes[0] ); + obuf_sizes[0] = a_bytes_trimmed; + obuf_sizes[1] = a_bytes; + obuf_sizes[2] = a_bytes + 8; + + for( size_t i = 0; i < obuf_sizes_len; i++ ) + { + ASSERT_ALLOC( obuf, obuf_sizes[i] ); + TEST_EQUAL( 0, mbedtls_mpi_mod_write( &r, &m, obuf, obuf_sizes[i], endian ) ); + + /* Make sure that writing didn't corrupt the value of r */ + ASSERT_COMPARE( r.p, r.limbs, r_copy.p, r_copy.limbs ); + + /* Set up reference output for checking the result */ + ASSERT_ALLOC( ref_buf, obuf_sizes[i] ); + switch( endian ) + { + case MBEDTLS_MPI_MOD_EXT_REP_LE: + memcpy( ref_buf, input_A->x, a_bytes_trimmed ); + break; + case MBEDTLS_MPI_MOD_EXT_REP_BE: + { + size_t a_offset = input_A->len - a_bytes_trimmed; + size_t ref_offset = obuf_sizes[i] - a_bytes_trimmed; + memcpy( ref_buf + ref_offset, input_A->x + a_offset, + a_bytes_trimmed ); + } + break; + default: + TEST_ASSERT( 0 ); + } + + /* Check the result */ + ASSERT_COMPARE( obuf, obuf_sizes[i], ref_buf, obuf_sizes[i] ); + + mbedtls_free( ref_buf ); + ref_buf = NULL; + mbedtls_free( obuf ); + obuf = NULL; + } + +exit: + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_free( N ); + mbedtls_free( R ); + mbedtls_free( R_COPY ); + mbedtls_free( obuf ); +} +/* END_CASE */ +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ diff --git a/tests/suites/test_suite_bignum_mod.generated.data b/tests/suites/test_suite_bignum_mod.generated.data new file mode 100644 index 0000000000..713798e0c4 --- /dev/null +++ b/tests/suites/test_suite_bignum_mod.generated.data @@ -0,0 +1,1380 @@ +# Automatically generated by generate_bignum_tests.py. Do not edit! + +mbedtls_mpi_mod_sub #1 0 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000000":"0000000000000000":0 + +mbedtls_mpi_mod_sub #2 0 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000001":"0000000000000052":0 + +mbedtls_mpi_mod_sub #3 0 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000002":"0000000000000051":0 + +mbedtls_mpi_mod_sub #4 0 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000003":"0000000000000050":0 + +mbedtls_mpi_mod_sub #5 0 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000004":"000000000000004f":0 + +mbedtls_mpi_mod_sub #6 0 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000000":"0000000000000038":"000000000000001b":0 + +mbedtls_mpi_mod_sub #14 1 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000000":"0000000000000001":0 + +mbedtls_mpi_mod_sub #15 1 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000001":"0000000000000000":0 + +mbedtls_mpi_mod_sub #16 1 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000002":"0000000000000052":0 + +mbedtls_mpi_mod_sub #17 1 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000003":"0000000000000051":0 + +mbedtls_mpi_mod_sub #18 1 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000004":"0000000000000050":0 + +mbedtls_mpi_mod_sub #19 1 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000001":"0000000000000038":"000000000000001c":0 + +mbedtls_mpi_mod_sub #27 2 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000000":"0000000000000002":0 + +mbedtls_mpi_mod_sub #28 2 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000001":"0000000000000001":0 + +mbedtls_mpi_mod_sub #29 2 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000002":"0000000000000000":0 + +mbedtls_mpi_mod_sub #30 2 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000003":"0000000000000052":0 + +mbedtls_mpi_mod_sub #31 2 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000004":"0000000000000051":0 + +mbedtls_mpi_mod_sub #32 2 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000002":"0000000000000038":"000000000000001d":0 + +mbedtls_mpi_mod_sub #40 3 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000000":"0000000000000003":0 + +mbedtls_mpi_mod_sub #41 3 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000001":"0000000000000002":0 + +mbedtls_mpi_mod_sub #42 3 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000002":"0000000000000001":0 + +mbedtls_mpi_mod_sub #43 3 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000003":"0000000000000000":0 + +mbedtls_mpi_mod_sub #44 3 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000004":"0000000000000052":0 + +mbedtls_mpi_mod_sub #45 3 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000003":"0000000000000038":"000000000000001e":0 + +mbedtls_mpi_mod_sub #53 4 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000000":"0000000000000004":0 + +mbedtls_mpi_mod_sub #54 4 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000001":"0000000000000003":0 + +mbedtls_mpi_mod_sub #55 4 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000002":"0000000000000002":0 + +mbedtls_mpi_mod_sub #56 4 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000003":"0000000000000001":0 + +mbedtls_mpi_mod_sub #57 4 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000004":"0000000000000000":0 + +mbedtls_mpi_mod_sub #58 4 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000004":"0000000000000038":"000000000000001f":0 + +mbedtls_mpi_mod_sub #66 38 - 0 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000000":"0000000000000038":0 + +mbedtls_mpi_mod_sub #67 38 - 1 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000001":"0000000000000037":0 + +mbedtls_mpi_mod_sub #68 38 - 2 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000002":"0000000000000036":0 + +mbedtls_mpi_mod_sub #69 38 - 3 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000003":"0000000000000035":0 + +mbedtls_mpi_mod_sub #70 38 - 4 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000004":"0000000000000034":0 + +mbedtls_mpi_mod_sub #71 38 - 38 mod 53 +mpi_mod_sub:"0000000000000053":"0000000000000038":"0000000000000038":"0000000000000000":0 + +mbedtls_mpi_mod_sub #170 0 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000000":"0000000000000000":0 + +mbedtls_mpi_mod_sub #171 0 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000001":"0000000000000044":0 + +mbedtls_mpi_mod_sub #172 0 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000002":"0000000000000043":0 + +mbedtls_mpi_mod_sub #173 0 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000003":"0000000000000042":0 + +mbedtls_mpi_mod_sub #174 0 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000004":"0000000000000041":0 + +mbedtls_mpi_mod_sub #175 0 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000000":"0000000000000038":"000000000000000d":0 + +mbedtls_mpi_mod_sub #183 1 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000000":"0000000000000001":0 + +mbedtls_mpi_mod_sub #184 1 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000001":"0000000000000000":0 + +mbedtls_mpi_mod_sub #185 1 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000002":"0000000000000044":0 + +mbedtls_mpi_mod_sub #186 1 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000003":"0000000000000043":0 + +mbedtls_mpi_mod_sub #187 1 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000004":"0000000000000042":0 + +mbedtls_mpi_mod_sub #188 1 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000001":"0000000000000038":"000000000000000e":0 + +mbedtls_mpi_mod_sub #196 2 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000000":"0000000000000002":0 + +mbedtls_mpi_mod_sub #197 2 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000001":"0000000000000001":0 + +mbedtls_mpi_mod_sub #198 2 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000002":"0000000000000000":0 + +mbedtls_mpi_mod_sub #199 2 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000003":"0000000000000044":0 + +mbedtls_mpi_mod_sub #200 2 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000004":"0000000000000043":0 + +mbedtls_mpi_mod_sub #201 2 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000002":"0000000000000038":"000000000000000f":0 + +mbedtls_mpi_mod_sub #209 3 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000000":"0000000000000003":0 + +mbedtls_mpi_mod_sub #210 3 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000001":"0000000000000002":0 + +mbedtls_mpi_mod_sub #211 3 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000002":"0000000000000001":0 + +mbedtls_mpi_mod_sub #212 3 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000003":"0000000000000000":0 + +mbedtls_mpi_mod_sub #213 3 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000004":"0000000000000044":0 + +mbedtls_mpi_mod_sub #214 3 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000003":"0000000000000038":"0000000000000010":0 + +mbedtls_mpi_mod_sub #222 4 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000000":"0000000000000004":0 + +mbedtls_mpi_mod_sub #223 4 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000001":"0000000000000003":0 + +mbedtls_mpi_mod_sub #224 4 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000002":"0000000000000002":0 + +mbedtls_mpi_mod_sub #225 4 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000003":"0000000000000001":0 + +mbedtls_mpi_mod_sub #226 4 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000004":"0000000000000000":0 + +mbedtls_mpi_mod_sub #227 4 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000004":"0000000000000038":"0000000000000011":0 + +mbedtls_mpi_mod_sub #235 38 - 0 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000000":"0000000000000038":0 + +mbedtls_mpi_mod_sub #236 38 - 1 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000001":"0000000000000037":0 + +mbedtls_mpi_mod_sub #237 38 - 2 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000002":"0000000000000036":0 + +mbedtls_mpi_mod_sub #238 38 - 3 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000003":"0000000000000035":0 + +mbedtls_mpi_mod_sub #239 38 - 4 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000004":"0000000000000034":0 + +mbedtls_mpi_mod_sub #240 38 - 38 mod 45 +mpi_mod_sub:"0000000000000045":"0000000000000038":"0000000000000038":"0000000000000000":0 + +mbedtls_mpi_mod_sub #339 0 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #340 0 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #341 0 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #342 0 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_mod_sub #343 0 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mbedtls_mpi_mod_sub #344 0 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mbedtls_mpi_mod_sub #346 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":0 + +mbedtls_mpi_mod_sub #347 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":0 + +mbedtls_mpi_mod_sub #352 1 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #353 1 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #354 1 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #355 1 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #356 1 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_mod_sub #357 1 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb724":0 + +mbedtls_mpi_mod_sub #359 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de9":0 + +mbedtls_mpi_mod_sub #360 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7f":0 + +mbedtls_mpi_mod_sub #365 2 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #366 2 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #367 2 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #368 2 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #369 2 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #370 2 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb725":0 + +mbedtls_mpi_mod_sub #372 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10dea":0 + +mbedtls_mpi_mod_sub #373 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b80":0 + +mbedtls_mpi_mod_sub #378 3 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #379 3 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #380 3 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #381 3 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #382 3 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #383 3 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb726":0 + +mbedtls_mpi_mod_sub #385 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10deb":0 + +mbedtls_mpi_mod_sub #386 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b81":0 + +mbedtls_mpi_mod_sub #391 4 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":0 + +mbedtls_mpi_mod_sub #392 4 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #393 4 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #394 4 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #395 4 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #396 4 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb727":0 + +mbedtls_mpi_mod_sub #398 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10dec":0 + +mbedtls_mpi_mod_sub #399 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b82":0 + +mbedtls_mpi_mod_sub #404 38 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":0 + +mbedtls_mpi_mod_sub #405 38 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000037":0 + +mbedtls_mpi_mod_sub #406 38 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000036":0 + +mbedtls_mpi_mod_sub #407 38 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000035":0 + +mbedtls_mpi_mod_sub #408 38 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000034":0 + +mbedtls_mpi_mod_sub #409 38 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #411 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10e20":0 + +mbedtls_mpi_mod_sub #412 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58bb6":0 + +mbedtls_mpi_mod_sub #430 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mbedtls_mpi_mod_sub #431 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mbedtls_mpi_mod_sub #432 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mbedtls_mpi_mod_sub #433 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mbedtls_mpi_mod_sub #434 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mbedtls_mpi_mod_sub #435 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mbedtls_mpi_mod_sub #437 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #438 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"1a1b1e79b98a062b31179f87ab7c8078662a5b3f169434f1":0 + +mbedtls_mpi_mod_sub #443 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mbedtls_mpi_mod_sub #444 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mbedtls_mpi_mod_sub #445 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mbedtls_mpi_mod_sub #446 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mbedtls_mpi_mod_sub #447 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mbedtls_mpi_mod_sub #448 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mbedtls_mpi_mod_sub #450 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":0 + +mbedtls_mpi_mod_sub #451 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #508 0 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #509 0 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0":0 + +mbedtls_mpi_mod_sub #510 0 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf":0 + +mbedtls_mpi_mod_sub #511 0 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bce":0 + +mbedtls_mpi_mod_sub #512 0 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bcd":0 + +mbedtls_mpi_mod_sub #513 0 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575b99":0 + +mbedtls_mpi_mod_sub #514 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a476":0 + +mbedtls_mpi_mod_sub #515 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b25e":0 + +mbedtls_mpi_mod_sub #516 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff4":0 + +mbedtls_mpi_mod_sub #521 1 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #522 1 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #523 1 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0":0 + +mbedtls_mpi_mod_sub #524 1 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf":0 + +mbedtls_mpi_mod_sub #525 1 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bce":0 + +mbedtls_mpi_mod_sub #526 1 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575b9a":0 + +mbedtls_mpi_mod_sub #527 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a477":0 + +mbedtls_mpi_mod_sub #528 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b25f":0 + +mbedtls_mpi_mod_sub #529 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff5":0 + +mbedtls_mpi_mod_sub #534 2 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #535 2 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #536 2 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #537 2 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0":0 + +mbedtls_mpi_mod_sub #538 2 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf":0 + +mbedtls_mpi_mod_sub #539 2 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575b9b":0 + +mbedtls_mpi_mod_sub #540 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a478":0 + +mbedtls_mpi_mod_sub #541 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b260":0 + +mbedtls_mpi_mod_sub #542 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff6":0 + +mbedtls_mpi_mod_sub #547 3 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #548 3 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #549 3 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #550 3 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #551 3 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0":0 + +mbedtls_mpi_mod_sub #552 3 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575b9c":0 + +mbedtls_mpi_mod_sub #553 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a479":0 + +mbedtls_mpi_mod_sub #554 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b261":0 + +mbedtls_mpi_mod_sub #555 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff7":0 + +mbedtls_mpi_mod_sub #560 4 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":0 + +mbedtls_mpi_mod_sub #561 4 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #562 4 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #563 4 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #564 4 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #565 4 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575b9d":0 + +mbedtls_mpi_mod_sub #566 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a47a":0 + +mbedtls_mpi_mod_sub #567 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b262":0 + +mbedtls_mpi_mod_sub #568 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff8":0 + +mbedtls_mpi_mod_sub #573 38 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":0 + +mbedtls_mpi_mod_sub #574 38 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000037":0 + +mbedtls_mpi_mod_sub #575 38 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000036":0 + +mbedtls_mpi_mod_sub #576 38 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000035":0 + +mbedtls_mpi_mod_sub #577 38 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000034":0 + +mbedtls_mpi_mod_sub #578 38 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #579 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a4ae":0 + +mbedtls_mpi_mod_sub #580 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b296":0 + +mbedtls_mpi_mod_sub #581 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"30d56f356c234009831d1630bee6882bacb7a13d859d302c":0 + +mbedtls_mpi_mod_sub #586 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mbedtls_mpi_mod_sub #587 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #588 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #589 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_mod_sub #590 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mbedtls_mpi_mod_sub #591 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mbedtls_mpi_mod_sub #592 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #593 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":0 + +mbedtls_mpi_mod_sub #594 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":0 + +mbedtls_mpi_mod_sub #599 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mbedtls_mpi_mod_sub #600 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mbedtls_mpi_mod_sub #601 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mbedtls_mpi_mod_sub #602 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mbedtls_mpi_mod_sub #603 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mbedtls_mpi_mod_sub #604 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mbedtls_mpi_mod_sub #605 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"459e8461cf8d871e04bcd63af8b3acab0076bd3258864de9":0 + +mbedtls_mpi_mod_sub #606 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #607 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"484789087a9d66a95c78c5f9b18b5aa789ac5cd77a5bd967":0 + +mbedtls_mpi_mod_sub #612 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mbedtls_mpi_mod_sub #613 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mbedtls_mpi_mod_sub #614 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mbedtls_mpi_mod_sub #615 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mbedtls_mpi_mod_sub #616 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mbedtls_mpi_mod_sub #617 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mbedtls_mpi_mod_sub #618 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"fd448d8e7d7be7f656aa36b6dbf21b537ff044cf7981d053":0 + +mbedtls_mpi_mod_sub #619 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":0 + +mbedtls_mpi_mod_sub #620 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_sub:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #677 0 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #678 0 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mbedtls_mpi_mod_sub #679 0 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mbedtls_mpi_mod_sub #680 0 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":0 + +mbedtls_mpi_mod_sub #681 0 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f":0 + +mbedtls_mpi_mod_sub #682 0 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb":0 + +mbedtls_mpi_mod_sub #683 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac8":0 + +mbedtls_mpi_mod_sub #684 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b0":0 + +mbedtls_mpi_mod_sub #685 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32646":0 + +mbedtls_mpi_mod_sub #687 0 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4c":0 + +mbedtls_mpi_mod_sub #688 0 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234d":0 + +mbedtls_mpi_mod_sub #690 1 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #691 1 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #692 1 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mbedtls_mpi_mod_sub #693 1 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mbedtls_mpi_mod_sub #694 1 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220":0 + +mbedtls_mpi_mod_sub #695 1 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ec":0 + +mbedtls_mpi_mod_sub #696 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac9":0 + +mbedtls_mpi_mod_sub #697 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b1":0 + +mbedtls_mpi_mod_sub #698 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32647":0 + +mbedtls_mpi_mod_sub #700 1 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4d":0 + +mbedtls_mpi_mod_sub #701 1 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234e":0 + +mbedtls_mpi_mod_sub #703 2 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #704 2 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #705 2 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #706 2 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mbedtls_mpi_mod_sub #707 2 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221":0 + +mbedtls_mpi_mod_sub #708 2 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ed":0 + +mbedtls_mpi_mod_sub #709 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9aca":0 + +mbedtls_mpi_mod_sub #710 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b2":0 + +mbedtls_mpi_mod_sub #711 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32648":0 + +mbedtls_mpi_mod_sub #713 2 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4e":0 + +mbedtls_mpi_mod_sub #714 2 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234f":0 + +mbedtls_mpi_mod_sub #716 3 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #717 3 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #718 3 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #719 3 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #720 3 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222":0 + +mbedtls_mpi_mod_sub #721 3 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ee":0 + +mbedtls_mpi_mod_sub #722 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9acb":0 + +mbedtls_mpi_mod_sub #723 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b3":0 + +mbedtls_mpi_mod_sub #724 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32649":0 + +mbedtls_mpi_mod_sub #726 3 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4f":0 + +mbedtls_mpi_mod_sub #727 3 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2350":0 + +mbedtls_mpi_mod_sub #729 4 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":0 + +mbedtls_mpi_mod_sub #730 4 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #731 4 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #732 4 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #733 4 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #734 4 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ef":0 + +mbedtls_mpi_mod_sub #735 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9acc":0 + +mbedtls_mpi_mod_sub #736 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b4":0 + +mbedtls_mpi_mod_sub #737 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f3264a":0 + +mbedtls_mpi_mod_sub #739 4 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac50":0 + +mbedtls_mpi_mod_sub #740 4 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2351":0 + +mbedtls_mpi_mod_sub #742 38 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":0 + +mbedtls_mpi_mod_sub #743 38 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037":0 + +mbedtls_mpi_mod_sub #744 38 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036":0 + +mbedtls_mpi_mod_sub #745 38 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035":0 + +mbedtls_mpi_mod_sub #746 38 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034":0 + +mbedtls_mpi_mod_sub #747 38 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #748 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9b00":0 + +mbedtls_mpi_mod_sub #749 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8e8":0 + +mbedtls_mpi_mod_sub #750 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f3267e":0 + +mbedtls_mpi_mod_sub #752 38 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac84":0 + +mbedtls_mpi_mod_sub #753 38 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2385":0 + +mbedtls_mpi_mod_sub #755 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mbedtls_mpi_mod_sub #756 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #757 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #758 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_mod_sub #759 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mbedtls_mpi_mod_sub #760 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mbedtls_mpi_mod_sub #761 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #762 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":0 + +mbedtls_mpi_mod_sub #763 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":0 + +mbedtls_mpi_mod_sub #765 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40541f3661f3e2e69b6dc34a2c2577c04dc1fb2824cf1cf63a7":0 + +mbedtls_mpi_mod_sub #766 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb8e5629c6c17606cd6a3a1d0829454bcd39bf6b6783efbdaa8":0 + +mbedtls_mpi_mod_sub #768 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mbedtls_mpi_mod_sub #769 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mbedtls_mpi_mod_sub #770 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mbedtls_mpi_mod_sub #771 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mbedtls_mpi_mod_sub #772 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mbedtls_mpi_mod_sub #773 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mbedtls_mpi_mod_sub #774 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e307af6e8e31bd4f96827fe5147140fdd7f04722ab3dc443b":0 + +mbedtls_mpi_mod_sub #775 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #776 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e3323fb8f8e2bb484bfe3ee0fffebbdda083a11cfd5b1cfb9":0 + +mbedtls_mpi_mod_sub #778 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40487a4584be5302953328b5287bb65e83717035b0aaefe55bf":0 + +mbedtls_mpi_mod_sub #779 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb82b138e98be622c72f9f88047f83ea02e93478f35fc2accc0":0 + +mbedtls_mpi_mod_sub #781 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mbedtls_mpi_mod_sub #782 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mbedtls_mpi_mod_sub #783 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mbedtls_mpi_mod_sub #784 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mbedtls_mpi_mod_sub #785 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mbedtls_mpi_mod_sub #786 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mbedtls_mpi_mod_sub #787 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ee8210015910a35d1ba155ecd2a527e85fe7df9c7d4d7c6a5":0 + +mbedtls_mpi_mod_sub #788 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":0 + +mbedtls_mpi_mod_sub #789 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #791 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa4053f4a6178931e8a2b8478b3039ea456df967ce2a7cff9d829":0 + +mbedtls_mpi_mod_sub #792 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb8e2b997c56c508d4b4be5e0c3db7d0ed712c116d31d264f2a":0 + +mbedtls_mpi_mod_sub #807 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mbedtls_mpi_mod_sub #808 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":0 + +mbedtls_mpi_mod_sub #809 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":0 + +mbedtls_mpi_mod_sub #810 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":0 + +mbedtls_mpi_mod_sub #811 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":0 + +mbedtls_mpi_mod_sub #812 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":0 + +mbedtls_mpi_mod_sub #813 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c":0 + +mbedtls_mpi_mod_sub #814 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64":0 + +mbedtls_mpi_mod_sub #815 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa":0 + +mbedtls_mpi_mod_sub #817 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #818 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"bb0a9dc55736cd2240e403031e6b49851242a9733764ea41c4964cca9135881349f09623da7053bd2b96f49750aa9de8f9e44be821cb34e2722739eeec9a3eb6913986e220c4d3ce5d1ff89300beb9ea34036c30c95a4e7fe3b50c4793070a22443479ebed5b43128e393b09154c187cd93e7c4c2002e47a03f7cd9843d9c924":0 + +mbedtls_mpi_mod_sub #820 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mbedtls_mpi_mod_sub #821 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":0 + +mbedtls_mpi_mod_sub #822 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":0 + +mbedtls_mpi_mod_sub #823 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":0 + +mbedtls_mpi_mod_sub #824 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":0 + +mbedtls_mpi_mod_sub #825 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":0 + +mbedtls_mpi_mod_sub #826 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b":0 + +mbedtls_mpi_mod_sub #827 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563":0 + +mbedtls_mpi_mod_sub #828 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9":0 + +mbedtls_mpi_mod_sub #830 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff":0 + +mbedtls_mpi_mod_sub #831 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_sub:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #846 0 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #847 0 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0":0 + +mbedtls_mpi_mod_sub #848 0 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf":0 + +mbedtls_mpi_mod_sub #849 0 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131be":0 + +mbedtls_mpi_mod_sub #850 0 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bd":0 + +mbedtls_mpi_mod_sub #851 0 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e7813189":0 + +mbedtls_mpi_mod_sub #852 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a66":0 + +mbedtls_mpi_mod_sub #853 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c2884e":0 + +mbedtls_mpi_mod_sub #854 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e4":0 + +mbedtls_mpi_mod_sub #856 0 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bea":0 + +mbedtls_mpi_mod_sub #857 0 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002eb":0 + +mbedtls_mpi_mod_sub #859 1 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #860 1 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #861 1 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0":0 + +mbedtls_mpi_mod_sub #862 1 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf":0 + +mbedtls_mpi_mod_sub #863 1 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131be":0 + +mbedtls_mpi_mod_sub #864 1 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318a":0 + +mbedtls_mpi_mod_sub #865 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a67":0 + +mbedtls_mpi_mod_sub #866 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c2884f":0 + +mbedtls_mpi_mod_sub #867 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e5":0 + +mbedtls_mpi_mod_sub #869 1 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138beb":0 + +mbedtls_mpi_mod_sub #870 1 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ec":0 + +mbedtls_mpi_mod_sub #872 2 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #873 2 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #874 2 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #875 2 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0":0 + +mbedtls_mpi_mod_sub #876 2 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf":0 + +mbedtls_mpi_mod_sub #877 2 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318b":0 + +mbedtls_mpi_mod_sub #878 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a68":0 + +mbedtls_mpi_mod_sub #879 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28850":0 + +mbedtls_mpi_mod_sub #880 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e6":0 + +mbedtls_mpi_mod_sub #882 2 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bec":0 + +mbedtls_mpi_mod_sub #883 2 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ed":0 + +mbedtls_mpi_mod_sub #885 3 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #886 3 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #887 3 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #888 3 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #889 3 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0":0 + +mbedtls_mpi_mod_sub #890 3 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318c":0 + +mbedtls_mpi_mod_sub #891 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a69":0 + +mbedtls_mpi_mod_sub #892 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28851":0 + +mbedtls_mpi_mod_sub #893 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e7":0 + +mbedtls_mpi_mod_sub #895 3 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bed":0 + +mbedtls_mpi_mod_sub #896 3 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ee":0 + +mbedtls_mpi_mod_sub #898 4 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":0 + +mbedtls_mpi_mod_sub #899 4 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":0 + +mbedtls_mpi_mod_sub #900 4 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":0 + +mbedtls_mpi_mod_sub #901 4 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":0 + +mbedtls_mpi_mod_sub #902 4 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #903 4 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318d":0 + +mbedtls_mpi_mod_sub #904 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a6a":0 + +mbedtls_mpi_mod_sub #905 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28852":0 + +mbedtls_mpi_mod_sub #906 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e8":0 + +mbedtls_mpi_mod_sub #908 4 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bee":0 + +mbedtls_mpi_mod_sub #909 4 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ef":0 + +mbedtls_mpi_mod_sub #911 38 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":0 + +mbedtls_mpi_mod_sub #912 38 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037":0 + +mbedtls_mpi_mod_sub #913 38 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036":0 + +mbedtls_mpi_mod_sub #914 38 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035":0 + +mbedtls_mpi_mod_sub #915 38 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034":0 + +mbedtls_mpi_mod_sub #916 38 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #917 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a9e":0 + +mbedtls_mpi_mod_sub #918 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28886":0 + +mbedtls_mpi_mod_sub #919 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c7061c":0 + +mbedtls_mpi_mod_sub #921 38 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138c22":0 + +mbedtls_mpi_mod_sub #922 38 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f8400323":0 + +mbedtls_mpi_mod_sub #924 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":0 + +mbedtls_mpi_mod_sub #925 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75a":0 + +mbedtls_mpi_mod_sub #926 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb759":0 + +mbedtls_mpi_mod_sub #927 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb758":0 + +mbedtls_mpi_mod_sub #928 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb757":0 + +mbedtls_mpi_mod_sub #929 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb723":0 + +mbedtls_mpi_mod_sub #930 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #931 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8":0 + +mbedtls_mpi_mod_sub #932 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e":0 + +mbedtls_mpi_mod_sub #934 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca70c73846511da049da147f94b8e2ba225ead20c57e2a34345":0 + +mbedtls_mpi_mod_sub #935 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba485aafe2bab1eb0c07bd68b5270bcb045a1d671640832fcfba46":0 + +mbedtls_mpi_mod_sub #937 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":0 + +mbedtls_mpi_mod_sub #938 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972":0 + +mbedtls_mpi_mod_sub #939 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971":0 + +mbedtls_mpi_mod_sub #940 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970":0 + +mbedtls_mpi_mod_sub #941 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f":0 + +mbedtls_mpi_mod_sub #942 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b":0 + +mbedtls_mpi_mod_sub #943 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972ffffafb152eb6c76fe02d3b54da7dc3ad274a23fc35a4b023d9":0 + +mbedtls_mpi_mod_sub #944 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #945 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972ffffda419d561d74f6b84f74499369b5b23d3599bdac685af57":0 + +mbedtls_mpi_mod_sub #947 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca652247691b8dbc439f79ea910f2158580e222e5159fd2355d":0 + +mbedtls_mpi_mod_sub #948 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859f593acde920dc759bf0bd6d12eee3d785e671940ecfeac5e":0 + +mbedtls_mpi_mod_sub #950 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":0 + +mbedtls_mpi_mod_sub #951 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc":0 + +mbedtls_mpi_mod_sub #952 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb":0 + +mbedtls_mpi_mod_sub #953 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bda":0 + +mbedtls_mpi_mod_sub #954 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9":0 + +mbedtls_mpi_mod_sub #955 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5":0 + +mbedtls_mpi_mod_sub #956 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b2a11e5b64b5d0b87f28b55661021bcfc99d83d2c5aba643":0 + +mbedtls_mpi_mod_sub #957 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a":0 + +mbedtls_mpi_mod_sub #958 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #960 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca709ca7fbe66ca2512498c098cd553f429619c6cb2c0cdb7c7":0 + +mbedtls_mpi_mod_sub #961 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba485aad39b60b3ffc283210f9374d122cac20dde0a0de0dfa2ec8":0 + +mbedtls_mpi_mod_sub #976 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":0 + +mbedtls_mpi_mod_sub #977 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6":0 + +mbedtls_mpi_mod_sub #978 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5":0 + +mbedtls_mpi_mod_sub #979 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4":0 + +mbedtls_mpi_mod_sub #980 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3":0 + +mbedtls_mpi_mod_sub #981 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f":0 + +mbedtls_mpi_mod_sub #982 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c":0 + +mbedtls_mpi_mod_sub #983 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64":0 + +mbedtls_mpi_mod_sub #984 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa":0 + +mbedtls_mpi_mod_sub #986 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +mbedtls_mpi_mod_sub #987 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"458d3cfad8173fd6d21ec05b22fddbac49aa054bc17cb7cf8ee107d3e842f544693636bc8afd8f386ddb293afb0734f81f4e05ad445a2b9a2796e3a86f303f0428ce4aee4891d58d1989cdb845e6ee4eb4e3577671d4fe954f6123a7ec3d152d5c410eda15668bb458b9594ee8f7b3639e51d2d556b281c3cf1757a334ada8c2":0 + +mbedtls_mpi_mod_sub #989 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":0 + +mbedtls_mpi_mod_sub #990 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5":0 + +mbedtls_mpi_mod_sub #991 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4":0 + +mbedtls_mpi_mod_sub #992 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3":0 + +mbedtls_mpi_mod_sub #993 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2":0 + +mbedtls_mpi_mod_sub #994 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e":0 + +mbedtls_mpi_mod_sub #995 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b":0 + +mbedtls_mpi_mod_sub #996 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563":0 + +mbedtls_mpi_mod_sub #997 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9":0 + +mbedtls_mpi_mod_sub #999 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff":0 + +mbedtls_mpi_mod_sub #1000 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_sub:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 + +# End of automatically generated file. diff --git a/tests/suites/test_suite_bignum_mod_raw.data b/tests/suites/test_suite_bignum_mod_raw.data new file mode 100644 index 0000000000..8cbd918f88 --- /dev/null +++ b/tests/suites/test_suite_bignum_mod_raw.data @@ -0,0 +1,220 @@ +Test mbedtls_mpi_mod_raw_io #1 BE (Buffer and limbs just fit, input limb-aligned) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +mpi_mod_raw_io:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0 + +Test mbedtls_mpi_mod_raw_io #11 BE (Zero) +mpi_mod_raw_io:"00":1:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0 + +Test mbedtls_mpi_mod_raw_io #11 LE (Zero) +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) +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) +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) +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) +mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0 + +Test mbedtls_mpi_mod_raw_io #14 BE (One) +mpi_mod_raw_io:"01":1:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0 + +Test mbedtls_mpi_mod_raw_io #14 LE (One) +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) +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) +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 +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 +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 +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 +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +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) +mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_INVALID:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA + +mbedtls_mpi_mod_raw_cond_assign: 1 limb +mpi_mod_raw_cond_assign:"FFFFFFFF":"11111111":4 + +mbedtls_mpi_mod_raw_cond_assign: more limbs #1 +mpi_mod_raw_cond_assign:"00000000FFFFFFFF55555555AAAAAAAA":"0123456789ABCDEF0123456789ABCDEF":16 + +mbedtls_mpi_mod_raw_cond_assign: more limbs #2 +mpi_mod_raw_cond_assign:"11111111EEEEEEEE77777777CCCCCCCC":"FEDCBA9876543210FEDCBA9876543210":16 + +mbedtls_mpi_mod_raw_cond_assign: more limbs #3 +mpi_mod_raw_cond_assign:"562D2B7E83BDC6FF783CEC0D6F46EAE7":"4C314E3B5CEB009C25F3300D5ECF670A":16 + +mbedtls_mpi_mod_raw_cond_assign: copy 256 bytes of limbs +mpi_mod_raw_cond_assign:"00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF":"38AAE958A11CCE9F4B4D0EDF64D31DF6FEA451D56B3BAB3DB796739B96C5C9C619DAE2AD5394D41FC3746A4F35BA186F02D908E900A2BA5AC95D494378A6A6FC619801DA3F3B4C5BAAA49B16DD3B2EF9AFB4B82449F90628E1438405D321ACA8476EA3E7124D46D5F25CD57143F2C6A022F7D6EBF7C726AEF56D97E3944EACD627A814D2F546F5A659DD316AE57584BC46F0D976D537E78AB09D2599BB0F073366C541CEF4B6D76FE72D000A01167FCE506B805B295C12BFCAA3B768D8E6AA50D939BDB519A94000B7B18B2D36AE888EDC33DC933E9612D112BB7A95D0748F175E69F00B9D8470C64E27B4FF39551B09FF046F864E9FC22A3E1F73570DF31214":256 + +mbedtls_mpi_mod_raw_cond_assign: copy half of the limbs +mpi_mod_raw_cond_assign:"00000000FFFFFFFF55555555AAAAAAAA":"FEDCBA9876543210FEDCBA9876543210":8 + +mbedtls_mpi_mod_raw_cond_swap: same value +mpi_mod_raw_cond_swap:"FFFFFFFF":"FFFFFFFF":4 + +mbedtls_mpi_mod_raw_cond_swap: 1 limb +mpi_mod_raw_cond_swap:"FFFFFFFF":"11111111":4 + +mbedtls_mpi_mod_raw_cond_swap: more limbs #1 +mpi_mod_raw_cond_swap:"00000000FFFFFFFF55555555AAAAAAAA":"0123456789ABCDEF0123456789ABCDEF":16 + +mbedtls_mpi_mod_raw_cond_swap: more limbs #2 +mpi_mod_raw_cond_swap:"11111111EEEEEEEE77777777CCCCCCCC":"FEDCBA9876543210FEDCBA9876543210":16 + +mbedtls_mpi_mod_raw_cond_swap: more limbs #3 +mpi_mod_raw_cond_swap:"562D2B7E83BDC6FF783CEC0D6F46EAE7":"4C314E3B5CEB009C25F3300D5ECF670A":16 + +mbedtls_mpi_mod_raw_cond_swap: copy 256 bytes of limbs +mpi_mod_raw_cond_swap:"00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF00000000111111112222222233333333444444445555555566666666777777778888888899999999AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFF":"A6154F6146E5AE06C705EF228DB022B4C0C908D9FF11E83CB0836A37DD11D72B5AE0D053B6D0B376B015E3B09DCC04644F12CBCBD0407300DEDA1D817E99A030BA128A57494F6C6BC650A840B70B3A1CDF8A75A387184C93DEF02DD538C60E8764AD2E4600952E09D24DC5524AB34070D25D204174D23B2BFDACBC67F8973C47FAF01CE9810130934AB6A94C5E6D223EDEAE904FD18368231AC3113C2CD73E879124CE21FC379C695C41D6861F5FB957570C3E6EF61F4FBA5D9945FB42931FC8E68370177DB313BEB7AF79B1F0F872368946FF35BD059E60677342EB3A0431714044AD508CD244B7CE200C5DC75B3BC7846A4CF0436C9288F2153124C9283171":256 + +mbedtls_mpi_mod_raw_cond_swap: copy half of the limbs +mpi_mod_raw_cond_swap:"00000000FFFFFFFF55555555AAAAAAAA":"FEDCBA9876543210FEDCBA9876543210":8 + +# BEGIN MERGE SLOT 1 + +# END MERGE SLOT 1 + +# BEGIN MERGE SLOT 2 + +# END MERGE SLOT 2 + +# BEGIN MERGE SLOT 3 + +# END MERGE SLOT 3 + +# BEGIN MERGE SLOT 4 + +# END MERGE SLOT 4 + +# BEGIN MERGE SLOT 5 + +# END MERGE SLOT 5 + +# BEGIN MERGE SLOT 6 + +# END MERGE SLOT 6 + +# BEGIN MERGE SLOT 7 + +# END MERGE SLOT 7 + +# BEGIN MERGE SLOT 8 + +# END MERGE SLOT 8 + +# BEGIN MERGE SLOT 9 + +# END MERGE SLOT 9 + +# BEGIN MERGE SLOT 10 + +# END MERGE SLOT 10 diff --git a/tests/suites/test_suite_bignum_mod_raw.function b/tests/suites/test_suite_bignum_mod_raw.function new file mode 100644 index 0000000000..c7decf0071 --- /dev/null +++ b/tests/suites/test_suite_bignum_mod_raw.function @@ -0,0 +1,541 @@ +/* BEGIN_HEADER */ +#include "mbedtls/bignum.h" +#include "mbedtls/entropy.h" +#include "bignum_core.h" +#include "bignum_mod_raw.h" +#include "constant_time_internal.h" +#include "test/constant_flow.h" + +/* END_HEADER */ + +/* BEGIN_DEPENDENCIES + * depends_on:MBEDTLS_BIGNUM_C + * END_DEPENDENCIES + */ + +/* BEGIN_CASE */ +void mpi_mod_raw_io( data_t *input, int nb_int, int nx_32_int, + int iendian, int iret, int oret ) +{ + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init( &m ); + + if( iret != 0 ) + TEST_ASSERT( oret == 0 ); + + TEST_LE_S( 0, nb_int ); + size_t nb = nb_int; + + unsigned char buf[1024]; + TEST_LE_U( 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_LE_S( 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_LE_U( 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_uint init[sizeof( X ) / sizeof( X[0] )]; + memset( init, 0xFF, sizeof( init ) ); + int ret = mbedtls_mpi_mod_modulus_setup( &m, init, nx, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ); + TEST_EQUAL( ret, 0 ); + + if( iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID && iret != 0 ) + endian = MBEDTLS_MPI_MOD_EXT_REP_INVALID; + + ret = mbedtls_mpi_mod_raw_read( X, &m, input->x, input->len, endian ); + TEST_EQUAL( ret, iret ); + + if( iret == 0 ) + { + if( iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID && oret != 0 ) + endian = MBEDTLS_MPI_MOD_EXT_REP_INVALID; + + ret = mbedtls_mpi_mod_raw_write( X, &m, buf, nb, endian ); + 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 mpi_mod_raw_cond_assign( char * input_X, + char * input_Y, + int input_bytes ) +{ + mbedtls_mpi_uint *X = NULL; + mbedtls_mpi_uint *Y = NULL; + mbedtls_mpi_uint *buff_m = NULL; + size_t limbs_X; + size_t limbs_Y; + + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init( &m ); + + TEST_EQUAL( mbedtls_test_read_mpi_core( &X, &limbs_X, input_X ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi_core( &Y, &limbs_Y, input_Y ), 0 ); + + size_t limbs = limbs_X; + size_t copy_limbs = CHARS_TO_LIMBS( input_bytes ); + size_t bytes = limbs * sizeof( mbedtls_mpi_uint ); + size_t copy_bytes = copy_limbs * sizeof( mbedtls_mpi_uint ); + + TEST_EQUAL( limbs_X, limbs_Y ); + TEST_ASSERT( copy_limbs <= limbs ); + + ASSERT_ALLOC( buff_m, copy_limbs ); + memset( buff_m, 0xFF, copy_limbs ); + TEST_EQUAL( mbedtls_mpi_mod_modulus_setup( + &m, buff_m, copy_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ), 0 ); + + /* condition is false */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 0 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + TEST_ASSERT( memcmp( X, Y, bytes ) != 0 ); + + /* condition is true */ + TEST_CF_SECRET( X, bytes ); + TEST_CF_SECRET( Y, bytes ); + + mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 1 ); + + TEST_CF_PUBLIC( X, bytes ); + TEST_CF_PUBLIC( Y, bytes ); + + /* Check if the given length is copied even it is smaller + than the length of the given MPIs. */ + if( copy_limbs Correct result */ + mbedtls_mpi_mod_raw_add( X, A, B, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + B: alias X to A => Correct result */ + memcpy( X, A, bytes ); + mbedtls_mpi_mod_raw_add( X, X, B, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + B: alias X to B => Correct result */ + memcpy( X, B, bytes ); + mbedtls_mpi_mod_raw_add( X, A, X, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + if ( memcmp(A, B, bytes ) == 0 ) + { + /* A == B: alias A and B */ + + /* A + A => Correct result */ + mbedtls_mpi_mod_raw_add( X, A, A, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* A + A: X, A, B all aliased together => Correct result */ + memcpy( X, A, bytes ); + mbedtls_mpi_mod_raw_add( X, X, X, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + else + { + /* A != B: test B + A */ + + /* B + A => Correct result */ + mbedtls_mpi_mod_raw_add( X, B, A, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* B + A: alias X to A => Correct result */ + memcpy( X, A, bytes ); + mbedtls_mpi_mod_raw_add( X, B, X, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + + /* B + A: alias X to B => Correct result */ + memcpy( X, B, bytes ); + mbedtls_mpi_mod_raw_add( X, X, A, &m ); + ASSERT_COMPARE( X, bytes, S, bytes ); + } + +exit: + mbedtls_mpi_mod_modulus_free( &m ); + + mbedtls_free( A ); + mbedtls_free( B ); + mbedtls_free( S ); + mbedtls_free( N ); + mbedtls_free( X ); +} +/* END_CASE */ +/* END MERGE SLOT 5 */ + +/* BEGIN MERGE SLOT 6 */ + +/* END MERGE SLOT 6 */ + +/* BEGIN MERGE SLOT 7 */ +/* BEGIN_CASE */ +void mpi_mod_raw_to_mont_rep( char * input_N, char * input_A, char * input_X ) +{ + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *A = NULL; + mbedtls_mpi_uint *X = NULL; + size_t n_limbs, a_limbs, x_limbs, x_bytes; + + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init( &m ); + + /* Read inputs */ + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &n_limbs, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &A, &a_limbs, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &x_limbs, input_X ) ); + x_bytes = x_limbs * sizeof(mbedtls_mpi_uint); + + /* Test that input does not require more limbs than modulo */ + TEST_LE_U(a_limbs, n_limbs); + + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N, n_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + /* Convert from cannonical into Montgomery representation */ + TEST_EQUAL(0, mbedtls_mpi_mod_raw_to_mont_rep( A, &m ) ); + + /* The result matches expected value */ + ASSERT_COMPARE( A, x_bytes, X, x_bytes ); +exit: + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_free( N ); + mbedtls_free( A ); + mbedtls_free( X ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void mpi_mod_raw_from_mont_rep( char * input_N, char * input_A, char * input_X ) +{ + mbedtls_mpi_uint *N = NULL; + mbedtls_mpi_uint *A = NULL; + mbedtls_mpi_uint *X = NULL; + size_t n_limbs, a_limbs, x_limbs, x_bytes; + + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init( &m ); + + /* Read inputs */ + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &N, &n_limbs, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &A, &a_limbs, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi_core( &X, &x_limbs, input_X ) ); + x_bytes = x_limbs * sizeof(mbedtls_mpi_uint); + + /* Test that input does not require more limbs than modulo */ + TEST_LE_U(a_limbs, n_limbs); + + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N, n_limbs, + MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + /* Convert from Montgomery into cannonical representation */ + TEST_EQUAL(0, mbedtls_mpi_mod_raw_from_mont_rep( A, &m ) ); + + /* The result matches expected value */ + ASSERT_COMPARE( A, x_bytes, X, x_bytes ); +exit: + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_free( N ); + mbedtls_free( A ); + mbedtls_free( X ); +} +/* END_CASE */ +/* END MERGE SLOT 7 */ + +/* BEGIN MERGE SLOT 8 */ + +/* END MERGE SLOT 8 */ + +/* BEGIN MERGE SLOT 9 */ + +/* END MERGE SLOT 9 */ + +/* BEGIN MERGE SLOT 10 */ + +/* END MERGE SLOT 10 */ diff --git a/tests/suites/test_suite_bignum_mod_raw.generated.data b/tests/suites/test_suite_bignum_mod_raw.generated.data new file mode 100644 index 0000000000..f93093d379 --- /dev/null +++ b/tests/suites/test_suite_bignum_mod_raw.generated.data @@ -0,0 +1,3573 @@ +# Automatically generated by generate_bignum_tests.py. Do not edit! + +mbedtls_mpi_mod_raw_add #1 0 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000000":"0000000000000000" + +mbedtls_mpi_mod_raw_add #2 0 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000001":"0000000000000001" + +mbedtls_mpi_mod_raw_add #3 0 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000002":"0000000000000002" + +mbedtls_mpi_mod_raw_add #4 0 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000003":"0000000000000003" + +mbedtls_mpi_mod_raw_add #5 0 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000004":"0000000000000004" + +mbedtls_mpi_mod_raw_add #6 0 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000000":"0000000000000038":"0000000000000038" + +mbedtls_mpi_mod_raw_add #14 1 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000000":"0000000000000001" + +mbedtls_mpi_mod_raw_add #15 1 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000001":"0000000000000002" + +mbedtls_mpi_mod_raw_add #16 1 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000002":"0000000000000003" + +mbedtls_mpi_mod_raw_add #17 1 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000003":"0000000000000004" + +mbedtls_mpi_mod_raw_add #18 1 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000004":"0000000000000005" + +mbedtls_mpi_mod_raw_add #19 1 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000001":"0000000000000038":"0000000000000039" + +mbedtls_mpi_mod_raw_add #27 2 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000000":"0000000000000002" + +mbedtls_mpi_mod_raw_add #28 2 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000001":"0000000000000003" + +mbedtls_mpi_mod_raw_add #29 2 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000002":"0000000000000004" + +mbedtls_mpi_mod_raw_add #30 2 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000003":"0000000000000005" + +mbedtls_mpi_mod_raw_add #31 2 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000004":"0000000000000006" + +mbedtls_mpi_mod_raw_add #32 2 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000002":"0000000000000038":"000000000000003a" + +mbedtls_mpi_mod_raw_add #40 3 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000000":"0000000000000003" + +mbedtls_mpi_mod_raw_add #41 3 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000001":"0000000000000004" + +mbedtls_mpi_mod_raw_add #42 3 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000002":"0000000000000005" + +mbedtls_mpi_mod_raw_add #43 3 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000003":"0000000000000006" + +mbedtls_mpi_mod_raw_add #44 3 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000004":"0000000000000007" + +mbedtls_mpi_mod_raw_add #45 3 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000003":"0000000000000038":"000000000000003b" + +mbedtls_mpi_mod_raw_add #53 4 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000000":"0000000000000004" + +mbedtls_mpi_mod_raw_add #54 4 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000001":"0000000000000005" + +mbedtls_mpi_mod_raw_add #55 4 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000002":"0000000000000006" + +mbedtls_mpi_mod_raw_add #56 4 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000003":"0000000000000007" + +mbedtls_mpi_mod_raw_add #57 4 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000004":"0000000000000008" + +mbedtls_mpi_mod_raw_add #58 4 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000004":"0000000000000038":"000000000000003c" + +mbedtls_mpi_mod_raw_add #66 38 + 0 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000000":"0000000000000038" + +mbedtls_mpi_mod_raw_add #67 38 + 1 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000001":"0000000000000039" + +mbedtls_mpi_mod_raw_add #68 38 + 2 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000002":"000000000000003a" + +mbedtls_mpi_mod_raw_add #69 38 + 3 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000003":"000000000000003b" + +mbedtls_mpi_mod_raw_add #70 38 + 4 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000004":"000000000000003c" + +mbedtls_mpi_mod_raw_add #71 38 + 38 mod 53 +mpi_mod_raw_add:"0000000000000053":"0000000000000038":"0000000000000038":"000000000000001d" + +mbedtls_mpi_mod_raw_add #170 0 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000000":"0000000000000000" + +mbedtls_mpi_mod_raw_add #171 0 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000001":"0000000000000001" + +mbedtls_mpi_mod_raw_add #172 0 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000002":"0000000000000002" + +mbedtls_mpi_mod_raw_add #173 0 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000003":"0000000000000003" + +mbedtls_mpi_mod_raw_add #174 0 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000004":"0000000000000004" + +mbedtls_mpi_mod_raw_add #175 0 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000000":"0000000000000038":"0000000000000038" + +mbedtls_mpi_mod_raw_add #183 1 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000000":"0000000000000001" + +mbedtls_mpi_mod_raw_add #184 1 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000001":"0000000000000002" + +mbedtls_mpi_mod_raw_add #185 1 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000002":"0000000000000003" + +mbedtls_mpi_mod_raw_add #186 1 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000003":"0000000000000004" + +mbedtls_mpi_mod_raw_add #187 1 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000004":"0000000000000005" + +mbedtls_mpi_mod_raw_add #188 1 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000001":"0000000000000038":"0000000000000039" + +mbedtls_mpi_mod_raw_add #196 2 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000000":"0000000000000002" + +mbedtls_mpi_mod_raw_add #197 2 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000001":"0000000000000003" + +mbedtls_mpi_mod_raw_add #198 2 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000002":"0000000000000004" + +mbedtls_mpi_mod_raw_add #199 2 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000003":"0000000000000005" + +mbedtls_mpi_mod_raw_add #200 2 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000004":"0000000000000006" + +mbedtls_mpi_mod_raw_add #201 2 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000002":"0000000000000038":"000000000000003a" + +mbedtls_mpi_mod_raw_add #209 3 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000000":"0000000000000003" + +mbedtls_mpi_mod_raw_add #210 3 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000001":"0000000000000004" + +mbedtls_mpi_mod_raw_add #211 3 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000002":"0000000000000005" + +mbedtls_mpi_mod_raw_add #212 3 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000003":"0000000000000006" + +mbedtls_mpi_mod_raw_add #213 3 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000004":"0000000000000007" + +mbedtls_mpi_mod_raw_add #214 3 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000003":"0000000000000038":"000000000000003b" + +mbedtls_mpi_mod_raw_add #222 4 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000000":"0000000000000004" + +mbedtls_mpi_mod_raw_add #223 4 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000001":"0000000000000005" + +mbedtls_mpi_mod_raw_add #224 4 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000002":"0000000000000006" + +mbedtls_mpi_mod_raw_add #225 4 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000003":"0000000000000007" + +mbedtls_mpi_mod_raw_add #226 4 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000004":"0000000000000008" + +mbedtls_mpi_mod_raw_add #227 4 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000004":"0000000000000038":"000000000000003c" + +mbedtls_mpi_mod_raw_add #235 38 + 0 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000000":"0000000000000038" + +mbedtls_mpi_mod_raw_add #236 38 + 1 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000001":"0000000000000039" + +mbedtls_mpi_mod_raw_add #237 38 + 2 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000002":"000000000000003a" + +mbedtls_mpi_mod_raw_add #238 38 + 3 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000003":"000000000000003b" + +mbedtls_mpi_mod_raw_add #239 38 + 4 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000004":"000000000000003c" + +mbedtls_mpi_mod_raw_add #240 38 + 38 mod 45 +mpi_mod_raw_add:"0000000000000045":"0000000000000038":"0000000000000038":"000000000000002b" + +mbedtls_mpi_mod_raw_add #339 0 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_add #340 0 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #341 0 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #342 0 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #343 0 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #344 0 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #346 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #347 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #352 1 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #353 1 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #354 1 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #355 1 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #356 1 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #357 1 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #359 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #360 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #365 2 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #366 2 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #367 2 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #368 2 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #369 2 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #370 2 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #372 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #373 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #378 3 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #379 3 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #380 3 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #381 3 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #382 3 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #383 3 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #385 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #386 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #391 4 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #392 4 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #393 4 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #394 4 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #395 4 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000008" + +mbedtls_mpi_mod_raw_add #396 4 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #398 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #399 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #404 38 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #405 38 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #406 38 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"00000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #407 38 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"00000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #408 38 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"00000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #409 38 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000070" + +mbedtls_mpi_mod_raw_add #411 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #412 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #430 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #431 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #432 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #433 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #434 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #435 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #437 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6" + +mbedtls_mpi_mod_raw_add #438 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c9152c636a4714819fc00a39cd247f53bf1bf4d2e91df5" + +mbedtls_mpi_mod_raw_add #443 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #444 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #445 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #446 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #447 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #448 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #450 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c9152c636a4714819fc00a39cd247f53bf1bf4d2e91df5" + +mbedtls_mpi_mod_raw_add #451 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_add:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cc6f1e591158a7ecd38d20861d0b9327d338a391f3e4a05f" + +mbedtls_mpi_mod_raw_add #508 0 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_add #509 0 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #510 0 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #511 0 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #512 0 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #513 0 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #514 0 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #515 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #516 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #521 1 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #522 1 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #523 1 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #524 1 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #525 1 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #526 1 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #527 1 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #528 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #529 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #534 2 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #535 2 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #536 2 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #537 2 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #538 2 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #539 2 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #540 2 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #541 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #542 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #547 3 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #548 3 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #549 3 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #550 3 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #551 3 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #552 3 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #553 3 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #554 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #555 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #560 4 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #561 4 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #562 4 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #563 4 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #564 4 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000008" + +mbedtls_mpi_mod_raw_add #565 4 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"00000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #566 4 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #567 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #568 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #573 38 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #574 38 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #575 38 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"00000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #576 38 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"00000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #577 38 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"00000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #578 38 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000070" + +mbedtls_mpi_mod_raw_add #579 38 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #580 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #581 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #586 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #587 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #588 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #589 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #590 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #591 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #592 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a394bd17a665068557a3d99188ac14f1c221e143d3c812e5" + +mbedtls_mpi_mod_raw_add #593 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #594 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"a0ebb870fb5526f9ffe7e9d2cfd466f538ec419eb1f28767" + +mbedtls_mpi_mod_raw_add #599 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #600 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #601 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #602 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #603 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #604 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #605 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #606 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"2ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6" + +mbedtls_mpi_mod_raw_add #607 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #612 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #613 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #614 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #615 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #616 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #617 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #618 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"a0ebb870fb5526f9ffe7e9d2cfd466f538ec419eb1f28767" + +mbedtls_mpi_mod_raw_add #619 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #620 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_add:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"9e42b3ca5045476ea82bfa1416fcb8f8afb6a1f9901cfbe9" + +mbedtls_mpi_mod_raw_add #677 0 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_add #678 0 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #679 0 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #680 0 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #681 0 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #682 0 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #683 0 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #684 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #685 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #687 0 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_add #688 0 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_add #690 1 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #691 1 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #692 1 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #693 1 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #694 1 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #695 1 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #696 1 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #697 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #698 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #700 1 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8" + +mbedtls_mpi_mod_raw_add #701 1 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7" + +mbedtls_mpi_mod_raw_add #703 2 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #704 2 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #705 2 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #706 2 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #707 2 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #708 2 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #709 2 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #710 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #711 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #713 2 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9" + +mbedtls_mpi_mod_raw_add #714 2 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8" + +mbedtls_mpi_mod_raw_add #716 3 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #717 3 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #718 3 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #719 3 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #720 3 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #721 3 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #722 3 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #723 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #724 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #726 3 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da" + +mbedtls_mpi_mod_raw_add #727 3 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9" + +mbedtls_mpi_mod_raw_add #729 4 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #730 4 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #731 4 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #732 4 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #733 4 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008" + +mbedtls_mpi_mod_raw_add #734 4 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #735 4 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #736 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #737 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #739 4 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db" + +mbedtls_mpi_mod_raw_add #740 4 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda" + +mbedtls_mpi_mod_raw_add #742 38 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #743 38 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #744 38 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #745 38 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #746 38 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #747 38 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070" + +mbedtls_mpi_mod_raw_add #748 38 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #749 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #750 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #752 38 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f" + +mbedtls_mpi_mod_raw_add #753 38 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e" + +mbedtls_mpi_mod_raw_add #755 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #756 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #757 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #758 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #759 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #760 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #761 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a3824f4ccef0ce07060a00071d75de41cb47c5b86f1f6eb6" + +mbedtls_mpi_mod_raw_add #762 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #763 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0d94aa623e0ee7bae4e1048649e3045421226134d49e338" + +mbedtls_mpi_mod_raw_add #765 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32" + +mbedtls_mpi_mod_raw_add #766 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631" + +mbedtls_mpi_mod_raw_add #768 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #769 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #770 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #771 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #772 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #773 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #774 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #775 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6" + +mbedtls_mpi_mod_raw_add #776 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #778 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a" + +mbedtls_mpi_mod_raw_add #779 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849" + +mbedtls_mpi_mod_raw_add #781 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #782 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #783 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #784 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #785 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #786 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #787 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0d94aa623e0ee7bae4e1048649e3045421226134d49e338" + +mbedtls_mpi_mod_raw_add #788 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #789 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019e3045ff78d10ef056922089abc68248b8dc866e2b7457ba" + +mbedtls_mpi_mod_raw_add #791 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4" + +mbedtls_mpi_mod_raw_add #792 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3" + +mbedtls_mpi_mod_raw_add #807 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_add #808 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8" + +mbedtls_mpi_mod_raw_add #809 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9" + +mbedtls_mpi_mod_raw_add #810 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da" + +mbedtls_mpi_mod_raw_add #811 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db" + +mbedtls_mpi_mod_raw_add #812 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f" + +mbedtls_mpi_mod_raw_add #813 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32" + +mbedtls_mpi_mod_raw_add #814 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a" + +mbedtls_mpi_mod_raw_add #815 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4" + +mbedtls_mpi_mod_raw_add #817 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0d20a4d3dade1613e2cb919c6dc5e49686001bc0365da81da75bb99658677c158f3acf268da958f4b872056712c7b8dd0a69e8ae71a091d81e21338d87c364b1fae488a599d4e3fe94290ed5d5fe3413194b32cccd9d566c0a257a26220e44622e219ea64f5886b4f52f8c86cac825537143579a34d22d8e9b49f3f878db4bae" + +mbedtls_mpi_mod_raw_add #818 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad" + +mbedtls_mpi_mod_raw_add #820 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_add #821 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7" + +mbedtls_mpi_mod_raw_add #822 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8" + +mbedtls_mpi_mod_raw_add #823 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9" + +mbedtls_mpi_mod_raw_add #824 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda" + +mbedtls_mpi_mod_raw_add #825 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e" + +mbedtls_mpi_mod_raw_add #826 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631" + +mbedtls_mpi_mod_raw_add #827 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849" + +mbedtls_mpi_mod_raw_add #828 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3" + +mbedtls_mpi_mod_raw_add #830 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad" + +mbedtls_mpi_mod_raw_add #831 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_add:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2982b92216235a5198439d11a00c198a84f184c29c37967077694ae052989d46e71a4874dcb1ab94938f6b3732a4a7fad8f347bcd3f0bc6263e772470449624587c95125b232d5b49f9f4b07c3bf15f368e98fd1250d42ea957960d5d157727e03b1340499b9cf4dae511fed18641f13e268fc19bb20bd9fa2c18ba1de825dac" + +mbedtls_mpi_mod_raw_add #846 0 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_add #847 0 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #848 0 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #849 0 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #850 0 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #851 0 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #852 0 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #853 0 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #854 0 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #856 0 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_add #857 0 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_add #859 1 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_add #860 1 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #861 1 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #862 1 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #863 1 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #864 1 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #865 1 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #866 1 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #867 1 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #869 1 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8" + +mbedtls_mpi_mod_raw_add #870 1 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7" + +mbedtls_mpi_mod_raw_add #872 2 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_add #873 2 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #874 2 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #875 2 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #876 2 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #877 2 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #878 2 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #879 2 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #880 2 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #882 2 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9" + +mbedtls_mpi_mod_raw_add #883 2 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8" + +mbedtls_mpi_mod_raw_add #885 3 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_add #886 3 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #887 3 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #888 3 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #889 3 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #890 3 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #891 3 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #892 3 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #893 3 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #895 3 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da" + +mbedtls_mpi_mod_raw_add #896 3 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9" + +mbedtls_mpi_mod_raw_add #898 4 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_add #899 4 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005" + +mbedtls_mpi_mod_raw_add #900 4 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006" + +mbedtls_mpi_mod_raw_add #901 4 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007" + +mbedtls_mpi_mod_raw_add #902 4 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008" + +mbedtls_mpi_mod_raw_add #903 4 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #904 4 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #905 4 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #906 4 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #908 4 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db" + +mbedtls_mpi_mod_raw_add #909 4 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda" + +mbedtls_mpi_mod_raw_add #911 38 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_add #912 38 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039" + +mbedtls_mpi_mod_raw_add #913 38 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a" + +mbedtls_mpi_mod_raw_add #914 38 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b" + +mbedtls_mpi_mod_raw_add #915 38 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c" + +mbedtls_mpi_mod_raw_add #916 38 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070" + +mbedtls_mpi_mod_raw_add #917 38 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #918 38 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #919 38 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #921 38 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f" + +mbedtls_mpi_mod_raw_add #922 38 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e" + +mbedtls_mpi_mod_raw_add #924 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_add #925 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75c" + +mbedtls_mpi_mod_raw_add #926 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75d" + +mbedtls_mpi_mod_raw_add #927 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75e" + +mbedtls_mpi_mod_raw_add #928 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75f" + +mbedtls_mpi_mod_raw_add #929 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb793" + +mbedtls_mpi_mod_raw_add #930 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a3824f4ccef0ce07060a00071d75de41cb47c5b86f1f6eb6" + +mbedtls_mpi_mod_raw_add #931 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #932 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0d94aa623e0ee7bae4e1048649e3045421226134d49e338" + +mbedtls_mpi_mod_raw_add #934 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32" + +mbedtls_mpi_mod_raw_add #935 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631" + +mbedtls_mpi_mod_raw_add #937 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_add #938 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea974" + +mbedtls_mpi_mod_raw_add #939 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea975" + +mbedtls_mpi_mod_raw_add #940 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea976" + +mbedtls_mpi_mod_raw_add #941 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea977" + +mbedtls_mpi_mod_raw_add #942 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea9ab" + +mbedtls_mpi_mod_raw_add #943 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e933417975f28da35c60afcc815fc19cc2989e762c4e60ce" + +mbedtls_mpi_mod_raw_add #944 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ee433a61cf44d3fb2b75f91e549a4f7b9e97733e97d52e6" + +mbedtls_mpi_mod_raw_add #945 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #947 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a" + +mbedtls_mpi_mod_raw_add #948 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849" + +mbedtls_mpi_mod_raw_add #950 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_add #951 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bde" + +mbedtls_mpi_mod_raw_add #952 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdf" + +mbedtls_mpi_mod_raw_add #953 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be0" + +mbedtls_mpi_mod_raw_add #954 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2be1" + +mbedtls_mpi_mod_raw_add #955 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2c15" + +mbedtls_mpi_mod_raw_add #956 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0d94aa623e0ee7bae4e1048649e3045421226134d49e338" + +mbedtls_mpi_mod_raw_add #957 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e68a3cd2cae2ae1804a4c00dc88813a03962fed10a78d550" + +mbedtls_mpi_mod_raw_add #958 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019e3045ff78d10ef056922089abc68248b8dc866e2b7457ba" + +mbedtls_mpi_mod_raw_add #960 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4" + +mbedtls_mpi_mod_raw_add #961 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3" + +mbedtls_mpi_mod_raw_add #976 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_add #977 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d8" + +mbedtls_mpi_mod_raw_add #978 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d9" + +mbedtls_mpi_mod_raw_add #979 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5da" + +mbedtls_mpi_mod_raw_add #980 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5db" + +mbedtls_mpi_mod_raw_add #981 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da60f" + +mbedtls_mpi_mod_raw_add #982 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b4c58ede9ccdc79ad3ba6abd0a92405e83348dcd873fd5d32" + +mbedtls_mpi_mod_raw_add #983 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a9209e01673de394991fd5b960d0de9432a99b596312c4f4a" + +mbedtls_mpi_mod_raw_add #984 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435b49afe94321cc9a21e3eabc11f04c57ebaa133d335227d1b4" + +mbedtls_mpi_mod_raw_add #986 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0d20a4d3dade1613e2cb919c6dc5e49686001bc0365da81da75bb99658677c158f3acf268da958f4b872056712c7b8dd0a69e8ae71a091d81e21338d87c364b1fae488a599d4e3fe94290ed5d5fe3413194b32cccd9d566c0a257a26220e44622e219ea64f5886b4f52f8c86cac825537143579a34d22d8e9b49f3f878db4bae" + +mbedtls_mpi_mod_raw_add #987 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad" + +mbedtls_mpi_mod_raw_add #989 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_add #990 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed7" + +mbedtls_mpi_mod_raw_add #991 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed8" + +mbedtls_mpi_mod_raw_add #992 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed9" + +mbedtls_mpi_mod_raw_add #993 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412eda" + +mbedtls_mpi_mod_raw_add #994 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412f0e" + +mbedtls_mpi_mod_raw_add #995 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a8e9b79cf3aa768d74397e106c4b4df0b704a8ad26d0e631" + +mbedtls_mpi_mod_raw_add #996 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6ee9aa9c99aac3629ca902dd5d035314bae55816ae3ffd849" + +mbedtls_mpi_mod_raw_add #997 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a7a640b2f6489a97021c7d8e51b3739ff42dcf090804fb5ab3" + +mbedtls_mpi_mod_raw_add #999 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1b51aefaf880b832bd87975706e8ff108578d041694a9f470f62823b55800cae3b2a8bcdb52d8244a600b84f22b6306bf1ae9835a2c8a71d410452ea4606637bc156ece5a603dcd999e42ceeccdea503411a614ef9554cab4fcf6d7df9b2db7018e9695574892b0151c05639f1962233a9d629d9f7f975971f05bfcd2baed4ad" + +mbedtls_mpi_mod_raw_add #1000 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 + 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_add:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"2982b92216235a5198439d11a00c198a84f184c29c37967077694ae052989d46e71a4874dcb1ab94938f6b3732a4a7fad8f347bcd3f0bc6263e772470449624587c95125b232d5b49f9f4b07c3bf15f368e98fd1250d42ea957960d5d157727e03b1340499b9cf4dae511fed18641f13e268fc19bb20bd9fa2c18ba1de825dac" + +Convert from Mont: #1 1/R * 0 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000000":"00000000" + +Convert from Mont: #2 1/R * 0 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000000":"0000000000000000" + +Convert from Mont: #3 1/R * 1 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000001":"00000045" + +Convert from Mont: #4 1/R * 1 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000001":"000000000000001e" + +Convert from Mont: #5 1/R * 2 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000002":"00000037" + +Convert from Mont: #6 1/R * 2 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000002":"000000000000003c" + +Convert from Mont: #7 1/R * 3 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000003":"00000029" + +Convert from Mont: #8 1/R * 3 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000003":"0000000000000007" + +Convert from Mont: #9 1/R * 4 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000004":"0000001b" + +Convert from Mont: #10 1/R * 4 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000004":"0000000000000025" + +Convert from Mont: #11 1/R * 38 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000053":"00000038":"0000002e" + +Convert from Mont: #12 1/R * 38 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000053":"0000000000000038":"0000000000000014" + +Convert from Mont: #27 1/R * 0 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000000":"00000000" + +Convert from Mont: #28 1/R * 0 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000000":"0000000000000000" + +Convert from Mont: #29 1/R * 1 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000001":"00000019" + +Convert from Mont: #30 1/R * 1 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000001":"0000000000000004" + +Convert from Mont: #31 1/R * 2 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000002":"00000032" + +Convert from Mont: #32 1/R * 2 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000002":"0000000000000008" + +Convert from Mont: #33 1/R * 3 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000003":"00000006" + +Convert from Mont: #34 1/R * 3 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000003":"000000000000000c" + +Convert from Mont: #35 1/R * 4 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000004":"0000001f" + +Convert from Mont: #36 1/R * 4 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000004":"0000000000000010" + +Convert from Mont: #37 1/R * 38 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"00000045":"00000038":"00000014" + +Convert from Mont: #38 1/R * 38 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"0000000000000045":"0000000000000038":"0000000000000011" + +Convert from Mont: #53 1/R * 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert from Mont: #54 1/R * 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert from Mont: #55 1/R * 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"74b9f8778bfd86cdb816735b3a84c8af74b73b46e10bf405" + +Convert from Mont: #56 1/R * 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"74b9f8778bfd86cdb816735b3a84c8af74b73b46e10bf405" + +Convert from Mont: #57 1/R * 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"17b2c948b082a697ed27e6b2e64ea23e03ca93b18a8830af" + +Convert from Mont: #58 1/R * 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"17b2c948b082a697ed27e6b2e64ea23e03ca93b18a8830af" + +Convert from Mont: #59 1/R * 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"8c6cc1c03c802d65a53e5a0e20d36aed7881cef86b9424b4" + +Convert from Mont: #60 1/R * 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"8c6cc1c03c802d65a53e5a0e20d36aed7881cef86b9424b4" + +Convert from Mont: #61 1/R * 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"2f65929161054d2fda4fcd65cc9d447c079527631510615e" + +Convert from Mont: #62 1/R * 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"2f65929161054d2fda4fcd65cc9d447c079527631510615e" + +Convert from Mont: #63 1/R * 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"224a8d0017e10393674e3b868468f165b93c7ed680362d13" + +Convert from Mont: #64 1/R * 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"224a8d0017e10393674e3b868468f165b93c7ed680362d13" + +Convert from Mont: #67 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"490b20310ad73f8db9cc45047034439bffb7e576fd83f88e" + +Convert from Mont: #68 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"490b20310ad73f8db9cc45047034439bffb7e576fd83f88e" + +Convert from Mont: #69 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6bfca7b942a311c6b9858f5b6370861aa783df7bca65b201" + +Convert from Mont: #70 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6bfca7b942a311c6b9858f5b6370861aa783df7bca65b201" + +Convert from Mont: #79 1/R * 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert from Mont: #80 1/R * 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert from Mont: #81 1/R * 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"f324f15486ec1faa24c20a130639f7b010a1784f71b2ec81" + +Convert from Mont: #82 1/R * 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"f324f15486ec1faa24c20a130639f7b010a1784f71b2ec81" + +Convert from Mont: #83 1/R * 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"e65c5073e54c77d29b1dedb077aa2610181d0c2a480e7d31" + +Convert from Mont: #84 1/R * 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"e65c5073e54c77d29b1dedb077aa2610181d0c2a480e7d31" + +Convert from Mont: #85 1/R * 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"d993af9343accffb1179d14de91a54701f98a0051e6a0de1" + +Convert from Mont: #86 1/R * 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"d993af9343accffb1179d14de91a54701f98a0051e6a0de1" + +Convert from Mont: #87 1/R * 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"cccb0eb2a20d282387d5b4eb5a8a82d0271433dff4c59e91" + +Convert from Mont: #88 1/R * 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"cccb0eb2a20d282387d5b4eb5a8a82d0271433dff4c59e91" + +Convert from Mont: #89 1/R * 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"33e5857c1eb69f5eef4c3dd18ee780f1be7a053cb60db9f3" + +Convert from Mont: #90 1/R * 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"33e5857c1eb69f5eef4c3dd18ee780f1be7a053cb60db9f3" + +Convert from Mont: #91 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"508fbacd73aaf535ac8ae1a9daf130c4603db82fe3409ca0" + +Convert from Mont: #92 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"508fbacd73aaf535ac8ae1a9daf130c4603db82fe3409ca0" + +Convert from Mont: #93 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4d865c9c12edbbcaf84036900ad55158e4638ae314075919" + +Convert from Mont: #94 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4d865c9c12edbbcaf84036900ad55158e4638ae314075919" + +Convert from Mont: #95 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"55969118b345e4f8650c5a0d8a3f2769e51d4045bd79ebce" + +Convert from Mont: #96 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"55969118b345e4f8650c5a0d8a3f2769e51d4045bd79ebce" + +Convert from Mont: #105 1/R * 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert from Mont: #106 1/R * 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert from Mont: #107 1/R * 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"a125ade065ea1d11748f4adbaf2ed28145218bdc0dc6f08211d6d154f847ee3d7ec56f2768acd3365ad375a0b19f9798f84ae6b133de1274e574ca6a0ec5ad18af852d84cb2b132748dddcd68c62e49d1df06c98a289576b012b5f939614fb0c747786ebfba55b96c2008d140abf034585100f59777f5a3595918325d1fe830e" + +Convert from Mont: #108 1/R * 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"a125ade065ea1d11748f4adbaf2ed28145218bdc0dc6f08211d6d154f847ee3d7ec56f2768acd3365ad375a0b19f9798f84ae6b133de1274e574ca6a0ec5ad18af852d84cb2b132748dddcd68c62e49d1df06c98a289576b012b5f939614fb0c747786ebfba55b96c2008d140abf034585100f59777f5a3595918325d1fe830e" + +Convert from Mont: #109 1/R * 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"790fb3d456facae1cd7e8cf9a6cf41037887b9c3b13bff98f7108d3a6241c3cf07aa8b83cf65295f9c8143c202a619ba0f6cd1f314c8dac235df3b8872ae1cb1075e6fe7696259a52ee0a30121269e5fe00e3e7e50006a16d8f7bf87c17e54e8b9f2c93ce4becfce9937156bd963f12df84ed0270bd487e8a36f6cdead4fb3f9" + +Convert from Mont: #110 1/R * 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"790fb3d456facae1cd7e8cf9a6cf41037887b9c3b13bff98f7108d3a6241c3cf07aa8b83cf65295f9c8143c202a619ba0f6cd1f314c8dac235df3b8872ae1cb1075e6fe7696259a52ee0a30121269e5fe00e3e7e50006a16d8f7bf87c17e54e8b9f2c93ce4becfce9937156bd963f12df84ed0270bd487e8a36f6cdead4fb3f9" + +Convert from Mont: #111 1/R * 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"50f9b9c8480b78b2266dcf179e6faf85abede7ab54b10eafdc4a491fcc3b9960908fa7e0361d7f88de2f11e353ac9bdb268ebd34f5b3a30f8649aca6d6968c495f37b24a0799a02314e3692bb5ea5822a22c1063fd777cc2b0c41f7bece7aec4ff6e0b8dcdd84406706d9dc3a808df166b8d90f4a029b59bb14d569788a0e4e4" + +Convert from Mont: #112 1/R * 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"50f9b9c8480b78b2266dcf179e6faf85abede7ab54b10eafdc4a491fcc3b9960908fa7e0361d7f88de2f11e353ac9bdb268ebd34f5b3a30f8649aca6d6968c495f37b24a0799a02314e3692bb5ea5822a22c1063fd777cc2b0c41f7bece7aec4ff6e0b8dcdd84406706d9dc3a808df166b8d90f4a029b59bb14d569788a0e4e4" + +Convert from Mont: #113 1/R * 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"28e3bfbc391c26827f5d113596101e07df541592f8261dc6c184050536356ef21974c43c9cd5d5b21fdce004a4b31dfc3db0a876d69e6b5cd6b41dc53a7efbe1b710f4aca5d0e6a0fae62f564aae11e56449e249aaee8f6e88907f70185108a144e94ddeb6f1b83e47a4261b76adccfedecc51c2347ee34ebf2b405063f215cf" + +Convert from Mont: #114 1/R * 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"28e3bfbc391c26827f5d113596101e07df541592f8261dc6c184050536356ef21974c43c9cd5d5b21fdce004a4b31dfc3db0a876d69e6b5cd6b41dc53a7efbe1b710f4aca5d0e6a0fae62f564aae11e56449e249aaee8f6e88907f70185108a144e94ddeb6f1b83e47a4261b76adccfedecc51c2347ee34ebf2b405063f215cf" + +Convert from Mont: #115 1/R * 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"a9fd2c7235d73ca0bfd6df72c5c4dc7013227220bd71de083bfe1b69da4fdfe578a215ba8fc8b5a38bc8f142409978db9d573fa116c34ac493c4ee31dd374b5753958b2cb785037af2e069602646a4d6c4652aa16ee74e8d2528f8e27f17367166c9b8f7dc2044aa15660c08054d0b360b89db87189c154964f6518b89e28d0c" + +Convert from Mont: #116 1/R * 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"a9fd2c7235d73ca0bfd6df72c5c4dc7013227220bd71de083bfe1b69da4fdfe578a215ba8fc8b5a38bc8f142409978db9d573fa116c34ac493c4ee31dd374b5753958b2cb785037af2e069602646a4d6c4652aa16ee74e8d2528f8e27f17367166c9b8f7dc2044aa15660c08054d0b360b89db87189c154964f6518b89e28d0c" + +Convert from Mont: #117 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"19fb3cd36a3e14902ae08648ecea45e81a5812009ec340eeaac6c204d6b18090cb21f24b8bd0c48437fe8febee920565444107ebebe844c5927c6c136be278072d5dd3c2d3099e57ae19b1e4e63dc9a0d22fbfc039634569397291464dd0194d0e8c3c153ca72e48466bd60c525aeee67e8b601b8bcab51ad8a31c6d279cd6db" + +Convert from Mont: #118 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"19fb3cd36a3e14902ae08648ecea45e81a5812009ec340eeaac6c204d6b18090cb21f24b8bd0c48437fe8febee920565444107ebebe844c5927c6c136be278072d5dd3c2d3099e57ae19b1e4e63dc9a0d22fbfc039634569397291464dd0194d0e8c3c153ca72e48466bd60c525aeee67e8b601b8bcab51ad8a31c6d279cd6db" + +Convert from Mont: #119 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"8b43c39ddfc4cbb4e7786dc3ca067f0df6ec11a8ed353c4834c100669a646ff1e86be025ce5395237321bc5f0b2f6e6094da34605abd0f6be4ffd23f5487b168bccb0afc51237bee701f731edf26aed6686635d3aa45b7fb22b1bdbc8889db3a7bee86961e5431c93a7897e57297c3de5212c453d8c3fcd7aed10b38fb1f82ee" + +Convert from Mont: #120 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"8b43c39ddfc4cbb4e7786dc3ca067f0df6ec11a8ed353c4834c100669a646ff1e86be025ce5395237321bc5f0b2f6e6094da34605abd0f6be4ffd23f5487b168bccb0afc51237bee701f731edf26aed6686635d3aa45b7fb22b1bdbc8889db3a7bee86961e5431c93a7897e57297c3de5212c453d8c3fcd7aed10b38fb1f82ee" + +Convert from Mont: #121 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"88b69991382e83cffb6f75ee66d8879f1033e185da7e8a434666228d5912f4de086fd99cec9776740b9f4d38b6d72ce5e6a76ea7360ef06d9348657cbf1b33b19aa7612a1936be1b09bbc88f0fc22a6d0cfda55c5d46d54aea1217586d423a52bbe37729c0edf977fea30c1312e53c3a03e0d68dcf5188ce0266d02d1f9c99d5" + +Convert from Mont: #122 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"88b69991382e83cffb6f75ee66d8879f1033e185da7e8a434666228d5912f4de086fd99cec9776740b9f4d38b6d72ce5e6a76ea7360ef06d9348657cbf1b33b19aa7612a1936be1b09bbc88f0fc22a6d0cfda55c5d46d54aea1217586d423a52bbe37729c0edf977fea30c1312e53c3a03e0d68dcf5188ce0266d02d1f9c99d5" + +Convert from Mont: #125 1/R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"a22a06d2f36b6fad3706949217f48a810682f5420f162b1753b3d1f5c68028b24919b5b4a1ec0aa44793d4500e17378249c6d693c1779a1dbbe530325a6a5efd87e46cf6f3cc619b150ba97e9d651fc8ff07f0855da495cefd2ac346c7af4528409700949affeb4035dcdbdb54db88facdb7494a40392374b07b02943996364b" + +Convert from Mont: #126 1/R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"a22a06d2f36b6fad3706949217f48a810682f5420f162b1753b3d1f5c68028b24919b5b4a1ec0aa44793d4500e17378249c6d693c1779a1dbbe530325a6a5efd87e46cf6f3cc619b150ba97e9d651fc8ff07f0855da495cefd2ac346c7af4528409700949affeb4035dcdbdb54db88facdb7494a40392374b07b02943996364b" + +Convert from Mont: #127 1/R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"8823b7ed9dee843595b1533326542beeeabf3cb8421885c48a72dace520c01eee7cb00f5173412e59bd22648d28a10bffcd686d8ad53d2eb49453bee2f265976d15d52c239c010dab5712d1a58865730769f9c42ab7c446ce3cc1716c20803164892c9f578e8858611224612cbf8bd14b014644ed76b5727ef7af5e20ef64d90" + +Convert from Mont: #128 1/R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"8823b7ed9dee843595b1533326542beeeabf3cb8421885c48a72dace520c01eee7cb00f5173412e59bd22648d28a10bffcd686d8ad53d2eb49453bee2f265976d15d52c239c010dab5712d1a58865730769f9c42ab7c446ce3cc1716c20803164892c9f578e8858611224612cbf8bd14b014644ed76b5727ef7af5e20ef64d90" + +Convert from Mont: #131 1/R * 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert from Mont: #132 1/R * 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert from Mont: #133 1/R * 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"4ba22b21e3b26d2c917185cf67909676e4386e4c5223df4d599df0bab67270a4ded4e3234f06c584027346324c1c222b33be22a4c6d2bffadeb05adb5d7bff73e11e536ccd4e03911faf079326994d7cc69adfc5446a3a3a4f63a6ad959fef3c660aac5f74e74aa51ac5959f9af4fc55fe5f68f797a0d7b44c70087ac3cd130d" + +Convert from Mont: #134 1/R * 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"4ba22b21e3b26d2c917185cf67909676e4386e4c5223df4d599df0bab67270a4ded4e3234f06c584027346324c1c222b33be22a4c6d2bffadeb05adb5d7bff73e11e536ccd4e03911faf079326994d7cc69adfc5446a3a3a4f63a6ad959fef3c660aac5f74e74aa51ac5959f9af4fc55fe5f68f797a0d7b44c70087ac3cd130d" + +Convert from Mont: #135 1/R * 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"43860f21d1aaf86376084589130036c77f4e22cbafde0fa1bc5410fc87895b6ca883d2e2eb8bd27fa97cb0418d4297cf60e9901518233f1672e6b2b18d84c119d2fbf7ab45db38ba20192355106b3bbab0833991eb477fa009bc365b675e323d850c7f35af3765498041083d2624486825da2cda1567e59c460ced7da018f459" + +Convert from Mont: #136 1/R * 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"43860f21d1aaf86376084589130036c77f4e22cbafde0fa1bc5410fc87895b6ca883d2e2eb8bd27fa97cb0418d4297cf60e9901518233f1672e6b2b18d84c119d2fbf7ab45db38ba20192355106b3bbab0833991eb477fa009bc365b675e323d850c7f35af3765498041083d2624486825da2cda1567e59c460ced7da018f459" + +Convert from Mont: #137 1/R * 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"3b69f321bfa3839a5a9f0542be6fd7181a63d74b0d983ff61f0a313e58a046347232c2a28810df7b50861a50ce690d738e14fd856973be32071d0a87bd8d82bfc4d99be9be686de320833f16fa3d29f89a6b935e9224c505c414c609391c753ea40e520be9877fede5bc7adab153947a4d54f0bc932ef3843fa9d2807c64d5a5" + +Convert from Mont: #138 1/R * 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"3b69f321bfa3839a5a9f0542be6fd7181a63d74b0d983ff61f0a313e58a046347232c2a28810df7b50861a50ce690d738e14fd856973be32071d0a87bd8d82bfc4d99be9be686de320833f16fa3d29f89a6b935e9224c505c414c609391c753ea40e520be9877fede5bc7adab153947a4d54f0bc932ef3843fa9d2807c64d5a5" + +Convert from Mont: #139 1/R * 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"334dd721ad9c0ed13f35c4fc69df7768b5798bca6b52704a81c0518029b730fc3be1b2622495ec76f78f84600f8f8317bb406af5bac43d4d9b53625ded964465b6b7402836f5a30c20ed5ad8e40f18368453ed2b39020a6b7e6d55b70adab83fc31024e223d79a924b37ed783c82e08c74cfb49f10f6016c3946b78358b0b6f1" + +Convert from Mont: #140 1/R * 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"334dd721ad9c0ed13f35c4fc69df7768b5798bca6b52704a81c0518029b730fc3be1b2622495ec76f78f84600f8f8317bb406af5bac43d4d9b53625ded964465b6b7402836f5a30c20ed5ad8e40f18368453ed2b39020a6b7e6d55b70adab83fc31024e223d79a924b37ed783c82e08c74cfb49f10f6016c3946b78358b0b6f1" + +Convert from Mont: #141 1/R * 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"304f8ac7d0b9bfc40e1a951fe930d687a38fd6aa3b34ac4b6145f13b1d287ee29d2826406c252a3eae8a5c28822bc71408f02fcc8aa953442abf48f9929dcf20840008c05b687768d2d39952929859045702c89831b4eb3c41a1f80478e8b1a2729b38142110f3fa72bde482d0fac58fac36b80a1ea5c5888b44ed6f9da07326" + +Convert from Mont: #142 1/R * 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"304f8ac7d0b9bfc40e1a951fe930d687a38fd6aa3b34ac4b6145f13b1d287ee29d2826406c252a3eae8a5c28822bc71408f02fcc8aa953442abf48f9929dcf20840008c05b687768d2d39952929859045702c89831b4eb3c41a1f80478e8b1a2729b38142110f3fa72bde482d0fac58fac36b80a1ea5c5888b44ed6f9da07326" + +Convert from Mont: #143 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4a1f4275af3e5dd3cae19c924e5ce65eff864b4aaf86c4d2245bc1c686f38538330a8a5f11ce066678cfb5c1fb3ae82d90b8a8d21bd710f80fe59c58b71ed303e75efe8764e3d0c55199ca575547134cf948f8bed87ad59f2a1cfc114adf7c12e78cfbc568350c1acb0d946d769fe71e2aeaff15437d0955fa547d899cda2612" + +Convert from Mont: #144 1/R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4a1f4275af3e5dd3cae19c924e5ce65eff864b4aaf86c4d2245bc1c686f38538330a8a5f11ce066678cfb5c1fb3ae82d90b8a8d21bd710f80fe59c58b71ed303e75efe8764e3d0c55199ca575547134cf948f8bed87ad59f2a1cfc114adf7c12e78cfbc568350c1acb0d946d769fe71e2aeaff15437d0955fa547d899cda2612" + +Convert from Mont: #145 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"360865ad76d277a1b71ab6df5f64741fab3f49c5498d06bee5be8e691de6f8025e961012cedd236f9850dd1b60aabc6752593656da5bf615a6c54730e6986540a64b5a93f9766f708d45f657d0c5551c072ec45c981c18bc2d33b86a8c53140cb6653b84d6faf830e92a37c403efec39b640188397666d50ad4b8f74bad3bfd3" + +Convert from Mont: #146 1/R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"360865ad76d277a1b71ab6df5f64741fab3f49c5498d06bee5be8e691de6f8025e961012cedd236f9850dd1b60aabc6752593656da5bf615a6c54730e6986540a64b5a93f9766f708d45f657d0c5551c072ec45c981c18bc2d33b86a8c53140cb6653b84d6faf830e92a37c403efec39b640188397666d50ad4b8f74bad3bfd3" + +Convert from Mont: #147 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0c8f196fb5d74dd223f72a368b7ce2e359b24503af8d877a9f62ddb18fb3559fe52b40d8c63afff8f80b32a2b151a126d36054f04d53ac62d736224d0d9ef8b281ea8e0ff047c97dd7588db6ac11f64edde5357249ffbee77ce651eb0ae11cc6a47f2279f2d8ffd3125b8134b87d4ebfcc91d802a3462ad5a3abc6f61e915f9c" + +Convert from Mont: #148 1/R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0c8f196fb5d74dd223f72a368b7ce2e359b24503af8d877a9f62ddb18fb3559fe52b40d8c63afff8f80b32a2b151a126d36054f04d53ac62d736224d0d9ef8b281ea8e0ff047c97dd7588db6ac11f64edde5357249ffbee77ce651eb0ae11cc6a47f2279f2d8ffd3125b8134b87d4ebfcc91d802a3462ad5a3abc6f61e915f9c" + +Convert from Mont: #151 1/R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"30e0290b73ca33536b1925eb21440e772431b3f98dcded08233a324aaa07b83c9b68e4bc291d545e82feb30aedcdcdbea8c84921e9c1ddaa35d9590f09c0cff3589d1588979e8207fe2c6b68e366449b3c7965fad7b4edcb2a5616b67b466aa26df1b706f2317a1a9daef0e8185136c20e12123e6e9768c0e7ed0132199bc886" + +Convert from Mont: #152 1/R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"30e0290b73ca33536b1925eb21440e772431b3f98dcded08233a324aaa07b83c9b68e4bc291d545e82feb30aedcdcdbea8c84921e9c1ddaa35d9590f09c0cff3589d1588979e8207fe2c6b68e366449b3c7965fad7b4edcb2a5616b67b466aa26df1b706f2317a1a9daef0e8185136c20e12123e6e9768c0e7ed0132199bc886" + +Convert from Mont: #153 1/R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"429b7b0931e176211ff8c327c1bf976d9d8aa9188b9779dabfa767998a4b273de546eef41ef61b351bbdceda605de1a33856ca1015f2b44a3e55376d0174f443cda94a9541b7796fe07dbc6715d800fc8478c654fdf31a0cb65c8de2f072d669c6faac36a3697d20b6863f85b1c208c111cf4355fb1781e1a99e30782e46593a" + +Convert from Mont: #154 1/R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_from_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"429b7b0931e176211ff8c327c1bf976d9d8aa9188b9779dabfa767998a4b273de546eef41ef61b351bbdceda605de1a33856ca1015f2b44a3e55376d0174f443cda94a9541b7796fe07dbc6715d800fc8478c654fdf31a0cb65c8de2f072d669c6faac36a3697d20b6863f85b1c208c111cf4355fb1781e1a99e30782e46593a" + +Convert into Mont: #1 R * 0 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000000":"00000000" + +Convert into Mont: #2 R * 0 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000000":"0000000000000000" + +Convert into Mont: #3 R * 1 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000001":"0000004d" + +Convert into Mont: #4 R * 1 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000001":"0000000000000024" + +Convert into Mont: #5 R * 2 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000002":"00000047" + +Convert into Mont: #6 R * 2 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000002":"0000000000000048" + +Convert into Mont: #7 R * 3 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000003":"00000041" + +Convert into Mont: #8 R * 3 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000003":"0000000000000019" + +Convert into Mont: #9 R * 4 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000004":"0000003b" + +Convert into Mont: #10 R * 4 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000004":"000000000000003d" + +Convert into Mont: #11 R * 38 mod 53 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000053":"00000038":"0000004f" + +Convert into Mont: #12 R * 38 mod 53 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000053":"0000000000000038":"0000000000000018" + +Convert into Mont: #27 R * 0 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000000":"00000000" + +Convert into Mont: #28 R * 0 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000000":"0000000000000000" + +Convert into Mont: #29 R * 1 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000001":"0000003a" + +Convert into Mont: #30 R * 1 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000001":"0000000000000034" + +Convert into Mont: #31 R * 2 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000002":"0000002f" + +Convert into Mont: #32 R * 2 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000002":"0000000000000023" + +Convert into Mont: #33 R * 3 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000003":"00000024" + +Convert into Mont: #34 R * 3 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000003":"0000000000000012" + +Convert into Mont: #35 R * 4 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000004":"00000019" + +Convert into Mont: #36 R * 4 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000004":"0000000000000001" + +Convert into Mont: #37 R * 38 mod 45 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"00000045":"00000038":"00000005" + +Convert into Mont: #38 R * 38 mod 45 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"0000000000000045":"0000000000000038":"000000000000000e" + +Convert into Mont: #53 R * 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert into Mont: #54 R * 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert into Mont: #55 R * 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Convert into Mont: #56 R * 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"2e3ed859988798fc7cfafffc714510df1a5c1d23c87048a5" + +Convert into Mont: #57 R * 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a" + +Convert into Mont: #58 R * 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"5c7db0b3310f31f8f9f5fff8e28a21be34b83a4790e0914a" + +Convert into Mont: #59 R * 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef" + +Convert into Mont: #60 R * 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"8abc890cc996caf576f0fff553cf329d4f14576b5950d9ef" + +Convert into Mont: #61 R * 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294" + +Convert into Mont: #62 R * 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"b8fb6166621e63f1f3ebfff1c514437c6970748f21c12294" + +Convert into Mont: #63 R * 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4" + +Convert into Mont: #64 R * 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"48b177cc8404a31132abff0e16587b430077bd813dd34bd4" + +Convert into Mont: #67 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78" + +Convert into Mont: #68 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"4620ee1a915348bc419a30c2fd6a2b0765976e168f851c78" + +Convert into Mont: #69 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3" + +Convert into Mont: #70 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"6bd11fc83aab1a2bbae593004c80ccd533f67c208c5ca3b3" + +Convert into Mont: #79 R * 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert into Mont: #80 R * 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000" + +Convert into Mont: #81 R * 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Convert into Mont: #82 R * 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001":"00126dcad774387e5199d98a6b3636aff6da1b8b64a8a42f" + +Convert into Mont: #83 R * 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"0024db95aee870fca333b314d66c6d5fedb43716c951485e" + +Convert into Mont: #84 R * 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002":"0024db95aee870fca333b314d66c6d5fedb43716c951485e" + +Convert into Mont: #85 R * 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d" + +Convert into Mont: #86 R * 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003":"00374960865ca97af4cd8c9f41a2a40fe48e52a22df9ec8d" + +Convert into Mont: #87 R * 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc" + +Convert into Mont: #88 R * 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004":"0049b72b5dd0e1f946676629acd8dabfdb686e2d92a290bc" + +Convert into Mont: #89 R * 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48" + +Convert into Mont: #90 R * 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038":"0408045f216c5ba1d9a7964773dbf67dffb6067e04e3ea48" + +Convert into Mont: #91 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78" + +Convert into Mont: #92 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b6de740e9a19b158dbc8ede1778bfafdd842fa9f7aadeb78" + +Convert into Mont: #93 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a" + +Convert into Mont: #94 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"972dfb114cb35ea927b6680cff7b27de8e9420998f4d388a" + +Convert into Mont: #95 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70" + +Convert into Mont: #96 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"8ebaeb3bca1c9742d73e48a936cbfdbd85bd5d8086681b70" + +Convert into Mont: #105 R * 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert into Mont: #106 R * 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert into Mont: #107 R * 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Convert into Mont: #108 R * 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"36c458138b2690bee45ff74248719c00ee44a20b95ae1e94d362ea9071b1e7540a1fad34fe0b82f2e6da58809f66ea881ed70490ad0cb5d86af5a6b45522c27fa85414ddd30c33569d24e9540860d525a42d654d0aedbb40d6a1006095545ecfd103bb64ed7418a11535fb43c3e5eaa2ee2eb1741cd5d37d784c66930952addd" + +Convert into Mont: #109 R * 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba" + +Convert into Mont: #110 R * 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"6d88b027164d217dc8bfee8490e33801dc8944172b5c3d29a6c5d520e363cea8143f5a69fc1705e5cdb4b1013ecdd5103dae09215a196bb0d5eb4d68aa4584ff50a829bba61866ad3a49d2a810c1aa4b485aca9a15db7681ad4200c12aa8bd9fa20776c9dae831422a6bf68787cbd545dc5d62e839aba6faf098cd2612a55bba" + +Convert into Mont: #111 R * 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997" + +Convert into Mont: #112 R * 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"a44d083aa173b23cad1fe5c6d954d402cacde622c10a5bbe7a28bfb15515b5fc1e5f079efa2288d8b48f0981de34bf985c850db20726218940e0f41cff68477ef8fc3e9979249a03d76ebbfc19227f70ec882fe720c931c283e30121bffd1c6f730b322ec85c49e33fa1f1cb4bb1bfe8ca8c145c56817a7868e533b91bf80997" + +Convert into Mont: #113 R * 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551" + +Convert into Mont: #114 R * 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"11d5b861b7c0d3ba75dfd44b6a380c04a7572a39ec6698e820ee94d2387984a4329e6208f6398ebe8243ba831d0294a89a3316d3613f8d3a16cc4185a9adcc7e49a468551f3d00b111b88ea429e429bc34e2fa8136a4a844312501e2eaa5da0f1512a8f8a3447b256a0de852d37d952ea6e97744902d2173597e00df2e9d6551" + +Convert into Mont: #115 R * 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b" + +Convert into Mont: #116 R * 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"30746d6b97b224f1569d9362178244421508f136834a7b46a06f0e0f8857284ecec909b27531515e068e8bac358b0bc08da2441ffe866f05aa213c039ca3f167af51c98588623d05953cb64e52db1d708897185e07eeeefb86a71ac96a664ba2f808f8fddb32d4ace1f8afcb54c413300ef33733ff4da7cc5d3072c795ee384b" + +Convert into Mont: #117 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359" + +Convert into Mont: #118 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba5b666f0dfbef863190b7be8b8632b6b644c910d7d95bbe061f26a51d70b6b02db37a2ddaf466e6ba12a4186a7200a910d20f14cec9a413e13b8269113b0f65f37d64746ba283244fb7a447b6b18c320aeec0fb9502be2cb6697c36cd9bf192e8600124d21f62fdcd5acfad0a46189ea60cd1e798238b2816f3992975f84359" + +Convert into Mont: #119 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52" + +Convert into Mont: #120 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"aa5664adc1dec2da9cf1955db3cca0dbea312f7cc13a54d7836a7eb807029369df5cc9d81aa8acdec3cc7bcf30f7441fcb781390bcd855f8504b26bbd8219dc68f2e7bda0a7fa65ebeea4df176a63f6596f4663ac9b5fc31f0b58041f5d9d7f0149b359342ad9d3b77cbb7fb75d848ba462a22a3a57d0095f60c7cdeb9d7ce52" + +Convert into Mont: #121 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8" + +Convert into Mont: #122 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c59bd14c22c69435fa85427dc351329c0d7f625b20413f95f82df394cf14eca360a367d7c3df81f31d048a1be01695a21ce1934a6fdbb8099c041ad5707edddfcea119a22fee992c32e5f85a62e1bc882698047a9aea9574d4d2b57bb86ff256a40e1830b70dd03f7cd892a3f910499169ab76b8ea8b3f38dd05263b061b20d8" + +Convert into Mont: #125 R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef" + +Convert into Mont: #126 R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"72695381cba8d8a61d9b7be03f51d94f21967106244fd33d4ac5eeb28b1d2f6bf1f6d83cdba6f622080c9eb338b944916868cfc1799a09cc6f4af41b9d91c6a7bff0e00dc6d34c9aa7ff42dca6e6328fb4dc0d834c82a48e4bb80bc516adff9f7558966851b0281f732f737e74fca0c855d41bdcdfd90a44f05d4a6e056df8ef" + +Convert into Mont: #127 R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a" + +Convert into Mont: #128 R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"351dda9b80f3178f14d5745e3a7f3d867b04d41c9032896d7d86c86cd0679add44f1b0695d9c889db750b64cc948d78f17f34508f0adcd7262014b6d84d0fc8e0490100175752e65f02b6578802b1361df1344241ef706d71fb50ae2010f7a19df39e9ce4bf134d9714b895eef33263c8e6f79dac0919b0d69e0dadd0893e14a" + +Convert into Mont: #131 R * 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert into Mont: #132 R * 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +Convert into Mont: #133 R * 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Convert into Mont: #134 R * 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"04c52a9a1ed25a1ef96fadbecb9d1d8d2497d29922c2f3151b488e954fed6e68c08e25d4e87ad666edc26b96df1efa6aec47e0629f793d622091f6f077a64696323df27501bd94c7a2313c8c49a9e24369e86e162759218240debb00b45afb4e2ae57364503a6ffde02196f9d0aeef347b5210c0b272a29b07869598497c6abd" + +Convert into Mont: #135 R * 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a" + +Convert into Mont: #136 R * 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"098a55343da4b43df2df5b7d973a3b1a492fa5324585e62a36911d2a9fdadcd1811c4ba9d0f5accddb84d72dbe3df4d5d88fc0c53ef27ac44123ede0ef4c8d2c647be4ea037b298f446279189353c486d3d0dc2c4eb2430481bd760168b5f69c55cae6c8a074dffbc0432df3a15dde68f6a4218164e545360f0d2b3092f8d57a" + +Convert into Mont: #137 R * 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037" + +Convert into Mont: #138 R * 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0e4f7fce5c770e5cec4f093c62d758a76dc777cb6848d93f51d9abbfefc84b3a41aa717eb9708334c94742c49d5cef40c4d7a127de6bb82661b5e4d166f2d3c296b9d75f0538be56e693b5a4dcfda6ca3db94a42760b6486c29c31021d10f1ea80b05a2cf0af4ff9a064c4ed720ccd9d71f632421757e7d11693c0c8dc754037" + +Convert into Mont: #139 R * 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4" + +Convert into Mont: #140 R * 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"1314aa687b49687be5beb6fb2e747634925f4a648b0bcc546d223a553fb5b9a302389753a1eb599bb709ae5b7c7be9abb11f818a7de4f5888247dbc1de991a58c8f7c9d406f6531e88c4f23126a7890da7a1b8589d648609037aec02d16bed38ab95cd9140e9bff780865be742bbbcd1ed484302c9ca8a6c1e1a566125f1aaf4" + +Convert into Mont: #141 R * 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415" + +Convert into Mont: #142 R * 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0fe67c50dcd610e589ddaf7b55fb946d25cde418bd681fb31327bf3ecbdd9552dfa66c67c359bceaf049f497ade5c1ce9c00f5f581feaad9407ffb8aa405b7712fcafc0d633620731cf67b3c66d3610294c082eec2d876007197a3282841f4678d16b155dd02ef86e77a9d9f76f342af7545bae7bb863484acf74ee85cb3c415" + +Convert into Mont: #143 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d" + +Convert into Mont: #144 R * d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"4087ff0c8ac6158fb1c15e2891f1438bbac7cd127a7b3041a89fd7e0b6cd1552c83a7a98480c2fbd0edebb715f234aab9dba8e7fb6303205e1a5e588cb9f569044ab79076e2f30acdaee7e59d70052268fdb44a7cbd6e65ca4a720e1623c5b5603699481540f28b33d6074ed9dbca8b9d3e273281fa34bffe7f53c7c2634f04d" + +Convert into Mont: #145 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36" + +Convert into Mont: #146 R * 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"491fa994e52370d28234be55e0c6b86b4bc64f331dcb73e1171774259eb8421e6aa1fd6d5b9e99877853b7c88b762b1e614a2708d45dfbe2e78edb1e5269139d82cadda85ddb4da3881038b7abfc91180526f7280ef2bf88df12f83e8c6dc7cdb7b22a2689aac3d9a1b10025201f847e14364d2e21bc27289d193644d3f53b36" + +Convert into Mont: #147 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66" + +Convert into Mont: #148 R * cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"529476ca066c39d773affc5cefa586abc3eadbc4b7d8dc7e66dfc9c8ee78b13a3aa16d04515bee132d38512f5e3ef9c7fe4601826d0898d273a2b72d6c93e59658986ca5ffb13729f90089a6f03fc3aabe4522cf436096010abd0c175b92a95fc5e788224afa16a25ac0196e39542af02c62d2fbda192c47b2d42163c03e3b66" + +Convert into Mont: #151 R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c" + +Convert into Mont: #152 R * 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"1316b0d56aac8f6c72c97cf97034989754a35cdb501fff899b7a67fca6da16ee82dd6bff97ae6726b71d9fdc5bb296608c1393b311f9a34aa61a5d15c4b04f376fdf6a27cba9d9d1e417f738c186439c0a7f3a477cdf1d77f9f04bfb3516614e769ff9515a0c14856480bb87c6671d4ed33a75e0ad3c2da36d3b7ae0f1ee893c" + +Convert into Mont: #153 R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT32 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b" + +Convert into Mont: #154 R * 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +depends_on:MBEDTLS_HAVE_INT64 +mpi_mod_raw_to_mont_rep:"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"11e771804f5bbeaf6757295df0df2654be9fec35ce77f7fd6d950d43a114849955262289e72b322f5c95540557690d6586885a720ccefc8daa39eb543eb211b14f0abfcc10c0361f8f8b9218dc9324e0e1e6eccbd8d0e1abd807195b65cd7b419db603332980141f6e050f72ded2bc5dd01b466d4c49ba910e7d7b2d71fa666b" + +mbedtls_mpi_mod_raw_sub #1 0 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000000":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #2 0 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000001":"0000000000000053":"0000000000000052" + +mbedtls_mpi_mod_raw_sub #3 0 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000002":"0000000000000053":"0000000000000051" + +mbedtls_mpi_mod_raw_sub #4 0 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000003":"0000000000000053":"0000000000000050" + +mbedtls_mpi_mod_raw_sub #5 0 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000004":"0000000000000053":"000000000000004f" + +mbedtls_mpi_mod_raw_sub #6 0 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000000":"0000000000000038":"0000000000000053":"000000000000001b" + +mbedtls_mpi_mod_raw_sub #14 1 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000000":"0000000000000053":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #15 1 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000001":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #16 1 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000002":"0000000000000053":"0000000000000052" + +mbedtls_mpi_mod_raw_sub #17 1 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000003":"0000000000000053":"0000000000000051" + +mbedtls_mpi_mod_raw_sub #18 1 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000004":"0000000000000053":"0000000000000050" + +mbedtls_mpi_mod_raw_sub #19 1 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000001":"0000000000000038":"0000000000000053":"000000000000001c" + +mbedtls_mpi_mod_raw_sub #27 2 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000000":"0000000000000053":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #28 2 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000001":"0000000000000053":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #29 2 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000002":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #30 2 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000003":"0000000000000053":"0000000000000052" + +mbedtls_mpi_mod_raw_sub #31 2 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000004":"0000000000000053":"0000000000000051" + +mbedtls_mpi_mod_raw_sub #32 2 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000002":"0000000000000038":"0000000000000053":"000000000000001d" + +mbedtls_mpi_mod_raw_sub #40 3 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000000":"0000000000000053":"0000000000000003" + +mbedtls_mpi_mod_raw_sub #41 3 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000001":"0000000000000053":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #42 3 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000002":"0000000000000053":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #43 3 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000003":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #44 3 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000004":"0000000000000053":"0000000000000052" + +mbedtls_mpi_mod_raw_sub #45 3 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000003":"0000000000000038":"0000000000000053":"000000000000001e" + +mbedtls_mpi_mod_raw_sub #53 4 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000000":"0000000000000053":"0000000000000004" + +mbedtls_mpi_mod_raw_sub #54 4 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000001":"0000000000000053":"0000000000000003" + +mbedtls_mpi_mod_raw_sub #55 4 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000002":"0000000000000053":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #56 4 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000003":"0000000000000053":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #57 4 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000004":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #58 4 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000004":"0000000000000038":"0000000000000053":"000000000000001f" + +mbedtls_mpi_mod_raw_sub #66 38 - 0 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000000":"0000000000000053":"0000000000000038" + +mbedtls_mpi_mod_raw_sub #67 38 - 1 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000001":"0000000000000053":"0000000000000037" + +mbedtls_mpi_mod_raw_sub #68 38 - 2 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000002":"0000000000000053":"0000000000000036" + +mbedtls_mpi_mod_raw_sub #69 38 - 3 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000003":"0000000000000053":"0000000000000035" + +mbedtls_mpi_mod_raw_sub #70 38 - 4 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000004":"0000000000000053":"0000000000000034" + +mbedtls_mpi_mod_raw_sub #71 38 - 38 mod 53 +mpi_mod_raw_sub:"0000000000000038":"0000000000000038":"0000000000000053":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #170 0 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000000":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #171 0 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000001":"0000000000000045":"0000000000000044" + +mbedtls_mpi_mod_raw_sub #172 0 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000002":"0000000000000045":"0000000000000043" + +mbedtls_mpi_mod_raw_sub #173 0 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000003":"0000000000000045":"0000000000000042" + +mbedtls_mpi_mod_raw_sub #174 0 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000004":"0000000000000045":"0000000000000041" + +mbedtls_mpi_mod_raw_sub #175 0 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000000":"0000000000000038":"0000000000000045":"000000000000000d" + +mbedtls_mpi_mod_raw_sub #183 1 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000000":"0000000000000045":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #184 1 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000001":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #185 1 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000002":"0000000000000045":"0000000000000044" + +mbedtls_mpi_mod_raw_sub #186 1 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000003":"0000000000000045":"0000000000000043" + +mbedtls_mpi_mod_raw_sub #187 1 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000004":"0000000000000045":"0000000000000042" + +mbedtls_mpi_mod_raw_sub #188 1 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000001":"0000000000000038":"0000000000000045":"000000000000000e" + +mbedtls_mpi_mod_raw_sub #196 2 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000000":"0000000000000045":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #197 2 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000001":"0000000000000045":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #198 2 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000002":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #199 2 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000003":"0000000000000045":"0000000000000044" + +mbedtls_mpi_mod_raw_sub #200 2 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000004":"0000000000000045":"0000000000000043" + +mbedtls_mpi_mod_raw_sub #201 2 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000002":"0000000000000038":"0000000000000045":"000000000000000f" + +mbedtls_mpi_mod_raw_sub #209 3 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000000":"0000000000000045":"0000000000000003" + +mbedtls_mpi_mod_raw_sub #210 3 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000001":"0000000000000045":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #211 3 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000002":"0000000000000045":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #212 3 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000003":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #213 3 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000004":"0000000000000045":"0000000000000044" + +mbedtls_mpi_mod_raw_sub #214 3 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000003":"0000000000000038":"0000000000000045":"0000000000000010" + +mbedtls_mpi_mod_raw_sub #222 4 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000000":"0000000000000045":"0000000000000004" + +mbedtls_mpi_mod_raw_sub #223 4 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000001":"0000000000000045":"0000000000000003" + +mbedtls_mpi_mod_raw_sub #224 4 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000002":"0000000000000045":"0000000000000002" + +mbedtls_mpi_mod_raw_sub #225 4 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000003":"0000000000000045":"0000000000000001" + +mbedtls_mpi_mod_raw_sub #226 4 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000004":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #227 4 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000004":"0000000000000038":"0000000000000045":"0000000000000011" + +mbedtls_mpi_mod_raw_sub #235 38 - 0 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000000":"0000000000000045":"0000000000000038" + +mbedtls_mpi_mod_raw_sub #236 38 - 1 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000001":"0000000000000045":"0000000000000037" + +mbedtls_mpi_mod_raw_sub #237 38 - 2 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000002":"0000000000000045":"0000000000000036" + +mbedtls_mpi_mod_raw_sub #238 38 - 3 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000003":"0000000000000045":"0000000000000035" + +mbedtls_mpi_mod_raw_sub #239 38 - 4 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000004":"0000000000000045":"0000000000000034" + +mbedtls_mpi_mod_raw_sub #240 38 - 38 mod 45 +mpi_mod_raw_sub:"0000000000000038":"0000000000000038":"0000000000000045":"0000000000000000" + +mbedtls_mpi_mod_raw_sub #339 0 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #340 0 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #341 0 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #342 0 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758" + +mbedtls_mpi_mod_raw_sub #343 0 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757" + +mbedtls_mpi_mod_raw_sub #344 0 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723" + +mbedtls_mpi_mod_raw_sub #346 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8" + +mbedtls_mpi_mod_raw_sub #347 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e" + +mbedtls_mpi_mod_raw_sub #352 1 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #353 1 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #354 1 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #355 1 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #356 1 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758" + +mbedtls_mpi_mod_raw_sub #357 1 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb724" + +mbedtls_mpi_mod_raw_sub #359 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de9" + +mbedtls_mpi_mod_raw_sub #360 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7f" + +mbedtls_mpi_mod_raw_sub #365 2 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #366 2 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #367 2 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #368 2 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #369 2 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #370 2 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb725" + +mbedtls_mpi_mod_raw_sub #372 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10dea" + +mbedtls_mpi_mod_raw_sub #373 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b80" + +mbedtls_mpi_mod_raw_sub #378 3 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #379 3 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #380 3 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #381 3 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #382 3 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #383 3 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb726" + +mbedtls_mpi_mod_raw_sub #385 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10deb" + +mbedtls_mpi_mod_raw_sub #386 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b81" + +mbedtls_mpi_mod_raw_sub #391 4 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_sub #392 4 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #393 4 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #394 4 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #395 4 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #396 4 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb727" + +mbedtls_mpi_mod_raw_sub #398 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10dec" + +mbedtls_mpi_mod_raw_sub #399 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b82" + +mbedtls_mpi_mod_raw_sub #404 38 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_sub #405 38 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000037" + +mbedtls_mpi_mod_raw_sub #406 38 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000036" + +mbedtls_mpi_mod_raw_sub #407 38 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000035" + +mbedtls_mpi_mod_raw_sub #408 38 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000034" + +mbedtls_mpi_mod_raw_sub #409 38 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #411 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10e20" + +mbedtls_mpi_mod_raw_sub #412 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58bb6" + +mbedtls_mpi_mod_raw_sub #430 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_sub #431 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972" + +mbedtls_mpi_mod_raw_sub #432 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971" + +mbedtls_mpi_mod_raw_sub #433 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970" + +mbedtls_mpi_mod_raw_sub #434 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f" + +mbedtls_mpi_mod_raw_sub #435 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b" + +mbedtls_mpi_mod_raw_sub #437 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #438 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"1a1b1e79b98a062b31179f87ab7c8078662a5b3f169434f1" + +mbedtls_mpi_mod_raw_sub #443 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_sub #444 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc" + +mbedtls_mpi_mod_raw_sub #445 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb" + +mbedtls_mpi_mod_raw_sub #446 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda" + +mbedtls_mpi_mod_raw_sub #447 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9" + +mbedtls_mpi_mod_raw_sub #448 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5" + +mbedtls_mpi_mod_raw_sub #450 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a" + +mbedtls_mpi_mod_raw_sub #451 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod d1c127a667786703830500038ebaef20e5a3e2dc378fb75b +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #508 0 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #509 0 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0" + +mbedtls_mpi_mod_raw_sub #510 0 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf" + +mbedtls_mpi_mod_raw_sub #511 0 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bce" + +mbedtls_mpi_mod_raw_sub #512 0 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bcd" + +mbedtls_mpi_mod_raw_sub #513 0 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575b99" + +mbedtls_mpi_mod_raw_sub #514 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a476" + +mbedtls_mpi_mod_raw_sub #515 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b25e" + +mbedtls_mpi_mod_raw_sub #516 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000000":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff4" + +mbedtls_mpi_mod_raw_sub #521 1 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #522 1 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #523 1 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0" + +mbedtls_mpi_mod_raw_sub #524 1 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf" + +mbedtls_mpi_mod_raw_sub #525 1 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bce" + +mbedtls_mpi_mod_raw_sub #526 1 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575b9a" + +mbedtls_mpi_mod_raw_sub #527 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a477" + +mbedtls_mpi_mod_raw_sub #528 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b25f" + +mbedtls_mpi_mod_raw_sub #529 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000001":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff5" + +mbedtls_mpi_mod_raw_sub #534 2 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #535 2 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #536 2 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #537 2 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0" + +mbedtls_mpi_mod_raw_sub #538 2 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bcf" + +mbedtls_mpi_mod_raw_sub #539 2 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575b9b" + +mbedtls_mpi_mod_raw_sub #540 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a478" + +mbedtls_mpi_mod_raw_sub #541 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b260" + +mbedtls_mpi_mod_raw_sub #542 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000002":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff6" + +mbedtls_mpi_mod_raw_sub #547 3 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #548 3 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #549 3 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #550 3 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #551 3 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575bd0" + +mbedtls_mpi_mod_raw_sub #552 3 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575b9c" + +mbedtls_mpi_mod_raw_sub #553 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a479" + +mbedtls_mpi_mod_raw_sub #554 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b261" + +mbedtls_mpi_mod_raw_sub #555 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000003":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff7" + +mbedtls_mpi_mod_raw_sub #560 4 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_sub #561 4 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #562 4 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #563 4 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #564 4 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #565 4 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ffed9235288bc781ae66267594c9c9500925e4749b575b9d" + +mbedtls_mpi_mod_raw_sub #566 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a47a" + +mbedtls_mpi_mod_raw_sub #567 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b262" + +mbedtls_mpi_mod_raw_sub #568 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000004":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d2ff8" + +mbedtls_mpi_mod_raw_sub #573 38 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_sub #574 38 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000037" + +mbedtls_mpi_mod_raw_sub #575 38 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000036" + +mbedtls_mpi_mod_raw_sub #576 38 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000035" + +mbedtls_mpi_mod_raw_sub #577 38 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000034" + +mbedtls_mpi_mod_raw_sub #578 38 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #579 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"2e2c6a8ec113607e2b612672060eda2f2382019863c7a4ae" + +mbedtls_mpi_mod_raw_sub #580 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"e87b78621a11a0e1d50a76aca224f6d42c3128daa698b296" + +mbedtls_mpi_mod_raw_sub #581 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"000000000000000000000000000000000000000000000038":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"30d56f356c234009831d1630bee6882bacb7a13d859d302c" + +mbedtls_mpi_mod_raw_sub #586 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_sub #587 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #588 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #589 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb758" + +mbedtls_mpi_mod_raw_sub #590 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb757" + +mbedtls_mpi_mod_raw_sub #591 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"d1c127a667786703830500038ebaef20e5a3e2dc378fb723" + +mbedtls_mpi_mod_raw_sub #592 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #593 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8" + +mbedtls_mpi_mod_raw_sub #594 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"02a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e" + +mbedtls_mpi_mod_raw_sub #599 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_sub #600 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972" + +mbedtls_mpi_mod_raw_sub #601 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971" + +mbedtls_mpi_mod_raw_sub #602 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970" + +mbedtls_mpi_mod_raw_sub #603 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f" + +mbedtls_mpi_mod_raw_sub #604 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b" + +mbedtls_mpi_mod_raw_sub #605 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"459e8461cf8d871e04bcd63af8b3acab0076bd3258864de9" + +mbedtls_mpi_mod_raw_sub #606 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #607 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"484789087a9d66a95c78c5f9b18b5aa789ac5cd77a5bd967" + +mbedtls_mpi_mod_raw_sub #612 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000000":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_sub #613 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000001":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc" + +mbedtls_mpi_mod_raw_sub #614 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000002":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb" + +mbedtls_mpi_mod_raw_sub #615 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000003":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bda" + +mbedtls_mpi_mod_raw_sub #616 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000004":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9" + +mbedtls_mpi_mod_raw_sub #617 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"000000000000000000000000000000000000000000000038":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5" + +mbedtls_mpi_mod_raw_sub #618 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"fd448d8e7d7be7f656aa36b6dbf21b537ff044cf7981d053" + +mbedtls_mpi_mod_raw_sub #619 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a" + +mbedtls_mpi_mod_raw_sub #620 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod ffed9235288bc781ae66267594c9c9500925e4749b575bd1 +mpi_mod_raw_sub:"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":"000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #677 0 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #678 0 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222" + +mbedtls_mpi_mod_raw_sub #679 0 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221" + +mbedtls_mpi_mod_raw_sub #680 0 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220" + +mbedtls_mpi_mod_raw_sub #681 0 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad521f" + +mbedtls_mpi_mod_raw_sub #682 0 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51eb" + +mbedtls_mpi_mod_raw_sub #683 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac8" + +mbedtls_mpi_mod_raw_sub #684 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b0" + +mbedtls_mpi_mod_raw_sub #685 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32646" + +mbedtls_mpi_mod_raw_sub #687 0 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4c" + +mbedtls_mpi_mod_raw_sub #688 0 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234d" + +mbedtls_mpi_mod_raw_sub #690 1 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #691 1 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #692 1 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222" + +mbedtls_mpi_mod_raw_sub #693 1 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221" + +mbedtls_mpi_mod_raw_sub #694 1 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5220" + +mbedtls_mpi_mod_raw_sub #695 1 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ec" + +mbedtls_mpi_mod_raw_sub #696 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9ac9" + +mbedtls_mpi_mod_raw_sub #697 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b1" + +mbedtls_mpi_mod_raw_sub #698 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32647" + +mbedtls_mpi_mod_raw_sub #700 1 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4d" + +mbedtls_mpi_mod_raw_sub #701 1 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234e" + +mbedtls_mpi_mod_raw_sub #703 2 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #704 2 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #705 2 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #706 2 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222" + +mbedtls_mpi_mod_raw_sub #707 2 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5221" + +mbedtls_mpi_mod_raw_sub #708 2 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ed" + +mbedtls_mpi_mod_raw_sub #709 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9aca" + +mbedtls_mpi_mod_raw_sub #710 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b2" + +mbedtls_mpi_mod_raw_sub #711 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32648" + +mbedtls_mpi_mod_raw_sub #713 2 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4e" + +mbedtls_mpi_mod_raw_sub #714 2 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c234f" + +mbedtls_mpi_mod_raw_sub #716 3 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #717 3 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #718 3 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #719 3 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #720 3 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5222" + +mbedtls_mpi_mod_raw_sub #721 3 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ee" + +mbedtls_mpi_mod_raw_sub #722 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9acb" + +mbedtls_mpi_mod_raw_sub #723 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b3" + +mbedtls_mpi_mod_raw_sub #724 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f32649" + +mbedtls_mpi_mod_raw_sub #726 3 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac4f" + +mbedtls_mpi_mod_raw_sub #727 3 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2350" + +mbedtls_mpi_mod_raw_sub #729 4 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_sub #730 4 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #731 4 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #732 4 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #733 4 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #734 4 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad51ef" + +mbedtls_mpi_mod_raw_sub #735 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9acc" + +mbedtls_mpi_mod_raw_sub #736 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8b4" + +mbedtls_mpi_mod_raw_sub #737 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f3264a" + +mbedtls_mpi_mod_raw_sub #739 4 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac50" + +mbedtls_mpi_mod_raw_sub #740 4 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2351" + +mbedtls_mpi_mod_raw_sub #742 38 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_sub #743 38 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037" + +mbedtls_mpi_mod_raw_sub #744 38 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036" + +mbedtls_mpi_mod_raw_sub #745 38 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035" + +mbedtls_mpi_mod_raw_sub #746 38 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034" + +mbedtls_mpi_mod_raw_sub #747 38 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #748 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1908dd15d4a1ae598ecc4e88546f3d61a20fb690bf1d9b00" + +mbedtls_mpi_mod_raw_sub #749 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ed357eae92d9feebd38759ec2f0855a06aabeddd301eea8e8" + +mbedtls_mpi_mod_raw_sub #750 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e1bb1e1bc7fb18de4e6883e470d46eb5e2b455635e0f3267e" + +mbedtls_mpi_mod_raw_sub #752 38 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40470323e78d6b602b3592fa2bec8c115bb3a0e9f70ba3fac84" + +mbedtls_mpi_mod_raw_sub #753 38 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb813a174c5afe805d3209cd07f0599cdb2b652d39c076c2385" + +mbedtls_mpi_mod_raw_sub #755 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_sub #756 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #757 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #758 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb758" + +mbedtls_mpi_mod_raw_sub #759 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb757" + +mbedtls_mpi_mod_raw_sub #760 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb723" + +mbedtls_mpi_mod_raw_sub #761 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #762 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8" + +mbedtls_mpi_mod_raw_sub #763 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e" + +mbedtls_mpi_mod_raw_sub #765 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40541f3661f3e2e69b6dc34a2c2577c04dc1fb2824cf1cf63a7" + +mbedtls_mpi_mod_raw_sub #766 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb8e5629c6c17606cd6a3a1d0829454bcd39bf6b6783efbdaa8" + +mbedtls_mpi_mod_raw_sub #768 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_sub #769 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972" + +mbedtls_mpi_mod_raw_sub #770 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971" + +mbedtls_mpi_mod_raw_sub #771 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970" + +mbedtls_mpi_mod_raw_sub #772 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f" + +mbedtls_mpi_mod_raw_sub #773 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b" + +mbedtls_mpi_mod_raw_sub #774 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e307af6e8e31bd4f96827fe5147140fdd7f04722ab3dc443b" + +mbedtls_mpi_mod_raw_sub #775 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #776 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75e3323fb8f8e2bb484bfe3ee0fffebbdda083a11cfd5b1cfb9" + +mbedtls_mpi_mod_raw_sub #778 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa40487a4584be5302953328b5287bb65e83717035b0aaefe55bf" + +mbedtls_mpi_mod_raw_sub #779 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb82b138e98be622c72f9f88047f83ea02e93478f35fc2accc0" + +mbedtls_mpi_mod_raw_sub #781 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_sub #782 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc" + +mbedtls_mpi_mod_raw_sub #783 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb" + +mbedtls_mpi_mod_raw_sub #784 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bda" + +mbedtls_mpi_mod_raw_sub #785 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9" + +mbedtls_mpi_mod_raw_sub #786 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5" + +mbedtls_mpi_mod_raw_sub #787 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75ee8210015910a35d1ba155ecd2a527e85fe7df9c7d4d7c6a5" + +mbedtls_mpi_mod_raw_sub #788 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a" + +mbedtls_mpi_mod_raw_sub #789 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #791 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"c2ab5582876a64372a3a3fef80ab71b3cebb50144f230d5c58ef38a4621a5aa12e42eb37bb1fd092bceca4cbd73539095bf407181a23013b85f9bf84e6fb8b275a39a6cf60095aaa18c68f410ca010d0cf2d014c8e439989244c428c59a47eff17eb7547eadfa4053f4a6178931e8a2b8478b3039ea456df967ce2a7cff9d829" + +mbedtls_mpi_mod_raw_sub #792 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"b47a4b5b69c7c2184f7e3a34e7885739cf429b931c361632f0e86fff6501ca0882532e90939ba742cf5df1e3c746c17a74af5790e8faebf66316a02828b88c5d93c7428f53da61cf130b712815bf9fe0a75dd2ca628ba349dea24f3481ffe7f12d23aa98c5aeffb8e2b997c56c508d4b4be5e0c3db7d0ed712c116d31d264f2a" + +mbedtls_mpi_mod_raw_sub #807 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_sub #808 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6" + +mbedtls_mpi_mod_raw_sub #809 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5" + +mbedtls_mpi_mod_raw_sub #810 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4" + +mbedtls_mpi_mod_raw_sub #811 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3" + +mbedtls_mpi_mod_raw_sub #812 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f" + +mbedtls_mpi_mod_raw_sub #813 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c" + +mbedtls_mpi_mod_raw_sub #814 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64" + +mbedtls_mpi_mod_raw_sub #815 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa" + +mbedtls_mpi_mod_raw_sub #817 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #818 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"bb0a9dc55736cd2240e403031e6b49851242a9733764ea41c4964cca9135881349f09623da7053bd2b96f49750aa9de8f9e44be821cb34e2722739eeec9a3eb6913986e220c4d3ce5d1ff89300beb9ea34036c30c95a4e7fe3b50c4793070a22443479ebed5b43128e393b09154c187cd93e7c4c2002e47a03f7cd9843d9c924" + +mbedtls_mpi_mod_raw_sub #820 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_sub #821 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5" + +mbedtls_mpi_mod_raw_sub #822 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4" + +mbedtls_mpi_mod_raw_sub #823 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3" + +mbedtls_mpi_mod_raw_sub #824 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2" + +mbedtls_mpi_mod_raw_sub #825 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e" + +mbedtls_mpi_mod_raw_sub #826 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b" + +mbedtls_mpi_mod_raw_sub #827 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563" + +mbedtls_mpi_mod_raw_sub #828 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9" + +mbedtls_mpi_mod_raw_sub #830 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff" + +mbedtls_mpi_mod_raw_sub #831 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"c93ba7ec74d96f411ba008bdb78e63ff11bb5df46a51e16b2c9d156f8e4e18abf5e052cb01f47d0d1925a77f60991577e128fb6f52f34a27950a594baadd3d8057abeb222cf3cca962db16abf79f2ada5bd29ab2f51244bf295eff9f6aaba1302efc449b128be75eeaca04bc3c1a155d11d14e8be32a2c8287b3996cf6ad5223":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #846 0 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #847 0 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0" + +mbedtls_mpi_mod_raw_sub #848 0 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf" + +mbedtls_mpi_mod_raw_sub #849 0 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131be" + +mbedtls_mpi_mod_raw_sub #850 0 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bd" + +mbedtls_mpi_mod_raw_sub #851 0 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e7813189" + +mbedtls_mpi_mod_raw_sub #852 0 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a66" + +mbedtls_mpi_mod_raw_sub #853 0 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c2884e" + +mbedtls_mpi_mod_raw_sub #854 0 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e4" + +mbedtls_mpi_mod_raw_sub #856 0 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bea" + +mbedtls_mpi_mod_raw_sub #857 0 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002eb" + +mbedtls_mpi_mod_raw_sub #859 1 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #860 1 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #861 1 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0" + +mbedtls_mpi_mod_raw_sub #862 1 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf" + +mbedtls_mpi_mod_raw_sub #863 1 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131be" + +mbedtls_mpi_mod_raw_sub #864 1 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318a" + +mbedtls_mpi_mod_raw_sub #865 1 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a67" + +mbedtls_mpi_mod_raw_sub #866 1 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c2884f" + +mbedtls_mpi_mod_raw_sub #867 1 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e5" + +mbedtls_mpi_mod_raw_sub #869 1 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138beb" + +mbedtls_mpi_mod_raw_sub #870 1 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ec" + +mbedtls_mpi_mod_raw_sub #872 2 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #873 2 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #874 2 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #875 2 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0" + +mbedtls_mpi_mod_raw_sub #876 2 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131bf" + +mbedtls_mpi_mod_raw_sub #877 2 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318b" + +mbedtls_mpi_mod_raw_sub #878 2 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a68" + +mbedtls_mpi_mod_raw_sub #879 2 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28850" + +mbedtls_mpi_mod_raw_sub #880 2 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e6" + +mbedtls_mpi_mod_raw_sub #882 2 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bec" + +mbedtls_mpi_mod_raw_sub #883 2 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ed" + +mbedtls_mpi_mod_raw_sub #885 3 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #886 3 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #887 3 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #888 3 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #889 3 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c0" + +mbedtls_mpi_mod_raw_sub #890 3 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318c" + +mbedtls_mpi_mod_raw_sub #891 3 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a69" + +mbedtls_mpi_mod_raw_sub #892 3 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28851" + +mbedtls_mpi_mod_raw_sub #893 3 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e7" + +mbedtls_mpi_mod_raw_sub #895 3 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bed" + +mbedtls_mpi_mod_raw_sub #896 3 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ee" + +mbedtls_mpi_mod_raw_sub #898 4 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004" + +mbedtls_mpi_mod_raw_sub #899 4 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003" + +mbedtls_mpi_mod_raw_sub #900 4 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002" + +mbedtls_mpi_mod_raw_sub #901 4 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + +mbedtls_mpi_mod_raw_sub #902 4 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #903 4 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e781318d" + +mbedtls_mpi_mod_raw_sub #904 4 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a6a" + +mbedtls_mpi_mod_raw_sub #905 4 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28852" + +mbedtls_mpi_mod_raw_sub #906 4 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c705e8" + +mbedtls_mpi_mod_raw_sub #908 4 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138bee" + +mbedtls_mpi_mod_raw_sub #909 4 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f84002ef" + +mbedtls_mpi_mod_raw_sub #911 38 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038" + +mbedtls_mpi_mod_raw_sub #912 38 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037" + +mbedtls_mpi_mod_raw_sub #913 38 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036" + +mbedtls_mpi_mod_raw_sub #914 38 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035" + +mbedtls_mpi_mod_raw_sub #915 38 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034" + +mbedtls_mpi_mod_raw_sub #916 38 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #917 38 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe388fb5ba84d494053dfa5118b1edaab6d2f409baff17a9e" + +mbedtls_mpi_mod_raw_sub #918 38 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a9730009dd8092f014b89a3fd88f54c2734f75075de67ddf2c28886" + +mbedtls_mpi_mod_raw_sub #919 38 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972fffe6320002535d28cbab9b94d043f688a7f664e040d1c7061c" + +mbedtls_mpi_mod_raw_sub #921 38 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca63ab25cbeaa619d9a1e42f947ff70b305052e297bab138c22" + +mbedtls_mpi_mod_raw_sub #922 38 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859de21930b8393a0b9e5b027083c496afc81725da6f8400323" + +mbedtls_mpi_mod_raw_sub #924 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b" + +mbedtls_mpi_mod_raw_sub #925 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75a" + +mbedtls_mpi_mod_raw_sub #926 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb759" + +mbedtls_mpi_mod_raw_sub #927 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb758" + +mbedtls_mpi_mod_raw_sub #928 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb757" + +mbedtls_mpi_mod_raw_sub #929 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb723" + +mbedtls_mpi_mod_raw_sub #930 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #931 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ba4f0dd358fe4063a9a9503a9c161ca508af274242d10de8" + +mbedtls_mpi_mod_raw_sub #932 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a904a6ab0fdf8b57bbefbeb8d7adfc89359fa521d58b7e" + +mbedtls_mpi_mod_raw_sub #934 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca70c73846511da049da147f94b8e2ba225ead20c57e2a34345" + +mbedtls_mpi_mod_raw_sub #935 d1c127a667786703830500038ebaef20e5a3e2dc378fb75b - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba485aafe2bab1eb0c07bd68b5270bcb045a1d671640832fcfba46" + +mbedtls_mpi_mod_raw_sub #937 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973" + +mbedtls_mpi_mod_raw_sub #938 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea972" + +mbedtls_mpi_mod_raw_sub #939 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea971" + +mbedtls_mpi_mod_raw_sub #940 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea970" + +mbedtls_mpi_mod_raw_sub #941 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea96f" + +mbedtls_mpi_mod_raw_sub #942 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea93b" + +mbedtls_mpi_mod_raw_sub #943 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972ffffafb152eb6c76fe02d3b54da7dc3ad274a23fc35a4b023d9" + +mbedtls_mpi_mod_raw_sub #944 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #945 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a972ffffda419d561d74f6b84f74499369b5b23d3599bdac685af57" + +mbedtls_mpi_mod_raw_sub #947 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca652247691b8dbc439f79ea910f2158580e222e5159fd2355d" + +mbedtls_mpi_mod_raw_sub #948 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba4859f593acde920dc759bf0bd6d12eee3d785e671940ecfeac5e" + +mbedtls_mpi_mod_raw_sub #950 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd" + +mbedtls_mpi_mod_raw_sub #951 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdc" + +mbedtls_mpi_mod_raw_sub #952 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdb" + +mbedtls_mpi_mod_raw_sub #953 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bda" + +mbedtls_mpi_mod_raw_sub #954 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bd9" + +mbedtls_mpi_mod_raw_sub #955 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2ba5" + +mbedtls_mpi_mod_raw_sub #956 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b2a11e5b64b5d0b87f28b55661021bcfc99d83d2c5aba643" + +mbedtls_mpi_mod_raw_sub #957 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b7a6092cadee60d851ed607be33e6ea87f79879d20fb826a" + +mbedtls_mpi_mod_raw_sub #958 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #960 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"4d2df4b8084ad6ebbb74fd47853e03db0622abecd93adaea2339f3adb927c7d24d888bd06bad0c0dff30d96f8191d018815dc0dd3cb1f7f33b69693e69918b74f1ce6adb87d65c68d530646651c84535500cec9236be499e8ff859ecb2da8a0a2ff80a3612eaeca709ca7fbe66ca2512498c098cd553f429619c6cb2c0cdb7c7" + +mbedtls_mpi_mod_raw_sub #961 cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"3efcea90eaa834cce0b8f78cec1ae96106a9f76ba64de3c0bb332b08bc0f3739a198cf294428e2be11a2268771a358899a1911560b89e2ae188649e1ab4e8cab2b5c069b7ba7638dcf75464d5ae7d445283dbe100b06535f4a4e6694db35f2fc45303f86edba485aad39b60b3ffc283210f9374d122cac20dde0a0de0dfa2ec8" + +mbedtls_mpi_mod_raw_sub #976 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7" + +mbedtls_mpi_mod_raw_sub #977 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d6" + +mbedtls_mpi_mod_raw_sub #978 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d5" + +mbedtls_mpi_mod_raw_sub #979 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d4" + +mbedtls_mpi_mod_raw_sub #980 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d3" + +mbedtls_mpi_mod_raw_sub #981 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da59f" + +mbedtls_mpi_mod_raw_sub #982 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359a8d69e9cfdebaba6359cabc98bae27a66801172004ddee7c" + +mbedtls_mpi_mod_raw_sub #983 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a6325ac7056e9ec09df45fc0427c4444b70b03e6247aefc64" + +mbedtls_mpi_mod_raw_sub #984 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac4359ab7fa343a8fb8b318d589b884485d5a2f136b6c526b379fa" + +mbedtls_mpi_mod_raw_sub #986 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +mbedtls_mpi_mod_raw_sub #987 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"458d3cfad8173fd6d21ec05b22fddbac49aa054bc17cb7cf8ee107d3e842f544693636bc8afd8f386ddb293afb0734f81f4e05ad445a2b9a2796e3a86f303f0428ce4aee4891d58d1989cdb845e6ee4eb4e3577671d4fe954f6123a7ec3d152d5c410eda15668bb458b9594ee8f7b3639e51d2d556b281c3cf1757a334ada8c2" + +mbedtls_mpi_mod_raw_sub #989 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 0 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6" + +mbedtls_mpi_mod_raw_sub #990 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 1 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed5" + +mbedtls_mpi_mod_raw_sub #991 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 2 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed4" + +mbedtls_mpi_mod_raw_sub #992 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 3 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed3" + +mbedtls_mpi_mod_raw_sub #993 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 4 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed2" + +mbedtls_mpi_mod_raw_sub #994 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 38 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412e9e" + +mbedtls_mpi_mod_raw_sub #995 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - d1c127a667786703830500038ebaef20e5a3e2dc378fb75b mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1c127a667786703830500038ebaef20e5a3e2dc378fb75b":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a60567685024b9a8866e2f7e094ed56faeebbce2f4b7b1777b" + +mbedtls_mpi_mod_raw_sub #996 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6bfb676237db7e8ea17d8ce43eaeb8c53f46c0a36fa828563" + +mbedtls_mpi_mod_raw_sub #997 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a608106cf6cfc98811c5eb6dc807ad1dab74f28299d98702f9" + +mbedtls_mpi_mod_raw_sub #999 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 6905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"06905269ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0ac79d679346d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258fd724452ccea71ff4a14876aeaff1a098ca5996666ceab360512bd13110722311710cf5327ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0e310a271da2a21edabc05ba99231a79ff78b48132ecf7296806c8a4fd189098abefbca72784294fed8eb2e80fee778ee744af873128154522e31f5cbe42fec9c67264400c2ef8db05bb1e18f6e070f027cf2e822bb7f63f45a9f357d7a4970deac7caaf2530a44c5c90c9b326cdfce03892d23fc327480883bbcbd4b2d388ff" + +mbedtls_mpi_mod_raw_sub #1000 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 - 14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6 mod 53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1 +mpi_mod_raw_sub:"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb383bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de69f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":"53be4721f5b9e1f5acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b8885b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce681f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c1":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + +# End of automatically generated file. diff --git a/tests/suites/test_suite_camellia.function b/tests/suites/test_suite_camellia.function index cc18d5b381..3d318c861f 100644 --- a/tests/suites/test_suite_camellia.function +++ b/tests/suites/test_suite_camellia.function @@ -7,7 +7,7 @@ * END_DEPENDENCIES */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void camellia_invalid_param( ) { mbedtls_camellia_context ctx; diff --git a/tests/suites/test_suite_ccm.data b/tests/suites/test_suite_ccm.data index 61e6e9b991..2c4ccc4675 100644 --- a/tests/suites/test_suite_ccm.data +++ b/tests/suites/test_suite_ccm.data @@ -1715,30 +1715,39 @@ depends_on:MBEDTLS_AES_C mbedtls_ccm_incomplete_update_overflow:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_DECRYPT:"d32088d50df9aba14d9022c870a0cb85":"4b10788c1a03bca656f04f1f98":"e16c69861efc206e85aab1255e":"0eff7d7bcceb873c3203a8df74f4e91b04bd607ec11202f96cfeb99f5bcdb7aa" CCM encrypt, instant finish NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:"d32088d50df9aba14d9022c870a0cb85":"4b10788c1a03bca656f04f1f98" CCM decrypt, instant finish NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:"d32088d50df9aba14d9022c870a0cb85":"4b10788c1a03bca656f04f1f98" CCM* encrypt, instant finish NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_ENCRYPT:"d32088d50df9aba14d9022c870a0cb85":"4b10788c1a03bca656f04f1f98" CCM* decrypt, instant finish NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_DECRYPT:"d32088d50df9aba14d9022c870a0cb85":"4b10788c1a03bca656f04f1f98" CCM encrypt, instant finish AES-128 (P=0, N=13, A=0, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af" CCM decrypt, instant finish AES-128 (P=0, N=13, A=0, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af" CCM* encrypt, instant finish AES-128 (P=0, N=13, A=0, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_ENCRYPT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af" CCM* decrypt, instant finish AES-128 (P=0, N=13, A=0, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_DECRYPT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af" CCM pass unexpected auth data, NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) +depends_on:MBEDTLS_AES_C mbedtls_ccm_unexpected_ad::MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:"d32088d50df9aba14d9022c870a0cb85":"e16c69861efc206e85aab1255e":"0eff7d7bcceb873c3203a8df74f4e91b04bd607ec11202f96cfeb99f5bcdb7aa" CCM encrypt, unexpected ciphertext/plaintext data, NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16) diff --git a/tests/suites/test_suite_cipher.aes.data b/tests/suites/test_suite_cipher.aes.data index 8220e8d2cb..aabd8617d3 100644 --- a/tests/suites/test_suite_cipher.aes.data +++ b/tests/suites/test_suite_cipher.aes.data @@ -2015,195 +2015,195 @@ depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"5c9d844ed46f9885085e5d6a4f94c7d7":"014730f80ac625fe84f026c60bfd547d":0:0 AES-128-CBC crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"00000000000000000000000000000000":"80000000000000000000000000000000":"3ad78e726c1ec02b7ebfe92b23d9ec34":0:1 AES-128-CBC crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffe000":"00000000000000000000000000000000":"00000000000000000000000000000000":"323994cfb9da285a5d9642e1759b224a":0:1 AES-128-CBC crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_ENCRYPT:"10a58869d74be5a374cf867cfb473859":"00000000000000000000000000000000":"00000000000000000000000000000000":"6d251e6944b051e04eaa6fb4dbf78465":0:1 AES-128-CBC crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"00000000000000000000000000000000":"f34481ec3cc627bacd5dc3fb08f273e6":"0336763e966d92595a567cc9ce537f5e":0:1 AES-128-CBC crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"00000000000000000000000000000000":"3ad78e726c1ec02b7ebfe92b23d9ec34":"80000000000000000000000000000000":0:1 AES-128-CBC crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_DECRYPT:"ffffc000000000000000000000000000":"00000000000000000000000000000000":"df556a33438db87bc41b1752c55e5e49":"00000000000000000000000000000000":0:1 AES-128-CBC crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_DECRYPT:"10a58869d74be5a374cf867cfb473859":"00000000000000000000000000000000":"6d251e6944b051e04eaa6fb4dbf78465":"00000000000000000000000000000000":0:1 AES-128-CBC crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"00000000000000000000000000000000":"0336763e966d92595a567cc9ce537f5e":"f34481ec3cc627bacd5dc3fb08f273e6":0:1 AES-192-CBC crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"80000000000000000000000000000000":"6cd02513e8d4dc986b4afe087a60bd0c":0:1 AES-192-CBC crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_ENCRYPT:"ff0000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"00000000000000000000000000000000":"833f71258d53036b02952c76c744f5a1":0:1 AES-192-CBC crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_ENCRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"00000000000000000000000000000000":"00000000000000000000000000000000":"0956259c9cd5cfd0181cca53380cde06":0:1 AES-192-CBC crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"1b077a6af4b7f98229de786d7516b639":"275cfc0413d8ccb70513c3859b1d0f72":0:1 AES-192-CBC crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"6cd02513e8d4dc986b4afe087a60bd0c":"80000000000000000000000000000000":0:1 AES-192-CBC crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_DECRYPT:"ffe000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"7ababc4b3f516c9aafb35f4140b548f9":"00000000000000000000000000000000":0:1 AES-192-CBC crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_DECRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"00000000000000000000000000000000":"0956259c9cd5cfd0181cca53380cde06":"00000000000000000000000000000000":0:1 AES-192-CBC crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_CBC:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:1 AES-256-CBC crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"80000000000000000000000000000000":"ddc6bf790c15760d8d9aeb6f9a75fd4e":0:1 AES-256-CBC crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_ENCRYPT:"ff00000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"00000000000000000000000000000000":"ec52a212f80a09df6317021bc2a9819e":0:1 AES-256-CBC crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_ENCRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"00000000000000000000000000000000":"00000000000000000000000000000000":"46f2fb342d6f0ab477476fc501242c5f":0:1 AES-256-CBC crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"014730f80ac625fe84f026c60bfd547d":"5c9d844ed46f9885085e5d6a4f94c7d7":0:1 AES-256-CBC crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:1 AES-256-CBC crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_DECRYPT:"ffe0000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"d1ccb9b1337002cbac42c520b5d67722":"00000000000000000000000000000000":0:1 AES-256-CBC crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_DECRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"00000000000000000000000000000000":"46f2fb342d6f0ab477476fc501242c5f":"00000000000000000000000000000000":0:1 AES-256-CBC crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"5c9d844ed46f9885085e5d6a4f94c7d7":"014730f80ac625fe84f026c60bfd547d":0:1 AES-128-ECB crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"80000000000000000000000000000000":"3ad78e726c1ec02b7ebfe92b23d9ec34":0:1 AES-128-ECB crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"ffffffffffffffffffffffffffffe000":"":"00000000000000000000000000000000":"323994cfb9da285a5d9642e1759b224a":0:1 AES-128-ECB crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"10a58869d74be5a374cf867cfb473859":"":"00000000000000000000000000000000":"6d251e6944b051e04eaa6fb4dbf78465":0:1 AES-128-ECB crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_ENCRYPT:"00000000000000000000000000000000":"":"f34481ec3cc627bacd5dc3fb08f273e6":"0336763e966d92595a567cc9ce537f5e":0:1 AES-128-ECB crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"3ad78e726c1ec02b7ebfe92b23d9ec34":"80000000000000000000000000000000":0:1 AES-128-ECB crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"ffffc000000000000000000000000000":"":"df556a33438db87bc41b1752c55e5e49":"00000000000000000000000000000000":0:1 AES-128-ECB crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"10a58869d74be5a374cf867cfb473859":"":"6d251e6944b051e04eaa6fb4dbf78465":"00000000000000000000000000000000":0:1 AES-128-ECB crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_128_ECB:MBEDTLS_DECRYPT:"00000000000000000000000000000000":"":"0336763e966d92595a567cc9ce537f5e":"f34481ec3cc627bacd5dc3fb08f273e6":0:1 AES-192-ECB crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"":"80000000000000000000000000000000":"6cd02513e8d4dc986b4afe087a60bd0c":0:1 AES-192-ECB crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"ff0000000000000000000000000000000000000000000000":"":"00000000000000000000000000000000":"833f71258d53036b02952c76c744f5a1":0:1 AES-192-ECB crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"":"00000000000000000000000000000000":"0956259c9cd5cfd0181cca53380cde06":0:1 AES-192-ECB crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_ENCRYPT:"000000000000000000000000000000000000000000000000":"":"1b077a6af4b7f98229de786d7516b639":"275cfc0413d8ccb70513c3859b1d0f72":0:1 AES-192-ECB crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"6cd02513e8d4dc986b4afe087a60bd0c":"80000000000000000000000000000000":0:1 AES-192-ECB crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"ffe000000000000000000000000000000000000000000000":"":"7ababc4b3f516c9aafb35f4140b548f9":"00000000000000000000000000000000":0:1 AES-192-ECB crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"e9f065d7c13573587f7875357dfbb16c53489f6a4bd0f7cd":"":"0956259c9cd5cfd0181cca53380cde06":"00000000000000000000000000000000":0:1 AES-192-ECB crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_192_ECB:MBEDTLS_DECRYPT:"000000000000000000000000000000000000000000000000":"":"275cfc0413d8ccb70513c3859b1d0f72":"1b077a6af4b7f98229de786d7516b639":0:1 AES-256-ECB crypt Encrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"80000000000000000000000000000000":"ddc6bf790c15760d8d9aeb6f9a75fd4e":0:1 AES-256-ECB crypt Encrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"ff00000000000000000000000000000000000000000000000000000000000000":"":"00000000000000000000000000000000":"ec52a212f80a09df6317021bc2a9819e":0:1 AES-256-ECB crypt Encrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"":"00000000000000000000000000000000":"46f2fb342d6f0ab477476fc501242c5f":0:1 AES-256-ECB crypt Encrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_ENCRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"014730f80ac625fe84f026c60bfd547d":"5c9d844ed46f9885085e5d6a4f94c7d7":0:1 AES-256-ECB crypt Decrypt NIST KAT #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"ddc6bf790c15760d8d9aeb6f9a75fd4e":"80000000000000000000000000000000":0:1 AES-256-ECB crypt Decrypt NIST KAT #2 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"ffe0000000000000000000000000000000000000000000000000000000000000":"":"d1ccb9b1337002cbac42c520b5d67722":"00000000000000000000000000000000":0:1 AES-256-ECB crypt Decrypt NIST KAT #3 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558":"":"46f2fb342d6f0ab477476fc501242c5f":"00000000000000000000000000000000":0:1 AES-256-ECB crypt Decrypt NIST KAT #4 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_ECB_NO_PADDING test_vec_crypt:MBEDTLS_CIPHER_AES_256_ECB:MBEDTLS_DECRYPT:"0000000000000000000000000000000000000000000000000000000000000000":"":"5c9d844ed46f9885085e5d6a4f94c7d7":"014730f80ac625fe84f026c60bfd547d":0:1 AES-128-CCM*-NO-TAG crypt Encrypt NIST VPT AES-128 #15 @@ -2231,27 +2231,27 @@ depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_ test_vec_crypt:MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG:MBEDTLS_DECRYPT:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"a544218dadd3c10583db49cf39":"63e00d30e4b08fd2a1cc8d70fab327b2368e77a93be4f412":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e":0:0 AES-128-CCM*-NO-TAG crypt Encrypt NIST VPT AES-128 #15 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG:MBEDTLS_ENCRYPT:"7301c907b9d2aaac355c5416ff25c59b":"7304b65b6dab466273862c88b9":"484300aa3a506afcd313b49ead8d":"928ca58b0d373dc50c52afac787c":0:1 AES-128-CCM*-NO-TAG crypt Decrypt NIST DVPT AES-128 #15 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG:MBEDTLS_DECRYPT:"90929a4b0ac65b350ad1591611fe4829":"5a8aa485c316e9403aff859fbb":"4bfe4e35784f0a65b545477e5e2f4bae0e1e6fa717eaf2cb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":0:1 AES-192-CCM*-NO-TAG crypt Encrypt NIST VTT AES-192 #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG:MBEDTLS_ENCRYPT:"11fd45743d946e6d37341fec49947e8c70482494a8f07fcc":"c6aeebcb146cfafaae66f78aab":"ee7e6075ba52846de5d6254959a18affc4faf59c8ef63489":"137d9da59baf5cbfd46620c5f298fc766de10ac68e774edf":0:1 AES-192-CCM*-NO-TAG crypt Decrypt NIST DVPT AES-192 #15 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG:MBEDTLS_DECRYPT:"90929a4b0ac65b350ad1591611fe48297e03956f6083e451":"5a8aa485c316e9403aff859fbb":"a5b7d8cca2069908d1ed88e6a9fe2c9bede3131dad54671e":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":0:1 AES-256-CCM*-NO-TAG crypt Encrypt NIST VADT AES-256 #1 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG:MBEDTLS_ENCRYPT:"26511fb51fcfa75cb4b44da75a6e5a0eb8d9c8f3b906f886df3ba3e6da3a1389":"72a60f345a1978fb40f28a2fa4":"30d56ff2a25b83fee791110fcaea48e41db7c7f098a81000":"55f068c0bbba8b598013dd1841fd740fda2902322148ab5e":0:1 AES-256-CCM*-NO-TAG crypt Decrypt NIST DVPT AES-256 #13 PSA -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM_STAR_NO_TAG test_vec_crypt:MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG:MBEDTLS_DECRYPT:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"a544218dadd3c10583db49cf39":"63e00d30e4b08fd2a1cc8d70fab327b2368e77a93be4f412":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e":0:1 Cipher Corner Case behaviours diff --git a/tests/suites/test_suite_cipher.aria.data b/tests/suites/test_suite_cipher.aria.data index c1e19909bc..3f011e889b 100644 --- a/tests/suites/test_suite_cipher.aria.data +++ b/tests/suites/test_suite_cipher.aria.data @@ -1,5 +1,5 @@ Aria CBC Decrypt empty buffer -depends_on:MBEDTLS_ARIA_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_ARIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 dec_empty_buf:MBEDTLS_CIPHER_ARIA_128_CBC:0:0 ARIA-128 CCM*-NO-TAG - Encrypt and decrypt 0 bytes diff --git a/tests/suites/test_suite_cipher.camellia.data b/tests/suites/test_suite_cipher.camellia.data index 31fe92286f..df4ebcc1b6 100644 --- a/tests/suites/test_suite_cipher.camellia.data +++ b/tests/suites/test_suite_cipher.camellia.data @@ -67,183 +67,183 @@ depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKC enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:49:-1 CAMELLIA Encrypt and decrypt 0 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:0:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 1 byte with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:1:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 2 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:2:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 7 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:7:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 8 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:8:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 9 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:9:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 15 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:15:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 16 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:16:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 17 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:17:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 31 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:31:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 32 bytes with one and zeros padding [#1] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:32:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 32 bytes with one and zeros padding [#2] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:33:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 47 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:47:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 48 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:48:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 49 bytes with one and zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:49:MBEDTLS_PADDING_ONE_AND_ZEROS CAMELLIA Encrypt and decrypt 0 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:0:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 1 byte with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:1:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 2 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:2:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 7 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:7:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 8 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:8:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 9 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:9:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 15 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:15:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 16 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:16:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 17 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:17:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 31 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:31:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 32 bytes with zeros and len padding [#1] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:32:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 32 bytes with zeros and len padding [#2] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:33:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 47 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:47:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 48 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:48:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 49 bytes with zeros and len padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:49:MBEDTLS_PADDING_ZEROS_AND_LEN CAMELLIA Encrypt and decrypt 0 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:0:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 1 byte with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:1:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 2 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:2:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 7 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:7:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 8 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:8:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 9 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:9:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 15 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:15:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 16 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:16:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 17 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:17:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 31 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:31:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 32 bytes with zeros padding [#1] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:32:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 32 bytes with zeros padding [#2] -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:33:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 47 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:47:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 48 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:48:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 49 bytes with zeros padding -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_CAMELLIA_128_CBC:"CAMELLIA-128-CBC":128:49:MBEDTLS_PADDING_ZEROS CAMELLIA Encrypt and decrypt 0 bytes with no padding diff --git a/tests/suites/test_suite_cipher.ccm.data b/tests/suites/test_suite_cipher.ccm.data index 44c05ec6da..3ea44be8a9 100644 --- a/tests/suites/test_suite_cipher.ccm.data +++ b/tests/suites/test_suite_cipher.ccm.data @@ -479,385 +479,385 @@ depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_CCM_C auth_crypt_tv:MBEDTLS_CIPHER_CAMELLIA_128_CCM:"D75C2778078CA93D971F96FDE720F4CD":"003B8FD8D3A937B160B6A31C1C":"A4D499F78419728C19178B0C":"4B198156393B0F7796086AAFB454F8C3F034CCA966":"945F1FCEA7E11BEE6A2F":"":"9DC9EDAE2FF5DF8636E8C6DE0EED55F7867E33337D":0 AES-128-CCM test vector NIST #1 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4ae701103c63deca5b5a3939d7d05992":"5a8aa485c316e9":"":"":"02209f55":"":"":1 AES-128-CCM test vector NIST #2 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4ae701103c63deca5b5a3939d7d05992":"3796cf51b87266":"":"":"9a04c241":"FAIL":"":1 AES-128-CCM test vector NIST #3 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3":"5a8aa485c316e9":"":"":"75d582db43ce9b13ab4b6f7f14341330":"":"":1 AES-128-CCM test vector NIST #4 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3":"3796cf51b87266":"":"":"3a65e03af37b81d05acc7ec1bc39deb0":"FAIL":"":1 AES-128-CCM test vector NIST #5 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3":"5a8aa485c316e9403aff859fbb":"":"":"90156f3f":"":"":1 AES-128-CCM test vector NIST #6 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3":"a16a2e741f1cd9717285b6d882":"":"":"88909016":"FAIL":"":1 AES-128-CCM test vector NIST #7 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"19ebfde2d5468ba0a3031bde629b11fd":"5a8aa485c316e9403aff859fbb":"":"":"fb04dc5a44c6bb000f2440f5154364b4":"":"":1 AES-128-CCM test vector NIST #8 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"19ebfde2d5468ba0a3031bde629b11fd":"a16a2e741f1cd9717285b6d882":"":"":"5447075bf42a59b91f08064738b015ab":"FAIL":"":1 AES-128-CCM test vector NIST #9 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"19ebfde2d5468ba0a3031bde629b11fd":"5a8aa485c316e9":"":"a90e8ea44085ced791b2fdb7fd44b5cf0bd7d27718029bb7":"03e1fa6b":"":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22":1 AES-128-CCM test vector NIST #10 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"19ebfde2d5468ba0a3031bde629b11fd":"31f8fa25827d48":"":"50aafe0578c115c4a8e126ff7b3ccb64dce8ccaa8ceda69f":"23e5d81c":"FAIL":"":1 AES-128-CCM test vector NIST #11 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"197afb02ffbd8f699dacae87094d5243":"5a8aa485c316e9":"":"24ab9eeb0e5508cae80074f1070ee188a637171860881f1f":"2d9a3fbc210595b7b8b1b41523111a8e":"":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22":1 AES-128-CCM test vector NIST #12 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"197afb02ffbd8f699dacae87094d5243":"31f8fa25827d48":"":"7ebfda6fa5da1dbffd82dc29b875798fbcef8ba0084fbd24":"63af747cc88a001fa94e060290f209c4":"FAIL":"":1 AES-128-CCM test vector NIST #13 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"197afb02ffbd8f699dacae87094d5243":"5a8aa485c316e9403aff859fbb":"":"4a550134f94455979ec4bf89ad2bd80d25a77ae94e456134":"a3e138b9":"":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":1 AES-128-CCM test vector NIST #14 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"197afb02ffbd8f699dacae87094d5243":"49004912fdd7269279b1f06a89":"":"118ec53dd1bfbe52d5b9fe5dfebecf2ee674ec983eada654":"091a5ae9":"FAIL":"":1 AES-128-CCM test vector NIST #15 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"90929a4b0ac65b350ad1591611fe4829":"5a8aa485c316e9403aff859fbb":"":"4bfe4e35784f0a65b545477e5e2f4bae0e1e6fa717eaf2cb":"6a9a970b9beb2ac1bd4fd62168f8378a":"":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":1 AES-128-CCM test vector NIST #16 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"90929a4b0ac65b350ad1591611fe4829":"49004912fdd7269279b1f06a89":"":"0c56a503aa2c12e87450d45a7b714db980fd348f327c0065":"a65666144994bad0c8195bcb4ade1337":"FAIL":"":1 AES-128-CCM test vector NIST #17 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"90929a4b0ac65b350ad1591611fe4829":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"":"782e4318":"":"":1 AES-128-CCM test vector NIST #18 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"90929a4b0ac65b350ad1591611fe4829":"a265480ca88d5f":"a2248a882ecbf850daf91933a389e78e81623d233dfd47bf8321361a38f138fe":"":"a04f270a":"FAIL":"":1 AES-128-CCM test vector NIST #19 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"":"41b476013f45e4a781f253a6f3b1e530":"":"":1 AES-128-CCM test vector NIST #20 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b":"a265480ca88d5f":"a2248a882ecbf850daf91933a389e78e81623d233dfd47bf8321361a38f138fe":"":"f9f018fcd125822616083fffebc4c8e6":"FAIL":"":1 AES-128-CCM test vector NIST #21 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"":"9f69f24f":"":"":1 AES-128-CCM test vector NIST #22 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b":"8739b4bea1a099fe547499cbc6":"f6107696edb332b2ea059d8860fee26be42e5e12e1a4f79a8d0eafce1b2278a7":"":"e17afaa4":"FAIL":"":1 AES-128-CCM test vector NIST #23 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"f9fdca4ac64fe7f014de0f43039c7571":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"":"1859ac36a40a6b28b34266253627797a":"":"":1 AES-128-CCM test vector NIST #24 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"f9fdca4ac64fe7f014de0f43039c7571":"8739b4bea1a099fe547499cbc6":"f6107696edb332b2ea059d8860fee26be42e5e12e1a4f79a8d0eafce1b2278a7":"":"edf8b46eb69ac0044116019dec183072":"FAIL":"":1 AES-128-CCM test vector NIST #25 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"f9fdca4ac64fe7f014de0f43039c7571":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"6be31860ca271ef448de8f8d8b39346daf4b81d7e92d65b3":"38f125fa":"":"a265480ca88d5f536db0dc6abc40faf0d05be7a966977768":1 AES-128-CCM test vector NIST #26 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"f9fdca4ac64fe7f014de0f43039c7571":"fdd2d6f503c915":"5b92394f21ddc3ad49d9b0881b829a5935cb3a4d23e292a62fb66b5e7ab7020e":"4cc57a9927a6bc401441870d3193bf89ebd163f5c01501c7":"28a66b69":"FAIL":"":1 AES-128-CCM test vector NIST #27 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"a7aa635ea51b0bb20a092bd5573e728c":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"b351ab96b2e45515254558d5212673ee6c776d42dbca3b51":"2cf3a20b7fd7c49e6e79bef475c2906f":"":"a265480ca88d5f536db0dc6abc40faf0d05be7a966977768":1 AES-128-CCM test vector NIST #28 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"a7aa635ea51b0bb20a092bd5573e728c":"fdd2d6f503c915":"5b92394f21ddc3ad49d9b0881b829a5935cb3a4d23e292a62fb66b5e7ab7020e":"df1a5285caa41b4bb47f6e5ceceba4e82721828d68427a30":"81d18ca149d6766bfaccec88f194eb5b":"FAIL":"":1 AES-128-CCM test vector NIST #29 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"a7aa635ea51b0bb20a092bd5573e728c":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"934f893824e880f743d196b22d1f340a52608155087bd28a":"c25e5329":"":"8739b4bea1a099fe547499cbc6d1b13d849b8084c9b6acc5":1 AES-128-CCM test vector NIST #30 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"a7aa635ea51b0bb20a092bd5573e728c":"0812757ad0cc4d17c4cfe7a642":"ec6c44a7e94e51a3ca6dee229098391575ec7213c85267fbf7492fdbeee61b10":"f43ba9d834ad85dfab3f1c0c27c3441fe4e411a38a261a65":"59b3b3ee":"FAIL":"":1 AES-128-CCM test vector NIST #31 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"26511fb51fcfa75cb4b44da75a6e5a0e":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"50038b5fdd364ee747b70d00bd36840ece4ea19998123375":"c0a458bfcafa3b2609afe0f825cbf503":"":"8739b4bea1a099fe547499cbc6d1b13d849b8084c9b6acc5":1 AES-128-CCM test vector NIST #32 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_128_CCM:"26511fb51fcfa75cb4b44da75a6e5a0e":"0812757ad0cc4d17c4cfe7a642":"ec6c44a7e94e51a3ca6dee229098391575ec7213c85267fbf7492fdbeee61b10":"78ed8ff6b5a1255d0fbd0a719a9c27b059ff5f83d0c4962c":"390042ba8bb5f6798dab01c5afad7306":"FAIL":"":1 AES-192-CCM test vector NIST #1 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"c98ad7f38b2c7e970c9b965ec87a08208384718f78206c6c":"5a8aa485c316e9":"":"":"9d4b7f3b":"":"":1 AES-192-CCM test vector NIST #2 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"c98ad7f38b2c7e970c9b965ec87a08208384718f78206c6c":"3796cf51b87266":"":"":"80745de9":"FAIL":"":1 AES-192-CCM test vector NIST #3 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3d3ad1bccf9282a65":"5a8aa485c316e9":"":"":"17223038fa99d53681ca1beabe78d1b4":"":"":1 AES-192-CCM test vector NIST #4 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3d3ad1bccf9282a65":"3796cf51b87266":"":"":"d0e1eeef4d2a264536bb1c2c1bde7c35":"FAIL":"":1 AES-192-CCM test vector NIST #5 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3d3ad1bccf9282a65":"5a8aa485c316e9403aff859fbb":"":"":"fe69ed84":"":"":1 AES-192-CCM test vector NIST #6 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"4bb3c4a4f893ad8c9bdc833c325d62b3d3ad1bccf9282a65":"a16a2e741f1cd9717285b6d882":"":"":"db7ffc82":"FAIL":"":1 AES-192-CCM test vector NIST #7 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"19ebfde2d5468ba0a3031bde629b11fd4094afcb205393fa":"5a8aa485c316e9403aff859fbb":"":"":"0c66a8e547ed4f8c2c9a9a1eb5d455b9":"":"":1 AES-192-CCM test vector NIST #8 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"19ebfde2d5468ba0a3031bde629b11fd4094afcb205393fa":"a16a2e741f1cd9717285b6d882":"":"":"38757b3a61a4dc97ca3ab88bf1240695":"FAIL":"":1 AES-192-CCM test vector NIST #9 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"19ebfde2d5468ba0a3031bde629b11fd4094afcb205393fa":"5a8aa485c316e9":"":"411986d04d6463100bff03f7d0bde7ea2c3488784378138c":"ddc93a54":"":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22":1 AES-192-CCM test vector NIST #10 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"19ebfde2d5468ba0a3031bde629b11fd4094afcb205393fa":"31f8fa25827d48":"":"32b649ab56162e55d4148a1292d6a225a988eb1308298273":"b6889036":"FAIL":"":1 AES-192-CCM test vector NIST #11 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"197afb02ffbd8f699dacae87094d524324576b99844f75e1":"5a8aa485c316e9":"":"cba4b4aeb85f0492fd8d905c4a6d8233139833373ef188a8":"c5a5ebecf7ac8607fe412189e83d9d20":"":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22":1 AES-192-CCM test vector NIST #12 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"197afb02ffbd8f699dacae87094d524324576b99844f75e1":"31f8fa25827d48":"":"ca62713728b5c9d652504b0ae8fd4fee5d297ee6a8d19cb6":"e699f15f14d34dcaf9ba8ed4b877c97d":"FAIL":"":1 AES-192-CCM test vector NIST #13 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"197afb02ffbd8f699dacae87094d524324576b99844f75e1":"5a8aa485c316e9403aff859fbb":"":"042653c674ef2a90f7fb11d30848e530ae59478f1051633a":"34fad277":"":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":1 AES-192-CCM test vector NIST #14 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"197afb02ffbd8f699dacae87094d524324576b99844f75e1":"49004912fdd7269279b1f06a89":"":"1902d9769a7ba3d3268e1257395c8c2e5f98eef295dcbfa5":"a35df775":"FAIL":"":1 AES-192-CCM test vector NIST #15 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"90929a4b0ac65b350ad1591611fe48297e03956f6083e451":"5a8aa485c316e9403aff859fbb":"":"a5b7d8cca2069908d1ed88e6a9fe2c9bede3131dad54671e":"a7ade30a07d185692ab0ebdf4c78cf7a":"":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697":1 AES-192-CCM test vector NIST #16 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"90929a4b0ac65b350ad1591611fe48297e03956f6083e451":"49004912fdd7269279b1f06a89":"":"9a98617fb97a0dfe466be692272dcdaec1c5443a3b51312e":"f042c86363cc05afb98c66e16be8a445":"FAIL":"":1 AES-192-CCM test vector NIST #17 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"90929a4b0ac65b350ad1591611fe48297e03956f6083e451":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"":"1d089a5f":"":"":1 AES-192-CCM test vector NIST #18 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"90929a4b0ac65b350ad1591611fe48297e03956f6083e451":"a265480ca88d5f":"a2248a882ecbf850daf91933a389e78e81623d233dfd47bf8321361a38f138fe":"":"2f46022a":"FAIL":"":1 AES-192-CCM test vector NIST #19 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b12ab744b61c070e2":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"":"5280a2137fee3deefcfe9b63a1199fb3":"":"":1 AES-192-CCM test vector NIST #20 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b12ab744b61c070e2":"a265480ca88d5f":"a2248a882ecbf850daf91933a389e78e81623d233dfd47bf8321361a38f138fe":"":"d40a7318c5f2d82f838c0beeefe0d598":"FAIL":"":1 AES-192-CCM test vector NIST #21 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b12ab744b61c070e2":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"":"5e0eaebd":"":"":1 AES-192-CCM test vector NIST #22 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"6a798d7c5e1a72b43e20ad5c7b08567b12ab744b61c070e2":"8739b4bea1a099fe547499cbc6":"f6107696edb332b2ea059d8860fee26be42e5e12e1a4f79a8d0eafce1b2278a7":"":"71b7fc33":"FAIL":"":1 AES-192-CCM test vector NIST #23 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"f9fdca4ac64fe7f014de0f43039c757194d544ce5d15eed4":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"":"d07ccf9fdc3d33aa94cda3d230da707c":"":"":1 AES-192-CCM test vector NIST #24 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"f9fdca4ac64fe7f014de0f43039c757194d544ce5d15eed4":"8739b4bea1a099fe547499cbc6":"f6107696edb332b2ea059d8860fee26be42e5e12e1a4f79a8d0eafce1b2278a7":"":"65fe32b649dc328c9f531584897e85b3":"FAIL":"":1 AES-192-CCM test vector NIST #25 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"f9fdca4ac64fe7f014de0f43039c757194d544ce5d15eed4":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"9f6ca4af9b159148c889a6584d1183ea26e2614874b05045":"75dea8d1":"":"a265480ca88d5f536db0dc6abc40faf0d05be7a966977768":1 AES-192-CCM test vector NIST #26 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"f9fdca4ac64fe7f014de0f43039c757194d544ce5d15eed4":"fdd2d6f503c915":"5b92394f21ddc3ad49d9b0881b829a5935cb3a4d23e292a62fb66b5e7ab7020e":"84d8212e9cfc2121252baa3b065b1edcf50497b9594db1eb":"d7965825":"FAIL":"":1 AES-192-CCM test vector NIST #27 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"a7aa635ea51b0bb20a092bd5573e728ccd4b3e8cdd2ab33d":"5a8aa485c316e9":"3796cf51b8726652a4204733b8fbb047cf00fb91a9837e22ec22b1a268f88e2c":"6aab64c4787599d8f213446beadb16e08dba60e97f56dbd1":"4d1d980d6fe0fb44b421992662b97975":"":"a265480ca88d5f536db0dc6abc40faf0d05be7a966977768":1 AES-192-CCM test vector NIST #28 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"a7aa635ea51b0bb20a092bd5573e728ccd4b3e8cdd2ab33d":"fdd2d6f503c915":"5b92394f21ddc3ad49d9b0881b829a5935cb3a4d23e292a62fb66b5e7ab7020e":"4980b2ee49b1aaf393175f5ab9bae95ec7904557dfa20660":"3c51d36c826f01384100886198a7f6a3":"FAIL":"":1 AES-192-CCM test vector NIST #29 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"a7aa635ea51b0bb20a092bd5573e728ccd4b3e8cdd2ab33d":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"16e543d0e20615ff0df15acd9927ddfe40668a54bb854ccc":"c25e9fce":"":"8739b4bea1a099fe547499cbc6d1b13d849b8084c9b6acc5":1 AES-192-CCM test vector NIST #30 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"a7aa635ea51b0bb20a092bd5573e728ccd4b3e8cdd2ab33d":"0812757ad0cc4d17c4cfe7a642":"ec6c44a7e94e51a3ca6dee229098391575ec7213c85267fbf7492fdbeee61b10":"df35b109caf690656ae278bbd8f8bba687a2ce11b105dae9":"8ecedb3e":"FAIL":"":1 AES-192-CCM test vector NIST #31 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"26511fb51fcfa75cb4b44da75a6e5a0eb8d9c8f3b906f886":"5a8aa485c316e9403aff859fbb":"a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982":"c5b0b2ef17498c5570eb335df4588032958ba3d69bf6f317":"8464a6f7fa2b76744e8e8d95691cecb8":"":"8739b4bea1a099fe547499cbc6d1b13d849b8084c9b6acc5":1 AES-192-CCM test vector NIST #32 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_192_CCM:"26511fb51fcfa75cb4b44da75a6e5a0eb8d9c8f3b906f886":"0812757ad0cc4d17c4cfe7a642":"ec6c44a7e94e51a3ca6dee229098391575ec7213c85267fbf7492fdbeee61b10":"d1f0518929f4ae2f0543de2a7dfe4bb0110bb3057e524a1c":"06bd6dc2e6bcc3436cffb969ae900388":"FAIL":"":1 AES-256-CCM test vector NIST #1 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"eda32f751456e33195f1f499cf2dc7c97ea127b6d488f211ccc5126fbb24afa6":"a544218dadd3c1":"":"":"469c90bb":"":"":1 AES-256-CCM test vector NIST #2 PSA (P=0, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"eda32f751456e33195f1f499cf2dc7c97ea127b6d488f211ccc5126fbb24afa6":"d3d5424e20fbec":"":"":"46a908ed":"FAIL":"":1 AES-256-CCM test vector NIST #3 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"e1b8a927a95efe94656677b692662000278b441c79e879dd5c0ddc758bdc9ee8":"a544218dadd3c1":"":"":"8207eb14d33855a52acceed17dbcbf6e":"":"":1 AES-256-CCM test vector NIST #4 PSA (P=0, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"e1b8a927a95efe94656677b692662000278b441c79e879dd5c0ddc758bdc9ee8":"d3d5424e20fbec":"":"":"60f8e127cb4d30db6df0622158cd931d":"FAIL":"":1 AES-256-CCM test vector NIST #5 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"e1b8a927a95efe94656677b692662000278b441c79e879dd5c0ddc758bdc9ee8":"a544218dadd3c10583db49cf39":"":"":"8a19a133":"":"":1 AES-256-CCM test vector NIST #6 PSA (P=0, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"e1b8a927a95efe94656677b692662000278b441c79e879dd5c0ddc758bdc9ee8":"3c0e2815d37d844f7ac240ba9d":"":"":"2e317f1b":"FAIL":"":1 AES-256-CCM test vector NIST #7 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"af063639e66c284083c5cf72b70d8bc277f5978e80d9322d99f2fdc718cda569":"a544218dadd3c10583db49cf39":"":"":"97e1a8dd4259ccd2e431e057b0397fcf":"":"":1 AES-256-CCM test vector NIST #8 PSA (P=0, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"af063639e66c284083c5cf72b70d8bc277f5978e80d9322d99f2fdc718cda569":"3c0e2815d37d844f7ac240ba9d":"":"":"5a9596c511ea6a8671adefc4f2157d8b":"FAIL":"":1 AES-256-CCM test vector NIST #9 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"af063639e66c284083c5cf72b70d8bc277f5978e80d9322d99f2fdc718cda569":"a544218dadd3c1":"":"64a1341679972dc5869fcf69b19d5c5ea50aa0b5e985f5b7":"22aa8d59":"":"d3d5424e20fbec43ae495353ed830271515ab104f8860c98":1 AES-256-CCM test vector NIST #10 PSA (P=24, N=7, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"af063639e66c284083c5cf72b70d8bc277f5978e80d9322d99f2fdc718cda569":"bfcda8b5a2d0d2":"":"c5b7f802bffc498c1626e3774f1d9f94045dfd8e1a10a202":"77d00a75":"FAIL":"":1 AES-256-CCM test vector NIST #11 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"a544218dadd3c1":"":"bc51c3925a960e7732533e4ef3a4f69ee6826de952bcb0fd":"374f3bb6db8377ebfc79674858c4f305":"":"d3d5424e20fbec43ae495353ed830271515ab104f8860c98":1 AES-256-CCM test vector NIST #12 PSA (P=24, N=7, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"bfcda8b5a2d0d2":"":"afa1fa8e8a70e26b02161150556d604101fdf423f332c336":"3275f2a4907d51b734fe7238cebbd48f":"FAIL":"":1 AES-256-CCM test vector NIST #13 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"a544218dadd3c10583db49cf39":"":"63e00d30e4b08fd2a1cc8d70fab327b2368e77a93be4f412":"3d14fb3f":"":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e":1 AES-256-CCM test vector NIST #14 PSA (P=24, N=13, A=0, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"f7079dfa3b5c7b056347d7e437bcded683abd6e2c9e069d333284082cbb5d453":"894dcaa61008eb8fb052c60d41":"":"bb5425b3869b76856ec58e39886fb6f6f2ac13fe44cb132d":"8d0c0099":"FAIL":"":1 AES-256-CCM test vector NIST #15 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"1b0e8df63c57f05d9ac457575ea764524b8610ae5164e6215f426f5a7ae6ede4":"a544218dadd3c10583db49cf39":"":"f0050ad16392021a3f40207bed3521fb1e9f808f49830c42":"3a578d179902f912f9ea1afbce1120b3":"":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e":1 AES-256-CCM test vector NIST #16 PSA (P=24, N=13, A=0, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"1b0e8df63c57f05d9ac457575ea764524b8610ae5164e6215f426f5a7ae6ede4":"894dcaa61008eb8fb052c60d41":"":"c408190d0fbf5034f83b24a8ed9657331a7ce141de4fae76":"9084607b83bd06e6442eac8dacf583cc":"FAIL":"":1 AES-256-CCM test vector NIST #17 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"1b0e8df63c57f05d9ac457575ea764524b8610ae5164e6215f426f5a7ae6ede4":"a544218dadd3c1":"d3d5424e20fbec43ae495353ed830271515ab104f8860c988d15b6d36c038eab":"":"92d00fbe":"":"":1 AES-256-CCM test vector NIST #18 PSA (P=0, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"1b0e8df63c57f05d9ac457575ea764524b8610ae5164e6215f426f5a7ae6ede4":"78c46e3249ca28":"232e957c65ffa11988e830d4617d500f1c4a35c1221f396c41ab214f074ca2dc":"":"9143e5c4":"FAIL":"":1 AES-256-CCM test vector NIST #19 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"a4bc10b1a62c96d459fbaf3a5aa3face7313bb9e1253e696f96a7a8e36801088":"a544218dadd3c1":"d3d5424e20fbec43ae495353ed830271515ab104f8860c988d15b6d36c038eab":"":"93af11a08379eb37a16aa2837f09d69d":"":"":1 AES-256-CCM test vector NIST #20 PSA (P=0, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"a4bc10b1a62c96d459fbaf3a5aa3face7313bb9e1253e696f96a7a8e36801088":"78c46e3249ca28":"232e957c65ffa11988e830d4617d500f1c4a35c1221f396c41ab214f074ca2dc":"":"d19b0c14ec686a7961ca7c386d125a65":"FAIL":"":1 AES-256-CCM test vector NIST #21 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"a4bc10b1a62c96d459fbaf3a5aa3face7313bb9e1253e696f96a7a8e36801088":"a544218dadd3c10583db49cf39":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e09a1005e024f6907":"":"866d4227":"":"":1 AES-256-CCM test vector NIST #22 PSA (P=0, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"a4bc10b1a62c96d459fbaf3a5aa3face7313bb9e1253e696f96a7a8e36801088":"e8de970f6ee8e80ede933581b5":"89f8b068d34f56bc49d839d8e47b347e6dae737b903b278632447e6c0485d26a":"":"94cb1127":"FAIL":"":1 AES-256-CCM test vector NIST #23 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"8c5cf3457ff22228c39c051c4e05ed4093657eb303f859a9d4b0f8be0127d88a":"a544218dadd3c10583db49cf39":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e09a1005e024f6907":"":"867b0d87cf6e0f718200a97b4f6d5ad5":"":"":1 AES-256-CCM test vector NIST #24 PSA (P=0, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"8c5cf3457ff22228c39c051c4e05ed4093657eb303f859a9d4b0f8be0127d88a":"e8de970f6ee8e80ede933581b5":"89f8b068d34f56bc49d839d8e47b347e6dae737b903b278632447e6c0485d26a":"":"677a040d46ee3f2b7838273bdad14f16":"FAIL":"":1 AES-256-CCM test vector NIST #25 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"8c5cf3457ff22228c39c051c4e05ed4093657eb303f859a9d4b0f8be0127d88a":"a544218dadd3c1":"d3d5424e20fbec43ae495353ed830271515ab104f8860c988d15b6d36c038eab":"c2fe12658139f5d0dd22cadf2e901695b579302a72fc5608":"3ebc7720":"":"78c46e3249ca28e1ef0531d80fd37c124d9aecb7be6668e3":1 AES-256-CCM test vector NIST #26 PSA (P=24, N=7, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"8c5cf3457ff22228c39c051c4e05ed4093657eb303f859a9d4b0f8be0127d88a":"6ba004fd176791":"5a053b2a1bb87e85d56527bfcdcd3ecafb991bb10e4c862bb0751c700a29f54b":"94748ba81229e53c38583a8564b23ebbafc6f6efdf4c2a81":"c44db2c9":"FAIL":"":1 AES-256-CCM test vector NIST #27 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"705334e30f53dd2f92d190d2c1437c8772f940c55aa35e562214ed45bd458ffe":"a544218dadd3c1":"d3d5424e20fbec43ae495353ed830271515ab104f8860c988d15b6d36c038eab":"3341168eb8c48468c414347fb08f71d2086f7c2d1bd581ce":"1ac68bd42f5ec7fa7e068cc0ecd79c2a":"":"78c46e3249ca28e1ef0531d80fd37c124d9aecb7be6668e3":1 AES-256-CCM test vector NIST #28 PSA (P=24, N=7, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"705334e30f53dd2f92d190d2c1437c8772f940c55aa35e562214ed45bd458ffe":"6ba004fd176791":"5a053b2a1bb87e85d56527bfcdcd3ecafb991bb10e4c862bb0751c700a29f54b":"d543acda712b898cbb27b8f598b2e4438ce587a836e27851":"47c3338a2400809e739b63ba8227d2f9":"FAIL":"":1 AES-256-CCM test vector NIST #29 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"705334e30f53dd2f92d190d2c1437c8772f940c55aa35e562214ed45bd458ffe":"a544218dadd3c10583db49cf39":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e09a1005e024f6907":"c0ea400b599561e7905b99262b4565d5c3dc49fad84d7c69":"ef891339":"":"e8de970f6ee8e80ede933581b5bcf4d837e2b72baa8b00c3":1 AES-256-CCM test vector NIST #30 PSA (P=24, N=13, A=32, T=4) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"705334e30f53dd2f92d190d2c1437c8772f940c55aa35e562214ed45bd458ffe":"8fa501c5dd9ac9b868144c9fa5":"5bb40e3bb72b4509324a7edc852f72535f1f6283156e63f6959ffaf39dcde800":"60871e03ea0eb968536c99f926ea24ef43d41272ad9fb7f6":"3d488623":"FAIL":"":1 AES-256-CCM test vector NIST #31 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"314a202f836f9f257e22d8c11757832ae5131d357a72df88f3eff0ffcee0da4e":"a544218dadd3c10583db49cf39":"3c0e2815d37d844f7ac240ba9d6e3a0b2a86f706e885959e09a1005e024f6907":"8d34cdca37ce77be68f65baf3382e31efa693e63f914a781":"367f30f2eaad8c063ca50795acd90203":"":"e8de970f6ee8e80ede933581b5bcf4d837e2b72baa8b00c3":1 AES-256-CCM test vector NIST #32 PSA (P=24, N=13, A=32, T=16) -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_AES_C:MBEDTLS_CCM_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CCM auth_crypt_tv:MBEDTLS_CIPHER_AES_256_CCM:"314a202f836f9f257e22d8c11757832ae5131d357a72df88f3eff0ffcee0da4e":"8fa501c5dd9ac9b868144c9fa5":"5bb40e3bb72b4509324a7edc852f72535f1f6283156e63f6959ffaf39dcde800":"516c0095cc3d85fd55e48da17c592e0c7014b9daafb82bdc":"4b41096dfdbe9cc1ab610f8f3e038d16":"FAIL":"":1 diff --git a/tests/suites/test_suite_cipher.des.data b/tests/suites/test_suite_cipher.des.data index 9410262e68..77f7515b94 100644 --- a/tests/suites/test_suite_cipher.des.data +++ b/tests/suites/test_suite_cipher.des.data @@ -71,243 +71,243 @@ depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:49:-1 DES Encrypt and decrypt 0 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:0:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 1 byte with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:1:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 2 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:2:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 7 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:7:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 8 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:8:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 9 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:9:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 15 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:15:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 16 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:16:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 17 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:17:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 31 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:31:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 32 bytes with one and zeros padding [#1] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:32:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 32 bytes with one and zeros padding [#2] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:33:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 47 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:47:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 48 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:48:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 49 bytes with one and zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:49:MBEDTLS_PADDING_ONE_AND_ZEROS DES Encrypt and decrypt 0 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:0:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 1 byte with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:1:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 2 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:2:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 7 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:7:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 8 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:8:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 9 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:9:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 15 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:15:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 16 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:16:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 17 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:17:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 31 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:31:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 32 bytes with zeros and len padding [#1] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:32:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 32 bytes with zeros and len padding [#2] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:33:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 47 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:47:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 48 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:48:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 49 bytes with zeros and len padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:49:MBEDTLS_PADDING_ZEROS_AND_LEN DES Encrypt and decrypt 0 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:0:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 1 byte with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:1:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 2 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:2:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 7 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:7:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 8 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:8:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 9 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:9:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 15 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:15:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 16 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:16:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 17 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:17:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 31 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:31:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 32 bytes with zeros padding [#1] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:32:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 32 bytes with zeros padding [#2] -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:33:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 47 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:47:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 48 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:48:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 49 bytes with zeros padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_ZEROS enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:49:MBEDTLS_PADDING_ZEROS DES Encrypt and decrypt 0 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:0:MBEDTLS_PADDING_NONE DES Encrypt and decrypt 8 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:8:MBEDTLS_PADDING_NONE DES Encrypt and decrypt 16 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:16:MBEDTLS_PADDING_NONE DES Encrypt and decrypt 32 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:32:MBEDTLS_PADDING_NONE DES Encrypt and decrypt 48 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_dec_buf:MBEDTLS_CIPHER_DES_CBC:"DES-CBC":64:48:MBEDTLS_PADDING_NONE DES Try encrypting 1 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:1:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 2 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:2:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 7 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:7:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 9 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:9:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 15 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:15:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 17 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:17:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 31 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:31:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 33 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:33:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 47 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:47:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Try encrypting 49 bytes with no padding -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC enc_fail:MBEDTLS_CIPHER_DES_CBC:MBEDTLS_PADDING_NONE:64:49:MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED DES Encrypt and decrypt 0 bytes in multiple parts diff --git a/tests/suites/test_suite_cipher.function b/tests/suites/test_suite_cipher.function index dd5226c1ab..ff936dfba1 100644 --- a/tests/suites/test_suite_cipher.function +++ b/tests/suites/test_suite_cipher.function @@ -1,9 +1,6 @@ /* BEGIN_HEADER */ #include "mbedtls/cipher.h" - -#if defined(MBEDTLS_AES_C) #include "mbedtls/aes.h" -#endif #if defined(MBEDTLS_GCM_C) #include "mbedtls/gcm.h" @@ -119,7 +116,7 @@ static int cipher_reset_key( mbedtls_cipher_context_t *ctx, int cipher_id, mbedtls_cipher_free( ctx ); mbedtls_cipher_init( ctx ); -#if !defined(MBEDTLS_USE_PSA_CRYPO) || !defined(MBEDTLS_TEST_DEPRECATED) +#if !defined(MBEDTLS_USE_PSA_CRYPTO) || !defined(MBEDTLS_TEST_DEPRECATED) (void) use_psa; (void) tag_len; #else @@ -304,7 +301,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void cipher_invalid_param_conditional( ) { mbedtls_cipher_context_t valid_ctx; @@ -313,8 +310,6 @@ void cipher_invalid_param_conditional( ) unsigned char valid_buffer[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; int valid_size = sizeof(valid_buffer); int valid_bitlen = valid_size * 8; - const mbedtls_cipher_info_t *valid_info = mbedtls_cipher_info_from_type( - *( mbedtls_cipher_list() ) ); TEST_EQUAL( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA, @@ -455,8 +450,12 @@ void enc_dec_buf( int cipher_id, char * cipher_string, int key_len, TEST_ASSERT( 0 == mbedtls_cipher_reset( &ctx_enc ) ); #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx_dec, ad, sizeof( ad ) - i ) ); - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx_enc, ad, sizeof( ad ) - i ) ); + int expected = ( cipher_info->mode == MBEDTLS_MODE_GCM || + cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + 0 : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx_dec, ad, sizeof(ad) - i ) ); + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx_enc, ad, sizeof(ad) - i ) ); #endif block_size = mbedtls_cipher_get_block_size( &ctx_enc ); @@ -475,7 +474,7 @@ void enc_dec_buf( int cipher_id, char * cipher_string, int key_len, total_len += outlen; #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_write_tag( &ctx_enc, tag, sizeof( tag ) ) ); + TEST_EQUAL( expected, mbedtls_cipher_write_tag( &ctx_enc, tag, sizeof(tag) ) ); #endif TEST_ASSERT( total_len == length || @@ -496,7 +495,7 @@ void enc_dec_buf( int cipher_id, char * cipher_string, int key_len, total_len += outlen; #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_check_tag( &ctx_dec, tag, sizeof( tag ) ) ); + TEST_EQUAL( expected, mbedtls_cipher_check_tag( &ctx_dec, tag, sizeof(tag) ) ); #endif /* check result */ @@ -552,7 +551,11 @@ void enc_fail( int cipher_id, int pad_mode, int key_len, int length_val, TEST_ASSERT( 0 == mbedtls_cipher_set_iv( &ctx, iv, 16 ) ); TEST_ASSERT( 0 == mbedtls_cipher_reset( &ctx ) ); #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx, NULL, 0 ) ); + int expected = ( cipher_info->mode == MBEDTLS_MODE_GCM || + cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + 0 : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx, NULL, 0 ) ); #endif /* encode length number of bytes from inbuf */ @@ -614,7 +617,11 @@ void dec_empty_buf( int cipher, TEST_ASSERT( 0 == mbedtls_cipher_reset( &ctx_dec ) ); #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx_dec, NULL, 0 ) ); + int expected = ( cipher_info->mode == MBEDTLS_MODE_GCM || + cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + 0 : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx_dec, NULL, 0 ) ); #endif /* decode 0-byte string */ @@ -715,8 +722,12 @@ void enc_dec_buf_multipart( int cipher_id, int key_len, int first_length_val, TEST_ASSERT( 0 == mbedtls_cipher_reset( &ctx_enc ) ); #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx_dec, NULL, 0 ) ); - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx_enc, NULL, 0 ) ); + int expected = ( cipher_info->mode == MBEDTLS_MODE_GCM || + cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + 0 : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx_dec, NULL, 0 ) ); + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx_enc, NULL, 0 ) ); #endif block_size = mbedtls_cipher_get_block_size( &ctx_enc ); @@ -800,7 +811,11 @@ void decrypt_test_vec( int cipher_id, int pad_mode, data_t * key, TEST_ASSERT( 0 == mbedtls_cipher_set_iv( &ctx, iv->x, iv->len ) ); TEST_ASSERT( 0 == mbedtls_cipher_reset( &ctx ) ); #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( 0 == mbedtls_cipher_update_ad( &ctx, ad->x, ad->len ) ); + int expected = ( ctx.cipher_info->mode == MBEDTLS_MODE_GCM || + ctx.cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + 0 : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( expected, mbedtls_cipher_update_ad( &ctx, ad->x, ad->len ) ); #endif /* decode buffer and check tag->x */ @@ -811,7 +826,11 @@ void decrypt_test_vec( int cipher_id, int pad_mode, data_t * key, &outlen ) ); total_len += outlen; #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) - TEST_ASSERT( tag_result == mbedtls_cipher_check_tag( &ctx, tag->x, tag->len ) ); + int tag_expected = ( ctx.cipher_info->mode == MBEDTLS_MODE_GCM || + ctx.cipher_info->type == MBEDTLS_CIPHER_CHACHA20_POLY1305 ) ? + tag_result : MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE; + + TEST_EQUAL( tag_expected, mbedtls_cipher_check_tag( &ctx, tag->x, tag->len ) ); #endif /* check plaintext only if everything went fine */ @@ -1072,7 +1091,7 @@ void test_vec_crypt( int cipher_id, int operation, data_t *key, memset( output, 0x00, sizeof( output ) ); /* Prepare context */ -#if !defined(MBEDTLS_USE_PSA_CRYPO) || !defined(MBEDTLS_TEST_DEPRECATED) +#if !defined(MBEDTLS_USE_PSA_CRYPTO) || !defined(MBEDTLS_TEST_DEPRECATED) (void) use_psa; #else if( use_psa == 1 ) @@ -1100,9 +1119,9 @@ void test_vec_crypt( int cipher_id, int operation, data_t *key, exit: mbedtls_cipher_free( &ctx ); -#if defined(MBEDTLS_USE_PSA_CRYPO) && defined(MBEDTLS_TEST_DEPRECATED) +#if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_TEST_DEPRECATED) PSA_DONE( ); -#endif /* MBEDTLS_USE_PSA_CRYPTO && defined(MBEDTLS_TEST_DEPRECATED */ +#endif /* MBEDTLS_USE_PSA_CRYPTO && MBEDTLS_TEST_DEPRECATED */ } /* END_CASE */ diff --git a/tests/suites/test_suite_cipher.gcm.data b/tests/suites/test_suite_cipher.gcm.data index 1ec2e446b5..7b63635509 100644 --- a/tests/suites/test_suite_cipher.gcm.data +++ b/tests/suites/test_suite_cipher.gcm.data @@ -2731,2017 +2731,2017 @@ depends_on:MBEDTLS_GCM_C:MBEDTLS_AES_C auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"ca264e7caecad56ee31c8bf8dde9592f753a6299e76c60ac1e93cff3b3de8ce9":"4763a4e37b806a5f4510f69fd8c63571":"07daeba37a66ebe15f3d6451d1176f3a7107a302da6966680c425377e621fd71610d1fc9c95122da5bf85f83b24c4b783b1dcd6b508d41e22c09b5c43693d072869601fc7e3f5a51dbd3bc6508e8d095b9130fb6a7f2a043f3a432e7ce68b7de06c1379e6bab5a1a48823b76762051b4e707ddc3201eb36456e3862425cb011a":"8d03cf6fac31182ad3e6f32e4c823e3b421aef786d5651afafbf70ef14c00524ab814bc421b1d4181b4d3d82d6ae4e8032e43a6c4e0691184425b37320798f865c88b9b306466311d79e3e42076837474c37c9f6336ed777f05f70b0c7d72bd4348a4cd754d0f0c3e4587f9a18313ea2d2bace502a24ea417d3041b709a0471f":"3105dddb":"FAIL":"":0 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d785dafea3e966731ef6fc6202262584":"d91a46205ee94058b3b8403997592dd2":"":"":"3b92a17c1b9c3578a68cffea5a5b6245":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"aec963833b9098de1ababc853ab74d96":"4e0ffd93beffd732c6f7d6ad606a2d24":"":"":"e9fcedc176dfe587dc61b2011010cdf1":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c4fb9e3393681da9cec5ec96f87c5c31":"845e910bc055d895879f62101d08b4c7":"":"":"99fb783c497416e4b6e2a5de7c782057":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2a930f2e09beceacd9919cb76f2ac8d3":"340d9af44f6370eff534c653033a785a":"":"":"0c1e5e9c8fe5edfd11f114f3503d63":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"fe71177e02073b1c407b5724e2263a5e":"83c23d20d2a9d4b8f92da96587c96b18":"":"":"43b2ca795420f35f6cb39f5dfa47a2":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b02392fd7f228888c281e59d1eaa15fb":"2726344ba8912c737e195424e1e6679e":"":"":"a10b601ca8053536a2af2cc255d2b6":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"21895cbafc16b7b8bf5867e88e0853d4":"f987ce1005d9bbd31d2452fb80957753":"":"":"952a7e265830d58a6778d68b9450":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9bb9742bf47f68caf64963d7c10a97b0":"34a85669de64e1cd44731905fddbcbc5":"":"":"e9b6be928aa77b2de28b480ae74c":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"4e9708e4b37e2e1b5feaf4f5ab54e2a6":"1c53a9fdd23919b036d99560619a9939":"":"":"6611b50d6fbca83047f9f5fe1768":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"82fede79db25f00be96eb050a22cea87":"e9c50b517ab26c89b83c1f0cac50162c":"":"":"d0c0ce9db60b77b0e31d05e048":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1d98566fca5201abb12914311a8bd532":"590aef4b46a9023405d075edab7e6849":"":"":"a1cfd1a27b341f49eda2ca8305":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3038771820c2e1319f02a74b8a7a0c08":"e556d9f07fb69d7e9a644261c80fac92":"":"":"4d2f005d662b6a8787f231c5e1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0fb7eef50de598d7d8b508d019a30d5a":"a2a2617040116c2c7e4236d2d8278213":"":"":"68413c58df7bb5f067197ca0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"8cc58b609204215c8ab4908286e56e5c":"fb83ea637279332677b5f68081173e99":"":"":"a2a9160d82739a55d8cd419f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"81a5fd184742a478432963f6477e8f92":"da297cbb53b11d7c379e0566299b4d5a":"":"":"200bee49466fdda2f21f0062":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"f604ac66d626959e595cbb7b4128e096":"269d2a49d533c6bb38008711f38e0b39":"":"":"468200fa4683e8be":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2e308ba7903e925f768c1d00ff3eb623":"335acd2aa48a47a37cfe21e491f1b141":"":"":"4872bfd5e2ff55f6":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1304e2a5a3520454a5109df61a67da7a":"dbe8b452acf4fa1444c3668e9ee72d26":"":"":"83a0d3440200ca95":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"ecf1ec2c9a8f2e9cc799f9b9fddb3232":"ddf0b695aef5df2b594fcaae72b7e41c":"":"":"2819aedf":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9ab5c8ca905b5fe50461f4a68941144b":"96dd3927a96e16123f2e9d6b367d303f":"":"":"6e0c53ef":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b5fc7af605721a9cfe61c1ee6a4b3e22":"6b757d4055823d1035d01077666037d6":"":"":"e8c09ddd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"03c0b4a6e508a8490db0d086a82c9db7":"ac52f6c1a05030321fa39f87e89fdb5e":"33316ca79d10a79f4fd038593e8eef09625089dc4e0ffe4bc1f2871554fa6666ab3e7fe7885edef694b410456f3ec0e513bb25f1b48d95e4820c5972c1aabb25c84c08566002dadc36df334c1ce86847964a122016d389ac873bca8c335a7a99bcef91e1b985ae5d488a2d7f78b4bf14e0c2dc715e814f4e24276057cf668172":"":"756292d8b4653887edef51679b161812":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b228d3d15219ea9ad5651fce02c8374d":"5c7eafaead029c3fe3cf3835fe758d0e":"8c35dd805c08686b9b4d460f81b4dcb8c46c6d57842dc3e72ba90952e2bebf17fe7184445b02f801800a944486d662a127d01d3b7f42679052cdc73ce533129af8d13957415c5495142157d6ce8a68aa977e56f562fed98e468e42522767656ce50369471060381bb752dd5e77c79677a4cadffa39e518e30a789e793b07ea21":"":"a4dde1ab93c84937c3bbc3ad5237818d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"776afcbabedd5577fe660a60f920b536":"5bbb7f1b14084e520408dd87b97705e9":"44631fc9d4a07416b0dfb4e2b42071e3e2be45502c9ddf72b3e61810eeda31a7d685ebb2ee43a2c06af374569f439ee1668c550067de2dece9ec46ee72b260858d6033f814e85275c5ae669b60803a8c516de32804fa34d3a213ccfaf6689046e25eeb30b9e1608e689f4d31cc664b83a468a51165f5625f12f098a6bf7ddab2":"":"a5347d41d93b587240651bcd5230264f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"20abeafa25fc4ea7d0592cb3e9b4d5fe":"3aba79a58c5aa664856b41d552c7a8d3":"98cfecaae9eb9a7c3b17e6bc5f80d8a4bf7a9f4fa5e01b74cae15ee6af14633205aafe3b28fb7b7918e12322ea27352056a603746d728a61361134a561619400ff2bf679045bac2e0fbc2c1d41f8faba4b27c7827bceda4e9bf505df4185515dd3a5e26f7639c8ad5a38bc5906a44be062f02cc53862678ae36fa3de3c02c982":"":"2a67ad1471a520fe09a304f0975f31":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2bc73fba942ff105823b5dccf6befb1c":"902c3e3b69b1ef8395d7281ff74cce38":"4adec0b4ac00325a860044d9f9519daa4f7c163229a75819b0fd7d8e23319f030e61dfa8eadabff42ea27bc36bdb6cad249e801ca631b656836448b7172c11126bad2781e6a1aa4f62c4eda53409408b008c057e0b81215cc13ddabbb8f1915f4bbab854f8b00763a530ad5055d265778cd3080d0bd35b76a329bdd5b5a2d268":"":"ebdd7c8e87fe733138a433543542d1":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"356a4c245868243d61756cabe86da887":"b442f2ec6d45a17144c258fd59fe5b3b":"12cccc3c60474b0a1579c5006c2134850724fa6c9da3a7022d4f65fd238b052bdf34ea34aa7dbadad64996065acee588ab6bd29726d07ed24ffae2d33aadf3e66ebb87f57e689fd85128be1c9e3d8362fad1f8096ee391f75b576fb213d394cef6f091fc5488d9aa152be69475b9167abd6dd4fd93bbbc7b8ca316c952eb19c6":"":"ed26080dcb670590613d97d7c47cf4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"dfa7e93aff73600fc552324253066e2c":"c20001e93f1cd05253c277a9445d61e4":"a64d1e20058a1f7e698622a02f7ff8dc11886717ede17bbdc3c4645a66a71d8b04346fb389a251ffb0a7f445a25faf642bb7e4697d2cacf925e78c4be98457996afb25b0516b50f179441d1923312364947f8f1e0f5715b43bd537727bf943d7b4679b0b0b28b94e56e7bbf554d9cf79fcee4387f32bb6f91efdd23620035be6":"":"6ba5e4dace9a54b50b901d9b73ad":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2ecea80b48d2ecd194a7699aa7d8ccfc":"8b4db08bafc23b65ae50a2d20661d270":"efc2ca1a3b41b90f8ddf74291d68f072a6e025d0c91c3ce2b133525943c73ebadc71f150be20afeb097442fa51be31a641df65d90ebd81dcbaf32711ed31f5e0271421377ffe14ddafea3ca60a600588d484856a98de73f56a766ae60bae384a4ae01a1a06821cf0c7a6b4ee4c8f413748457b3777283d3310218fb55c107293":"":"246a9d37553088b6411ebb62aa16":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d38fee3fd3d6d08224c3c83529a25d08":"a942ccb11cf9468186fabfc18c899801":"1c92a4ce0a1dae27e720d6f9b1e460276538de437f3812ab1177cf0273b05908f296f33ba0f4c790abe2ce958b1d92b930a0d81243e6ad09ef86ee8e3270243095096537cb1054fcfcf537d828b65af9b6cf7c50f5b8470f7908f314d0859107eed772ee1732c78e8a2e35b2493f3e8c1e601b08aeab8d9729e0294dca168c62":"":"803a08700ec86fdeb88f7a388921":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1899b0cbae41d705c6eed3226afb5bc0":"82d0910aa53e300a487d880d018d0dea":"6bf5583cc1007d74f3529db63b8d4e085400ccf3725eab8e19cb145f3910c61465a21486740a26f74691866a9f632af9fae81f5f0bffedf0c28a6ce0fd520bb4db04a3cd1a7d29d8801e05e4b9c9374fd89bcb539489c2f7f1f801c253a1cc737408669bcd133b62da357f7399a52179125aa59fae6707d340846886d730a835":"":"c5d58870fee9ce157f5ec1fa8f":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"8b95323d86d02754f4c2874b42ec6eb0":"4f76084acbdef9999c71dcc794238d7c":"ebc75788377c0b264818a6f97c19cf92c29f1c7cdeb6b5f0a92d238fa4614bc35d0cfe4ec9d045cd628ff6262c460679ac15b0c6366d9289bbd217e5012279e0af0fb2cfcbdf51fe16935968cbb727f725fe5bcd4428905849746c8493600ce8b2cfc1b61b04c8b752b915fed611d6b54ef73ec4e3950d6db1807b1ce7ed1dcc":"":"c4724ff1d2c57295eb733e9cad":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"30da555559eb11cf7e0eff9d99e9607d":"7799275bf12335f281ec94a870f90a0b":"e735d556e15aec78d9736016c8c99db753ed14d4e4adaaa1dd7eaad702ea5dc337433f8c2b45afdf2f385fdf6c55574425571e079ca759b6235f877ed11618ff212bafd865a22b80b76b3b5cf1acfd24d92fd41607bbb7382f26cd703757088d497b16b32de80e1256c734a9b83356b6fced207177de75458481eaef59a431d7":"":"3c82272130e17c4a0a007a908e":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"ed2ac74af896c5190c271cfa6af02fd2":"e0226e2d8da47badad1fb78b9a797f27":"8f11353ae476ff923013e6e736ffc9d23101a1c471ccc07ad372a8430d6559c376075efce2e318cdf4c9443dbf132e7e6da5524045028c97e904633b44c4d189a4b64237ac7692dd03c0e751ce9f04d0fdbd8a96074cd7dfa2fd441a52328b4ac3974b4902db45663f7b6f24947dba618f8b9769e927faf84c9f49ad8239b9fb":"":"db8af7a0d548fc54d9457c73":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0225b73fe5fbbe52f838d873173959d8":"02a048764f48d9aed1147ee922395bbf":"9b46a57b06e156c877e94c089814493ead879397dab3dfcab2db349ef387efcd0cc339a7e79131a2c580188fc7429044a465b8329d74cd8f47272a4ed32582b1c5c7e3d32341ae902ea4923dc33df8062bc24bb51a11d2ecc82f464f615041387f9c82bd2135d4e240fe56fa8a68e6a9a417e6702430a434b14d70cf02db3181":"":"e2c2ce4022c49a95c9ac9026":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"89ca3771a0ef3287568b4ac036120198":"7e83d2ffa8af8c554cfd71a0db56ef5b":"1bd7a9d6262882bd12c62bd50942965b3cdcadf5e0fab2dc4d0daf0ee4b16e92c6e2464c0caa423cdce88e4d843490609716ec5e44c41672c656ac0e444d3622557ea8420c94deae3ad190ddaf859f6f8c23e4e2e32a46d28df23de4f99bd6c34f69e06eddfdfa5f263dbe8baf9d4296b2c543e4c4847271e7590374edf46234":"":"06b2bf62591dc7ec1b814705":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"a41a297bd96e224942998fe2192934a1":"6827f2c5a0b7ecd6bbc696abb0adf556":"f32041abd8543415cbac423d945dda5378a16a7e94d9ab5dbd2d32eb1c5048cc7c8e4df3ca84ec725f18c34cfdeaa7595392aabfd66d9e2f37c1165369cd806cd9d2110def6f5fad4345e5a6e2326c9300199438fcc078cd9fcf4d76872cac77fc9a0a8ac7e4d63995078a9addecf798460ff5910861b76c71bccfb6b629d722":"":"49a4917eef61f78e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"a9372c058f42e0a1d019bdb528313919":"8d03f423230c8f00a5b6b712d426a2af":"cfef4e70fcc1821eeccf7c7b5eb3c0c3b5f72dc762426e0bd26242f8aa68c5b716ab97eded5e5720caccc1965da603d556d8214d5828f2cf276d95bf552d47313876796221f62ccb818a6d801088755d58cfb751bfed0d5a19718d4e0f94b850e0279b3a69295d1837cba958a6cc56e7594080b9e5b954a199fdc9e54ddc8583":"":"b82cd11cd3575c8d":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"6302b7338f8fa84195ad9abbacd89b4e":"e1bed5c53547cbc85f3411fbb43bb08b":"bcd329c076e8da2797d50dcdcf271cecf3ce12f3c136ed746edc722f907be6133276ee099038fdc5d73eec812739c7489d4bcc275f95451b44890416e3ffe5a1b6fa3986b84eee3adad774c6feaecb1f785053eeda2cfc18953b8547866d98918dbe0a6abc168ac7d77467a367f11c284924d9d186ef64ef0fd54eacd75156d2":"":"5222d092e9e8bd6c":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"78b5c28d62e4b2097873a1180bd5a3a5":"c93902c2819ee494f0fc4b259ee65dd8":"e6b1192674a02083a6cf36d4ba93ba40a5331fadf63fd1eb2efa2ee9c0d8818472aaaf2b4705746011753f30f447c8f58dd34d29606daf57eadc172529837058cb78a378b19da8d63c321f550dfa256b5fd9f30e93d8f377443bfcd125f86a079a1765d2010be73d060f24eebae8d05e644688b2149bc39e18bd527bc066f2ba":"":"eae48137":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3d84130578070e036c9e3df5b5509473":"3b9b4950523a19c6866fd2b0cde541fd":"a764931e1b21a140c54a8619aacdb4358834987fb6e263cec525f888f9e9764c165aaa7db74f2c42273f912daeae6d72b232a872ac2c652d7cd3af3a5753f58331c11b6c866475697876dbc4c6ca0e52a00ba015ee3c3b7fb444c6e50a4b4b9bbe135fc0632d32a3f79f333d8f487771ed12522e664b9cf90e66da267f47a74d":"":"79987692":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"08428605ab4742a3e8a55354d4764620":"128f5f4a817e4af04113847a223adeb0":"464b484ed79d93a48e0f804e04df69d7ca10ad04ba7188d69e6549ab50503baaec67e0acba5537d1163c868fd3e350e9d0ae9123046bc76815c201a947aa4a7e4ed239ce889d4ff9c8d043877de06df5fc27cf67442b729b02e9c30287c0821ef9fa15d4cccbc53a95fa9ec3ed432ca960ebbf5a169ccada95a5bf4c7c968830":"":"3eb3e3a2":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0dd358bc3f992f26e81e3a2f3aa2d517":"d8c750bb443ee1a169dfe97cfe4d855b":"":"87cc4fd75788c9d5cc83bae5d764dd249d178ab23224049795d4288b5ed9ea3f317068a39a7574b300c8544226e87b08e008fbe241d094545c211d56ac44437d41491a438272738968c8d371aa7787b5f606c8549a9d868d8a71380e9657d3c0337979feb01de5991fc1470dfc59eb02511efbbff3fcb479a862ba3844a25aaa":"a81d13973baa22a751833d7d3f94b3b1":"":"77949b29f085bb3abb71a5386003811233056d3296eb093370f7777dadd306d93d59dcb9754d3857cf2758091ba661f845ef0582f6ae0e134328106f0d5d16b541cd74fdc756dc7b53f4f8a194daeea9369ebb1630c01ccb307b848e9527da20a39898d748fd59206f0b79d0ed946a8958033a45bd9ae673518b32606748eb65":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"43b5f18227e5c74288dbeff03801acd6":"08ee12246cf7edb81da3d610f3ebd167":"":"f58d630f10cfca61d4644d4f6505bab629e8e8faf1673e64417f9b79e622966a7011cfb3ff74db5cebf09ad3f41643d4437d213204a6c8397e7d59b8a5b1970aed2b6bb5ea1933c72c351f6ba96c0b0b98188f6e373f5db6c5ebece911ec7a1848abd3ae335515c774e0027dab7d1c07d047d3b8825ff94222dbaf6f9ab597ee":"82d83b2f7da218d1d1441a5b37bcb065":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9a433c612d7e1bdff881e4d63ba8b141":"8b670cf31f470f79a6c0b79e73863ca1":"":"ce10758332f423228b5e4ae31efda7677586934a1d8f05d9b7a0dc4e2010ec3eaacb71a527a5fff8e787d75ebd24ad163394c891b33477ed9e2a2d853c364cb1c5d0bc317fcaf4010817dbe5f1fd1037c701b291b3a66b164bc818bf5c00a4c210a1671faa574d74c7f3543f6c09aaf117e12e2eb3dae55edb1cc5b4086b617d":"8526fd25daf890e79946a205b698f287":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"8e9d75c781d63b29f1816859f7a0e0a0":"748a3b486b62a164cedcf1bab9325add":"":"a9f1883f58e4ef78377992101ab86da0dafcefa827904dd94dff6f6704b1e45517165a34c5555a55b04c6992fb6d0840a71bd262fe59815e5c7b80fe803b47d5ba44982a3f72cb42f591d8b62df38c9f56a5868af8f68242e3a15f97be8ef2399dbace1273f509623b6f9e4d27a97436aebf2d044e75f1c62694db77ceac05de":"131e0e4ce46d768674a7bcacdcef9c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"fe6b8553002c69396d9976bb48d30779":"595b17d0d76b83780235f5e0c92bd21f":"":"786f4801b16de7a4931ab143b269c7acc68f1ed9b17a95e8929ccec7d53413059fd4267bedbf079d9d69e90314c1345bc9cb9132f1af69323157ddf7533ced42b4b7bd39004f14d326f5b03bc19084d231d93bcab328312d99b426c1e86e8e049d380bb492e2e32ad690af4cf86838d89a0dfdcbc30e8c9e9039e423a234e113":"8879de07815a88877b0623de9be411":"":"b15dc7cd44adcb0783f30f592e5e03ccd47851725af9fe45bfc5b01ae35779b9a8b3f26fec468b188ec3cad40785c608d6bfd867b0ccf07a836ec20d2d9b8451636df153a32b637e7dcdbd606603d9e53f6e4c4cc8396286ce64b0ea638c10e5a567c0bc8e808080b71be51381e051336e60bf1663f6d2d7640a575e0752553b":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"14898c56009b459172fef9c17993b54f":"0862f8f87289988711a877d3231d44eb":"":"e7ba6ef722273238b975d551f95d3e77e9b75b24c547b86eafb457d409803bdf6e1443839d8604ee497020e1a3dbd687a819b17fdde0fcf240ce2129792792a58bfcd825773001ee959bf9ec8d228e27ce1cd93d7fb86769a3793361b6f82bf7daf284afc1ece657a1ee6346ea9294880755b9b623563ad2657ba2286488a2ef":"36938974301ae733760f83439437c4":"":"3fd56897a62743e0ab4a465bcc9777d5fd21ad2c9a59d7e4e1a60feccdc722b9820ec65cb47e1d1160d12ff2ea93abe11bc101b82514ead7d542007fee7b4e2dd6822849cd3e82d761ff7cf5ce4f40ad9fec54050a632a401451b426812cf03c2b16a8667a88bb3f7497e3308a91de6fd646d6a3562c92c24272411229a90802":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"fe5253d4b071793b081ebc122cc2a5f8":"49e82d86804e196421ec19ddc8541066":"":"b57a0bd7714ae95e77fa9452e11a7ed4a2bec60f81ad6ddb956d4b1cb5dfc277dcb4034d501801b26733b5e08c710c3cfdccc1b208dc7a92cd7ebe166320582bcaff64cc943c36fbe7008f004e5db70c40de05fa68b0c9d4c16c8f976130f20702b99674cd2f4c93aeaeb3abca4b1114dbc3a4b33e1226ad801aa0e21f7cc49b":"e8b8ae34f842277fe92729e891e3":"":"c4a31c7ec820469f895d57579f987733337ec6547d78d17c44a18fab91f0322cfe05f23f9afaf019cf9531dec2d420f3591d334f40d78643fd957b91ab588a7e392447bd702652017ede7fb0d61d444a3b3cc4136e1d4df13d9532eb71bcf3ff0ae65e847e1c572a2f90632362bc424da2249b36a84be2c2bb216ae7708f745c":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b3502d6f0d172246e16503cdf5793296":"6ce994689ff72f9df62f386a187c1a13":"":"09268b8046f1558794e35cdc4945b94227a176dd8cb77f92f883542b1c4be698c379541fd1d557c2a07c7206afdd49506d6a1559123de1783c7a60006df06d87f9119fb105e9b278eb93f81fd316b6fdc38ef702a2b9feaa878a0d1ea999db4c593438f32e0f849f3adabf277a161afb5c1c3460039156eec78944d5666c2563":"21cdf44ff4993eb54b55d58e5a8f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"5fb33dd73db309b9dfd3aee605cd94bf":"3f6486f9e9e645292e0e425bac232268":"":"f4e011f8c99038c46854b427475f23488077ebf051c4b705a1adfdd493a0a10af7a7e9453965b94f52f61ae62ce9243a82a2dbf9c5a285db3fe34ed34ed08b5926f34c48171195f7062d02a6e6e795322a0475017371cb8f645cdcac94afc66dc43e7583bdf1c25790f4235076a53de6c64f3bc5004e5a9ce4783fbf639fad97":"7ee5e0e2082b18d09abf141f902e":"":"0503cb531f1c967dae24f16dd651d544988a732020134896a0f109222e8639bf29ff69877c6ef4ac3df1b260842f909384e3d4409b99a47112681c4b17430041ca447a903a6c1b138f0efbb3b850d8290fceac9723a32edbf8e2d6e8143b1cbc7bf2d28d1b6c7f341a69918758cc82bbab5d898fa0f572d4ceaa11234cb511ec":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"a958fe3b520081b638d9e4c7d5da7ac7":"c396109e96afde6f685d3c38aa3c2fae":"":"dfa9487378c7d8af9c8dbd9e533cd81503d9e4e7dab43133bad11fd3050a53a833df9cc3208af1a86110567d311d5fc54b0d627de433c381b10e113898203ac5225140f951cdb64c6494592b6453f9b6f952ec5ece732fb46c09a324f26b27cdad63588006bb5c6c00b9aa10d5d3b2f9eaab69beeddd6f93966654f964260018":"06ca91004be43cf46ed4599e23":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"ec319fb143eac8215b51541daec268f2":"8a4684f42a1775b03806574f401cff78":"":"d298d988e74927736237eb8ab09d7a86b854fa2fd1f7f3be83b417ac10aa9291f4af5b3fbaf75a296ac32369ad57ded3984b84711953e477de3035ba430a30ffb84c941936e6c8d2cae8d80159876f87dd682747f2dccc36d7c32ab227032b8ac70b313fa4202ea236e3ec4d9e4d8b48cf3b90b378edc5b1dbeec929549344f8":"e91acb1bfda191630b560debc9":"":"27ce4a622959930f4059f247d29d1438257093cc973bf1bae4e0515da88b9a7e21ec59c7e4d062035cdf88b91254d856b11c8c1944865fa12922227ded3eecccaa36341ecf5405c708e9ea173f1e6cdf090499d3bb079910771080814607a1efe62ec6835dc0333d19dd39dd9ea9f31cd3632128536149a122050bb9365b521d":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"14a3e69f351ac39b4297749a90c1365c":"eb1c6c04437aa5a32bcc208bb3c01724":"":"051224f7b208549dcfda5f9d56ce5f0a072ef1f23f3810c693516c92622be6ed4d7a9e0f9450980ba490b2e9e3468ea7eef10bc9ebd673d91f32b748c1bf2c50cc4ebb59fc409c6d780bba00700d563ce1dc9927a6c860095a42ed053f3d640debfbfa7a4e6d5de234af19755000d95e7f414f1f78285ee165410c020038286b":"e418815960559aefee8e0c3831":"":"797310a6ed9ce47cdc25f7f88f5dbbf6f8f4837701704d7afced250585922744598d6f95ba2eecf86e030cc5ee71b328fc1c4f2d4df945d1b91a2803d6ae8eba6881be5fe0f298dd0c0279e12720ede60b9e857ccca5abe9b4d7ee7f25108beebbfe33f05c0d9903bf613c2e7ed6a87b71b5e386d81b3ae53efd01055bbcccc2":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c34827771fc3918d1cee09ba9401b832":"2379bbd39a1c22bc93b9b9cc45f3840b":"":"ce79701b661066e53191c9acdaf677ad41622314898d7216e3f113e2e6e215d26d8bd139827f06ab3ea5c4105694e87db1dd6cec10e1f86a8744d4c541f08e40319e22ab42fc1a6c89edfd486b6f142c6bbbf84a73912e0b2e55b79db306ccabf839855afdd889e52ae981520c89e7dc29bb2adb1906cca8c93fcb21290a095b":"26e1f6cf0d9e0f36dfd669eb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b1f9bd2006ec550b7b9913d383200b5d":"ca28fa6b64bb3b32ef7d211f1c8be759":"":"6d9fc8f586d50d6e0128172ae147844e80136905d3a297497a9566ca7c7445029028f14c9950acee92a5c12a9150f5e024e01c7505dd83937542b0b1288de9c292ae8ad918a09b2edf8493540b74c73d2794f2eb6eed18eba520ddea9567462c83330f33d7892fcde0b10c73a4e26ab1bef037cec7e0190b95188e9a752fee6f":"c87aac7ad0e85dbb103c0733":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"8b2cef1a92aa0af2b00fb2a99855d5bc":"08d87b7acee87d884667f6b1e32e34d0":"":"fd09525ef3c65ab5823e1b6c36b4a9449a3975c5d3a9e7e33c61fb32edcbb8e8c915b6202e3fbce87d73cc3b66d83d9ea7e1e353cc7468f08626932cf0235563e2a28953ee5a0afadb1c3cb513b1f1fc9a8a6cf326174b877448672f7731dd6430a51619da1a169ab302da5af5b38802f8bbf5890b5d9b45deda799679501dc4":"3bd7685318010b0c5fe3308b":"":"583e64631c218549923e8ad33b728d07f23b0f19d2aff1ad7e20d564c591db0e117caa8f21e3f3345e3d84f0ccbb27274cddf9274410fc342cb2a5d4aea4e925d0dd5350389ee0dea23a842ff3f5c1198374a96f41e055f999cfbc2f47ceaa883da8eb6ff729f583eff1f91bd3f3254d4e81e60d9993b3455e67f405708e4422":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"175c306f8644b0c4b894ae3d0971505e":"9860268ca2e10974f3726a0e5b9b310f":"":"fbe7ced7048f83e3a075661c4924eb77da1b4d6019d504afb942d728b31fd3b17557bd101c08453540a5e28d3505aeb8801a448afac2d9f68d20c0a31c7ef22bd95438851789eef1bebe8d96ac29607025b7e1366fecd3690ba90c315528dc435d9a786d36a16808d4b3e2c7c5175a1279792f1daccf51b2f91ac839465bb89a":"f809105e5fc5b13c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"08c0edcfe342a676ccdc04bdf854b4b0":"4a7b70753930fe659f8cc38e5833f0c7":"":"1fc8ef8480c32d908b4bcbfa7074a38e915c20ed7a1c608422087e89442d7c5af6fe9c9a716c55793248062d8e6c6e8e904e2804da3a43701e4c78ecdb67e0b25308afc6d9b463356439cd095cff1bdf0fd91ab301c79fd257046cba79a5d5cd99f2502ad968420e4d499110106072dc687f434db0955c756a174a9024373c48":"9ab1e2f3c4606376":"":"983458c3f198bc685d98cea2b23cf71f0eb126e90937cab3492a46d9dc85d76bbb8035c6e209c34b2a7187df007faabe9f3064dc63f1cb15bf5a10655e39b94732e0c6583d56327e9701344e048887a81b256181cdfa9ec42ebc990875e4852240ddcb3cbc4ea4e6307075fd314f7190f3553267bd68b19e954e310ec3f8dbab":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"241067a0301edf0f825d793e03383ea1":"a30994261f48a66bb6c1fc3d69659228":"":"6984bb9830843529fad7f5e7760db89c778d62c764fcd2136ffb35d7d869f62f61d7fef64f65b7136398c1b5a792844528a18a13fba40b186ae08d1153b538007fc460684e2add8a9ed8dd82acbb8d357240daaa0c4deb979e54715545db03fe22e6d3906e89bdc81d535dae53075a58f65099434bfeed943dbc6024a92aa06a":"36c3b4a732ba75ae":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"03cccb5357bd2848332d1696f2ff90cb":"e0754022dfb1f813ccaf321558790806":"":"5e2f18cbc1e773df9f28be08abb3d0b64d545c870c5778ac8bb396bef857d2ac1342ae1afb3bf5d64e667bf837458415d48396204fe560e3b635eb10e560e437f2d0396952998fd36e116cd047c1d7f6fc9901094454d24165c557a8816e0d0a8e0ce41e040ba6f26ca567c74fc47d9738b8cd8dae5dfc831c65bc1ba9603a07":"c75f0246":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"4e5e53c84a05d5a5348bac7b2611cf62":"47e40543b7d16bc9122c40b106d31d43":"":"489c00c05dec06f282924c680f621ab99ac87f7d33ebbb4ca0eee187ec177d30d2b4afb4ee9f0dc019cf1a4da16d84b7f5f5c7fce72a32461db115b5a5a433024fd5ed3d47161836bb057a0189ed768f95e45fa967d0cc512fc91b555808c4033c945e8f2f7d36428dcb61f697e791b74e5c79b2bcb9cb81bec70d8119cd8d76":"81eec75d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2c94008bf377f90b7a1c0d2ea38f730c":"abfe92931a8411a39986b74560a38211":"":"7b3d619d115de9970b2df4e1f25194940b3f3da04c653231e8e6946de9dc08ae5ba37e2a93c232e1f9445f31c01333045f22bd832e3b5f9833f37070fafb0ef1c44cc5637058ab64d9e07bb81b32852d4cf749a3ddbfdb494f8de8bb4e31f46033f8a16bc22e2595d023845505ea5db74dd69ab4ca940078b09efb4ff19bdb66":"47d42e78":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"69eedf3777e594c30e94e9c5e2bce467":"a3330638a809ba358d6c098e4342b81e":"df4e3f2b47cf0e8590228fcf9913fb8a5eb9751bba318fd2d57be68c7e788e04fabf303699b99f26313d1c4956105cd2817aad21b91c28f3b9251e9c0b354490fa5abfcea0065aa3cc9b96772eb8af06a1a9054bf12d3ae698dfb01a13f989f8b8a4bb61686cf3adf58f05873a24d403a62a092290c2481e4159588fea6b9a09":"5114e9983c96fecec3f7304ca42f52aa16cb7c6aadfb62ad537c93a3188835ca0703dad34c73cf96435b668b68a7a1d056931959316e8d3ab956bf64c4e07479c7767f9d488b0c0c351333ccf400b7e0be19a0fd173e3f2a1ae313f27e516952260fd2da9ab9daca478ebb93cd07d0b7503b32364d8e308d904d966c58f226bb":"5de3068e1e20eed469265000077b1db9":"":"208e6321238bf5c6e2ef55a4b8f531cbbfb0d77374fe32df6dd663486cf79beeed39bb6910c3c78dd0cc30707a0a12b226b2d06024db25dcd8a4e620f009cafa5242121e864c7f3f4360aaf1e9d4e548d99615156f156008418c1c41ff2bbc007cecf8f209c73203e6df89b32871de637b3d6af2e277d146ae03f3404d387b77":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"45cc35311eedf0ba093bf901931a7036":"fed5084de3c348f5a0adf4c2fd4e848a":"6e210914e4aed188d576f5ad7fc7e4cf7dd8d82f34ea3bcbdb7267cfd9045f806978dbff3460c4e8ff8c4edb6ad2edba405a8d915729d89aab2116b36a70b54f5920a97f5a571977e0329eda6c696749be940eabfc6d8b0bbd6fbdb87657b3a7695da9f5d3a7384257f20e0becd8512d3705cc246ee6ca1e610921cf92603d79":"5dc8d7525eaad035c19714ae1b1e538cb66a4089027245351e0ad9297410fb3a0c1155407c10a8bb95a9ca624a9c9925dac003ee78926c6e90ff4ccdba10e8a78bda1c4478162a0e302de5ff05fb0f94c89c3c7429fb94828bdcd97d21333c2ee72963ee6f056ce272b8bab007e653a42b01d1d2041ba627f169c8c0d32e6dae":"266a895fc21da5176b44b446d7d1921d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9edb5231ca4a136b4df4ae22b8588f9f":"c342e9bdabe7be922b2695f5894e032c":"a45c7f8032ac5144deef8d5380f033aea2786b0592720a867f4831eaccc6b85d3fd568aedc6e472e017455b0b5b30cf7a08ea43ca587f35e1646ecd9b4dc774d11e350c82c65692be1e9541cbd72a283bdcf93dc7115545f373747b4f8d5915ed0c42fbeefd3e9bd86003d65efc2361fde5b874ddabcf8265e6b884615102eff":"493df801c57f8bb591955712d92d3fc34518f0599fec8533b2b4473364e1df4f560c12444cf50eeb584676b7e955c742189de6b50b8e012dfa6642f3679fb02bc6d8e08d1db88c8ae955a7946263e06494e17f8df246b672942661e5563302252208f2e00a0d77068a020e26082c291a75a06f63c41e2830292a418b2b5fd9dd":"5ed3ea75c8172fa0e8755fef7b4c90f1":"":"56696e501fac1e8d5b83ef911ed11337d5d51ff5342a82993dd5340bb9632e6606eef68ec5fe8cec6b34ebbc596c279e6cbc9221c4cde933f6d93ae014e3c4ca49593f35eaa638606d059519bac3a3373519e6184e7227d2aa62170c36479fe239cb698bfca863925a4c9fb1338685a55a6dfd3bd9c52d8ae12be8551fce6e1a":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d5fdcb8f5225090e63fae9b68f92c7cb":"581c818282a0905df5ffff652e5604e9":"f1ae6cd7b07f261105f555cf812a1d5bf8dd9aac07666318acffa11abb77d0238156663acbf7543825b45c6e9cddb481a40995ecd78bb5f4cba5df7c7efb00fc19c7f45e94d37697aca8ef368b99165393b6107f900194c797cd3289cb097eb5915f2abfd6aa52dd1effffdde448e30075a1c053246db54b0ec16eadca1c0071":"d39b9cba95e3a3aab9bc1d03ff475c04faeb5b7f0510777f39e5a05756606eb7ddd154aac035d9ddaf3535629821dd8f014dedd52cd184f52fc706e3c89a3a271398c9125d9a624dafb297a56022ca2ea331ea7359ab5e65f8e14814788e64e0a886a9b1a0144bf268fdcf9d94c3d10a0452f40111da9df108252e9039eacea3":"827e66b5b70dce56215cfb86c9a642":"":"cec11a12e47fd443f878e8e9fe23c65f29dd2d53cec59b799bcb0928de8e2f92fe85c27cec5c842ef30967b919accafe0c0d731b57f0bb5685d90a3061cb473e50e8aeca1346d1f47f7db06941f83f21ba5976d97c28cab547d8c1f38387a04b8a0b212da55b75fbaf9562eeeabd78eadcbab66457f0cd4e0d28133a64cb063f":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"036198cd3a3ab9319684d0f811cf2992":"47dffc6b3b80ffef4b943bde87b9cf3c":"ec4de476cd337f564a3facb544d0ff31cd89af4c3d9a28543e45156189f8eff8f804494dda83a1fb2c30ce858884a01ec63db59268452b1eea0f0d48280bb7340eaacc84509469dd94d303774d053d7ab4fb5f6c26581efeb19165f8cb09d58ec314d09ab8356731e87fd081f661e7b2d1a7c3aa4af5448a12b742e7b210b0b0":"6b95b9e82a695fb7b466ce3adb536f525d8314f95eada39efb49baf121093ce7d5439f0d8223e03530b85accd388a70650ca9f7e63eb32afecb7b1916ed9b762128cc641caf3e08e027c3d88481d653b6b15172e977dfb9b3f88465911aee162501cbf8501ce2b66ee151bbfdc23225f638f18750c239d62471663e5ee2a5856":"6cf68a374bea08a977ec8a04b92e8b":"":"5c2f7c408167be3d266ff634e1993fe291aef7efae245fa0b6b5bde886a810c866ae6a078286684d1b66116e636e285f03646e09f3c4ed7b184e7c171ba84f3bfd9500c6f35964a404892b4cdcdd3f697fc5b01934a86019810987a9fea7efca016049873f1072f62df3c17f57ea1d88ccd8757f7e3c5d96e8a18d5366a39ea9":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c9fbbff8f25f951ba874dfc5ff38584e":"1c1fc752673be6d4ff4cc749fc11e0fe":"abfde0b60acfe265b62ed68ebebc1f5f725f155c4b8a8aeec8d704701c51ff7817060c1b0ce6b80d6efc9836c9ea2bc022ec67db4cd34e945e3a1b153fd2e0f7ac84bb4b07e04cbb529ee24014b16067f9f082b940c9d5e54024d3e5e910310457478560721587da7b5343d89eec5a8fce389c01185db15e7faa9a3fa32e8ab9":"ca401071396da00376add467490abc6e6a7d8a85852026979f7013a09cf689113c8d833560cd6c5b8fdaa8fdd818e773ac13954839a0a2c91efeaf4e0e14de43308419a8b86fa2ae600a88a6bd39dfaabc16a3c7c1b77a5c2aab7f7caceb2f8595324125efbb7c96ba16c47d0bd10568b24bf445d72d683268466e68e46df500":"ff0b2c384e03b50e7e829c7a9f95aa":"":"239637fac6e180e71b2c9fa63ce8805f453d81499623ec2deba9b033350250662897867bffaf0c314244baf9e1fe3e1bb7c626d616bfbf3e0ac09a32aaf718b432337c9dc57c2d6fc4a0a09bdc05b9184d1b90c7193b7869f91e2caa8b3b35c10c6621ffae4c609bdf4e4e3f06e930541c381451ef58f4f30a559d2b79b0e6b6":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3a314ec178da96311e42334a616fb38b":"d7ea27c819e3eb2666611bb1c7fc068d":"db8dcc31a5681f13d56abd51bd2dcb0d2b171628186e215a68bf16167b4acd00c3441973c3fa62fa2698ee5c6749fc20e542364d63c40756d8bcff780269e5201bafdced3cdc97931d8203873431882c84522c151b775285d0a3c5d7667254c74724ff0ea9d417aa6c62835865dfded34edd331c0c235a089427672c5a9211c9":"518b3f5384ab54f80497d55be7a5d6902bc7718386212c2ec7537db331514b3838f104bf9054e03039a4cfb73f41e5d0a9648e569ed738cea8d33917430dff6afa8f07a75e324b9262fa196a4439dcd66b0535ee5bea0d292600227c2a79ed03be0671740e5cb7b306d855612bd3abcbf02cf7e7cecbb6cdbb33d57b4e3234a2":"1e774647b1ca406e0ed7141a8e1e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"e818372a63b7e2c23b524e29ba752bdb":"36e617e787cb25e154f73af1da68cb06":"71801d69796c2ce36b043c157aec9fd2e06fd1ec596126d10c26b6d44e3dc36c4fa30a030d65c382b6ddfd958e71fe9c16732e595137a3d6764c15480fc3358e9a113ba492b31274663f5842df5d1cc6bad70e83b34675a4411e2e70755aede0ff5035601be130562e27a20283d6f144ff1bdb5276dec05fad80d51b28d50688":"c1bf1b702a95ceaa6b48a1cdd888ae51f58a9fc3232bd6c784529a83301c6d0cdda6e605ad9a2563f54a8d59f624ae7c589e48b85041a010dcb6fb8739d43e79a456fc0e8574af086df78680460c3cdc4e00dc3b9d4e76b0de26e9aec546705249fa7e7466c01001c2667eaf2813be1f0f116916f34843a06b201d653aa1b27e":"3744262bc76f283964c1c15dc069":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9a04f16882ff45816739d1b6697ce8b7":"66f504d9a9128ad7fb7f1430d37c4784":"f641c53c83c4fb1ff8044bfa97cdf63fe75d8159d65b3e5ad585b89c083a53cf4a2f7a58eaeaf45fa71f2c07bc5725a6b03307d7f32884a133a4c803700bf1e12564b98b71f63b434ddf13ad2c467dda25ffa6effcafa72452b20c34cfae71e47096f8745b487e9f1945f5bec83f7ec2709a13b504d92315b1b727a78902be84":"6a4f3dbb3371f64258fd1f831349e745a4e19a33aad794b1de3788729618beed619586092120e9e5dc3ac6e0d52f991f7be61afbfaa4399ac716ad79a2734827254b1627791dc92a128a6f43426b8085dee94242e83176a3d762658f18ecc1e37e3e1531648c9caed212ea2cf3b3843cb92cb07730f30fe2dca3925470fadd06":"fbb37084396394fecd9581741f3c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"38cf029a4b20607030586cd2d82146e6":"6330084319e2bf32cd5240f4826944bc":"80746cfb0127c592f8164d751b0e14a5b379056a884cece7ee4e9b80538d7ff6be56a3b19c135786722aaf315123b47672b0251e87ea45f0fd3601cf93f9efa6cbd9ad537f54d57f1e187f821faac24096ecec19d137c9f4cf145c278af4cd8de01c7758784fda06f1cc62d92ae1977786f3d0645714ab4ab6f48c8794b12f73":"f4c9f4476561c9ebdac71b282ae6e2f9f03547da98e66d4d857720db2fcc9ed1f363858db34c9dcaca0109d7c81db24150493115f2bb6985efa8686e3d2ab719d33b230aa4c5c70696bf42f225fb3c6704711c054a882d89b320884a78cb59cd2100496edf4010487597fb9135d8ca79693a43843e9626fd6c64a8722b3a27dc":"7b021de5cda915ba58f90ceef4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"cf4d81fc5997c744a572bed71f4ae609":"bc4e20c56931c967ce8e3b8f5f1c392f":"b6b8294abf7da5703f864721f7904d3821f5568bf4b269e44edef4f1c95ddc172d83a06c0ad9f7f1fd2e292c17a876392bc5bb705d370b2f16ff721bef7648f423346fd3a4d762676e6fcf2d690553a47224af29afed0f452d263be90eb8150a13d720f1db6f1abc1c2ec18cfbf93b8ed3c5aa7cfc1dcb514d69f90409687a4d":"f3d65d70326e641fbe7fd945fe9cf66c74f17d0d1020ae8ac488f39b7285c99d8632bc2201960f3d77daccfecc04428abe0853aa8d82b90a93127c72b2d2af53f7f1bd0afb99d50f0b3b24e934ec98eddb278b2c65866442cebf10208c7ce1b7ecf764858480b2a269b106fa6d2428d5ad17612e53e62ccc7ad1184663aeb9a7":"0a86142a0af81c8df64ba689f4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d88ad40b42ead744f1b7a36685658be1":"52c3158f5bd65a0a7ce1c5b57b9b295e":"dde2663335c40e5550ae192b843fa9fb4ef357b5c09d9f39dafda3296a4d14031817ee4dc1a201d677597d81e37050cd3dc86c25adbd551e947a080b6c47ec7be8a927ef7920bd1bb81f2c59801a2b9d745d33344cbe4838bcf2eb8dce53ab82c75c9bbab8e406597f6908aaa81fbbdef25aa69116c8f7a8cdc9958435aa32ac":"e99d2566fe6bcb2a04d167605db7c0f1e5567ff2d8d3292c15bbccc5d1e872bcb15a30b3bb8b1eb45e02fba15946e6bca310583a6740845a0f74f4ebfd5c59ced46875823e369e0447cc3e5d03dae530adf3c9846362c94e7f9d17207bf92d4d59981d8fd904eb8b96a0a23eb0f8d7e7a87e8e8892a2451524da6841ce575c27":"7643b3534eb5cb38331ed2e572":"":"6f87f6be2f4e7421aa26fe321045d1e23066a02158634bef35890581c92367d0bc232940de30974c70a66c60137a9f3924d12db1e5bc1b0e7131ea3620a25eb805b7d670263b82c8bbfcd6839305025390fc17d42d82daebe1b24f73ff9aa4617e3866785dded88f8b55ef89b2798ea2641a592a46428d9020f9bf853c194576":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c3ce86a212a30e724b4c624057db4e79":"9e03f0dd4cb2b3d830a6925e4400ed89":"92c48a39d93ea3308f55f6650d33fdf17a902076d582a94a82ac99496de9f62312292b844bbca5a683ef0f0710bbc1c7f89cbcca8f9c0299f154590d32059bd99fca5d78c450ede0d11d55075947caf2151218ce7a06c1e81985a7781a3444054170b457fd7ba816026310112abb47c8eddfd3ab7f679a0f60efc6c6dd3b759e":"3582ef7a9565c9a8e4496750ee5ca3e3a80df6238f7b7608e3394ec56d1360777921da039ede34abcedd01081babd496ba4de74a7de501181d6bb2022a6cc7f79d89a4c6a97676fb0f2b42f70e2d0bc1eaac364c3646df4f611c1d6b09737451b81b5a4da73c05fb58391c74e44498b80b26f1c29562d23c39b5d3f086b280cb":"3230fe94b6ccd63e605f87d0":"":"052347a4273cddba65b2a0b961477f07edee440a9117ab204359d2dd45ad2a6dad3b60ead891e7da6d79f3017ac90f95725a0089f04d25ce537bf53b7ea8e1ea58692d34c221db141e2a9fd7211adcee03ef8b5bf3c5d36311d20bb3d81f70f7e7272d0e2b6d12293b1a2c31b70f140a8f08d98c6231a3c429c3d0a10b2e1c1c":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"a0155360b84420b5bf4fb410ea02f31e":"46f0386be7363887e7e357376305eab5":"611bc290f91798ad84f0a5ecb5a7cb8fa35e9ab6a5a51c9869a68a076e96f92c9c117595f92cbac5d33343fa2accd2541473907cbc54792c5e215ae857424c921b04ca4b81376bbedbfcc0e565c118f2aced08f247698eed5e2d202c48245161cabeac9fa195219f9799fa253e339561e13012167f1d02b4012b7791b7c863ba":"ecdb51522fc440f7471ea6a31f7c1ef1ec2153e5bcf6303297dbf8ddb3830b45ed9866157375ce4bdeb5e32fcbc6607984fccd7e6552628736608ab13072856d432ceccd3e90d1bb52ca9ada9cee90eb89ac10e887a1978fd0fb3d7bb20caaf35539e150be8044b725b8427c4c4a910f79980865d36344a8784bcc3d58460acb":"ac5addcc10cae6c1345520f1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"694f621f594d96b16c32254ff06f3f9c":"542db4e107485a3cd24c7ad337a4f1b5":"27b7bfa5eb34ba376e515e58ab8b6556c396820d0074a1fe3b984945dcf5251ca450456ccb4bb66ec739b03fdc5f72d24553e843255adc012d1f1c95aa3cdac5d12926465354217203052cbd4869a8b5be2e01d0fe66b5a6a8da0a2ce351557e2991ce77baa812b9c67b8e1c5a1fc348710e1a73a0fd49acfd538b7db6bef8b3":"e61476b8b7f101ca6005f25af2b9bee795d62720bbbf59357057ca7cd473e00f0d465255fce8d6164657603323549fb4e3d33fa51054b1a70cc7e492916dea85453e9107fe781bfeb4a622c5b2306a8dddef99386dc50745003aa7220cd7f32fb0a060fa7682576769a48f9169c7d11fe0a8a61b95f5d6dfcf216f7d0c652a84":"0bdef4d771a1740381e7db97":"":"8b27a338fd2153d304f04655e09bd9bdf4468890ecce1e3b51de2c9a25a8d9336a9acd753ce270b1fe8d50196feac68145e0fd59c9cb3aa7c1e8af03494bc4279c6e287c849f3c775ada584ae173100946ae6921ef7c96bbc6f216093548702cf1867bb1bf1f4c9e90a34230a2b2aeb584622dd615023a43a406e64428bd9170":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"78826a5215a1d5e1b39cad5a06861f8f":"feb9d740fd1e221e328b5ef5ed19eff5":"ca9411b368d8295210d7a04da05a351d287f2f67d978ef1bb936de9f8065473f6fa11495da2eab13a1002231c86411d5409bbc718e2042ee99e013b1df1ef786e9fc1f2d43293c854128184efb9317c4ef82a002eac8b28fcd91d8a714a3aa25fc3c0ae4af9f4bcf5ad19a30cd8ec4b1785df70aa92074da419abe433dd4c435":"0fe2c798d7015d3e2f8725648d95729c45d357dc0c89fc63b9df5a68d3e65419540f663e9190793a29c58c495d5c6a731782acf119e2df8a96fb180ad772c301d098dbc5e3560ac45b6631a01cef7eed6db51f223775d601d2e11b9baa55e2f0651344777e5a03f6738a2013626a891b5f134f07b16598b8cbe3aeaefa1c2a26":"a724bbb295a02883":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d450f5253251121606e56687952bf2f1":"fe7ff90b020fc77d7fcd90bc583850ac":"a3bca9ff25a60006eb18f993dcdc99681e414e27605264dfd25652195d7fe1489550afd07fc7346b88d93b59eb6642913646e93bf50ee1db5dd30106cf181124d8ad01c72ed99038c9798620abdf5c78c419b08c97f982b34d9e9105d9aa4538afcd37f62e2412f14f7a248fcd60abaf2b66cd4554767f99030f1a495d56a5ae":"479b4f421bd8ac7f615c4a507da187cb5d4b1f1e2c6113d1f9678c1ba92dc5e17c5b525d7f3208733223eb82af0820b8476e9b08ca714ce044417b24d2238720cb8ffdc69db558cbaff52e3651b400e16c9d5ac8ed8949a19c35516f80394a04bd1cfdced7b204f779d792086e00b2ebca2f55a1140e85f5ee9ac7cfc5a31747":"6446398aff73ed23":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"90a59f6b0abf932311f0b65623c17740":"20778bea82a6717038e7064f48a31981":"4022d04f1454a72d2efe57533bd32757595220b20f3a37d166cec0412fb1eb2588f939ecd906c805f4827338669888e9f730905001eb1b136b95e306edf70d9ba1e5cd0aa13a25a1f28ab55cff36f9cd7036c735e3b285d26002ad2ed1074b566e252ea3ec8a9ce10882375dc3f1d9676e301dcb179eaae991120b796cc35648":"be5a948a771a8df12adaf74d702f064a75f6483c03203365fbde7d184844fe6dee0b84cf344be05b1d163817ba1516fcb87b9167ed81f884ada73b0058e2b38cba515bbbe462f4c21f8de1d41bca2cf4340aa659f9f07886c2bb620d9c3295318c07fa3c17fe8242409359c08bcb337e5cf268880839b6a20f4ee4b3f04e7024":"dc77c1d7e0902d48":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"6be4ef629f0b38194c74f7b66418922d":"fb77a4b9b246271abfc656433f87628c":"e5d5227725a19a3050fbf2a97a6e854bc1218b94a4a3403b721ace3447daff68fff5553a26edd41219e68fb61fb9e964d0a3c29796251ae4eb942187cdc55d13a09dfb487e93d9e2072d7271456a77c6ccb81154443eea176314d6e3a08619b52cd880f1c28ae5214ac0090a3855dbd74f87389fe8afebd464330fb683dff81a":"b67ea20a320f4ec0e4185c62a4ad79a3c97a8189a5e4d1deff9d3edff0f9a9323532853c1a2a2c1e62e4d1afebfcdf1d8461921ea601750380e63b912d8b7389198f976851d88a19f1aa32c97143668ad00838d98da1c4f2be0e6e2dc964d170d7f7ad2e2997982e5ca110e744b6e10c24ca18eadff6b129b1f290c8a7e0a593":"3d8fc6fb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c50e37244931e8debc12b3d561c83ba2":"6c0b1fd7ab424a6883c36457d1b5521f":"516dc25f6452ae169ce293c5cee440de47353ca5ba770dca0f04175950e87a2d4c3f84fbc6eeacaac436853492929680066f959e74de4b736ab924d8367b90aaa6e9492561ad4b5aa78b6737d562e960edc3b983e2e01a186e9f22896f48d8dfcfb6a42cfe2c6006c687a27772820a1e8875bdf09e8104248ce4db883376bc04":"b9abf0796f2d2f774735546cf809030f65ed0c7f6bd469ef2fe0ef32aa0225b57fbce07c36017bbc1806a81ff1a429278160a07643f864485b4e0e35d57553dc1a131e32aa10f1f91d663b10f0a418f472ed7b4bca54fd7ffdbb22c4d7764d94a7ffd04730614459431eb64335b9b65363de292c04275d40a7b968c0f5c486e9":"7d4393f0":"":"962509e494f10269b70ebad02b0cd799d1d41191a734863ef502aff3d3ba48dc2acf9da9a3fc3f40be4d210dc5e128bc00499aec57aa0a4669863165428687b88d46fad41e36af8ea6605586eaa5c0736d0d53b9d523e0cb5a0b285048e060a73cbf4b587d2cd787debdb2b4c8cda731a61a15b19fe8b561fbdd3a7373853ae1":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"8531ddb03977383405baf2ee9ca7d64b":"baf623867d6a25fd85d1f08e599c0566":"18f92cdd37dcd7f99b06838f3f68748aba367baabaebd0da9ee787d70e752fa07dea553a43b643b8d8f460175c0746675205e20a7a98acfcac864d7c4cf5ab4c41c031738c76882acda003c5af47b1c4df8894a827a317935d970d4afaee17715c9cfd1883e8c345f19d1f89e229b8edba6b4f53b86d8da1c0f159afb83b6b33":"d90c9e26509bdba9b1dea8d2b94f2b1881d22c2bd756ad23cd61944710a1c1f2807170ed47a6870ae654e44757fcb3822ef28b37946cafc07284f8a0c22ae3552954f0d87b8d8c825bd546935b494cacb4262d9e2a88f254f200ad31367d8b3715afbabea5f34214ffedb14d7c84806022aba2dc8f88a314ffbb24017d1a9b9f":"2fc9de46":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"862dd5b362cfa556ca37e73cff7f4a0e":"81530a243655a60d22d9ab40d2520447":"":"":"3b9b2af54e610ed0b3dda96961dd8783":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3452b7bc100c334292e08343f139b9d0":"8f92739a30fe4ba24079f5d42753d6ac":"":"":"0eeca69f8b95e1a902cc3ab1aaa8e2af":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"31a0cbaf21b943f8badc939e94eac7eb":"d5bb2c4eaec47088230972ae34fcda9c":"":"":"580e728512c8e44fbb3fe2c498e05323":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9e8fca537746e7cbff97f1dcd40a3392":"43e9f2bf186b2af8cc022e7c7412d641":"":"":"4465a3f9d9751789bcef5c7c58cbc5":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"35b5854ca83792ad691dbda1a66790fb":"cff61cf9b32ea30cf7e3692aa6e74bed":"":"":"726793199df533dd9055b0ac7c939d":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"07259267c1c6a015437a5d8cfa92f9e6":"18b9cf2ad7ace6ec1c8366b72878cf20":"":"":"4340f6263f0ba2d82c2eb79cb0cc7e":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"fa1df8955aa3ef191900b06e7c1b7d46":"6928c138c98a4350c318fbdccd3f44ba":"":"":"7c89d9e77515d271b6ed54c9c4e3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c04200ce41ce77d772babb206315ec7d":"a885d58f0f38f9ff26d906fa1bfb12f4":"":"":"9ee0d025421f2bf18caf563953fb":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"650df049461be341c3099bd1613dcead":"8a4ff6327b49d297248ce2d5bd38afa8":"":"":"13f067ef0d7b448d56e70d282fed":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"ee61b5bf5060fcc637dc833926898508":"b2dcf21f9ffa4a883044d29f087f9b85":"":"":"9ab1d66666d4dea3cbb5982238":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"01cc56ca7e64db7fbef66236a5c49493":"8ea5b63004189792cc040ef18b37e550":"":"":"d685aeb54aa129a21bed17766e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"134dd72ac8e28ab46720c2f42284a303":"c6368e4c0ba0ec90fa7488af9997a4c7":"":"":"4ad9cdf19ff7d7fd7e273efced":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"180c04b2bde6901edcda66085f73ecd9":"9193b206beade4cb036f01a9db187cb8":"":"":"530f5e9ed0879ccef3a7b360":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"aaac85742a55ffa07e98106d6d6b1004":"630cd8ab849253c4da95ac80324ecc28":"":"":"37911820c810e3700c3a9321":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"ab663c4f8f2fdc7d5eabf6ef26169b4e":"86e6100669929e329a1d258cd3552dc9":"":"":"958d6141f7fb2b2dc7d851a6":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0dd756d49fd25380c4026ea03cafc2da":"6a6f7e39b0d730ea1670e13d16c12c28":"":"":"872ef05a28da5ea1":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"bd8a834b288bdc7578b6c6ab36f5d068":"aa77de0af5fa4dd1ed2ada5cb94813a0":"":"":"c5c094e83755f2b6":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"020d280dbd06939bbb5e6edc6f6d39c6":"09aea6f0e57598452719d6f63b6fe5a0":"":"":"05d6c56ba601e85b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"e47f41a27a2722df293c1431badc0f90":"227c036fca03171a890806b9fa0c250d":"":"":"86c22189":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9d3e112114b94e26e93d3855d4be26bd":"99b98525160c4bb2029da5553ff82b59":"":"":"33bee715":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"5b4b7688588125349fbb66004a30d5d4":"b4ae363edb529d8b927c051cf21a2d9d":"":"":"6a920617":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c4b6c5b8e21c32f36b0ae4ef3b75d5cd":"3d1036bf0000e6f1b77a799f2ef32dec":"1cf2b6cbe86a87b4b5bb3cc50024aeb27c48143658d47b41f2f20b87ed67bd6fc3b85a3a803f66d3576608f5d6ce6cad11e02fe12de5390722dccb8242e1dd140051bef51aa9716c860d45d45bca6effbb1a4797e6e7406a04db5d823766c0f011ebc28e9a8cd4446ec8a75ea8bdc1b2fdbb5cc364fa9877886e30404593df34":"":"a49725014c214ef7cc2d28b9b2b53da7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"63c3f81500746eaf383fe3975d84f849":"0799d4152fd73c1604b4610cf7171fe1":"cb8248e5f904cc9ccccf6f273fe621eee1b4d7ed98480f9e806a48b84e2d6a733772ecf8fb7fe91805715cddab2b462b89f6e6c7cf873f65031f13c357d5f57b00b7c391c39e78ad1ed94be236ca0ae316bce11bc33c5d701fdfc58abbe918b9c42f7b3d6e89d46f9784b388a6e6daf47730b9fa665d755a17e89932fa669c44":"":"c53d01e53ee4a6ea106ea4a66538265e":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b0c88b191ce6e8e4a3941f7960b7eae5":"e2a899961c332c815685c553351fa519":"308bf10570af48d632911f3641dea60d78046211c01a63bb8e4e5cbddfff8841d2f2b11e18ccb2170805ef4cacf7804d64e0feef40731a1704907f33b77788c18ccf35b224ec3046a67664ac9a3481d2385b6ddeec6da4f32423f94ea9663a5c51cc388cef33744a8159b4fb654dfdb5092718bf926c824be31197f07f276b5f":"":"92604d37407aff33f8b677326cbb94fc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c818dfa0885a09f65ef78712f5ce6609":"ca279284723530fdd68ae880e0ce775c":"2a562abdbb483ca5f355f9cc1c5e607bdd624a078a76b717ce0f8f35d0d4c54b629f372f15d20c848d01420c6af5a7040d42063704a17b46259dcc53723caf2d4bf556143ff9117c752fa4f22c9c155c99b7bf5949d089cdafd562165b9cbf53ff51cec21f49128c8a599718bbcdb4a5d705d20509c44c8945e2a133164b9942":"":"20e9a3a98d71d460743e1efaab13c6":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"2354c6b6afaa883e7ce91faca4981f8b":"604f2730c756c8c39a0527093bc2feb5":"959b4b0b9ce2e9120b327d2d090117553999ee10bdd384a546fc6de0957ef4b447daf07b3d07ef7dbc811f36b0fc09a175d26e4d1263cb5e21eda5ecab85d763807bb20b3cb6ac3f31d548dff00aae058d434ebcf6f7e3a37f11324134f453dd0ea7f51094863486426ff1706129a5a93c53d8c5ccb56cafa5881981fe233cb0":"":"3588c9aa769897dfa328549fbbd10a":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"b0af48e6aebbb6ff5b7c92bd140b085f":"d210d6502a5221ac1274a9c7f5a81725":"d725311ca10eb4b4aa24e6dd19c5e72dc34fc1ff53feb25d924a9b7d8d72205790ca4b1275bd93ad60c27a5587a45659bca07c111e9748fb683a03465153ffd735b7d134b479674ab8596f0596496fe2090f623fd1e4dd730c5283d8b172db8a25df42d9b34f388ed32676a56b8ba03347e47379702654508ccd0a21ff03516e":"":"e6222f068a1e18f09ba6c771eabd86":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"a05fe482fe164b2eca7f6c3e377b39d8":"145327bcc10335fccb93afbf4b17e6e7":"ea6f2e93b5e1bf127d40440b8d6397405246b1b48eebe16964f18928f6b4b8ee2c36322d7126905c1a5b816996e340404b586edc2d77afac11a6c1266511f9eff1a320b035442d4078f8e42ca63cf26d12a971a7adf4645d1bd9a8e4d0a20722f7c2d529beaecc4033f7738075e1cdc6d8a929da5582540678935b82e7b7ba68":"":"3900bde9fa9ae2cbeee54d04f224":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"dacbadf819eb16a63f6f091d13ed04d4":"b9ebce724b0dcb0989ac2d8e7ff8aaec":"7dc6e2189d8a96f3507e352e05e8fd1b4bab988c2f1c706115887119f63b78084f015d85f6b460901a02880103e4d36e8f6527dfd74e4a3acd3f578c0cc726b528875f701ff8b66e5c11b4689c346a098e123bebfa253362cb86829be73c2b85a6881fa976aa730fabb76775027feec7fd920a6c8965a4a509ea812d7c413a95":"":"8988fca83c8cfb1f8feefac46f04":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"969244c7444f3f3bf193b28f8e8e96dc":"49b2845a1a1c87fa66eb8f78c05ac029":"1414a07e86d8b61d1eff43e1ff4ab42c1c95e159058b74c731e3007d21a5eb78bc17b7e920363a3974aeb8608813dc9a4655199b6703ed337450702d8ab16a89776831b2c7c811fec3acc23598a0aa01680a7bf42a4e258145beb08c9f0eacf2bb5f56d26bea3ad11e1a956a630b80f3d22bf35592b4704f7c464b08b06dd7f8":"":"a291c7527385f037f62e60fd8a96":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"525abe490c8434802b69439c590a5290":"141f79f0501316e66451c41c7af0f0cd":"be440db66d3f81be467605a7b2805ec1df5e71e1b1b04bd7a4d05e912f5aa1912ba08de72df18613b32b7edf78963c48c80c25178b3b19262b85bb829f5377e0b368b500d6d3b442f54172d4ca4500eb5b4d478b602e5dc11d090539455087ce1e5b9ea74355fc06e9b60cbf25a9804d3f8c623fff130abc48bc2d8d116b8366":"":"038c7e95f790e6ca5ce73f9551":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"51644e025659de983f5c8156516b812e":"614837c743d0974e9cca497f13038c02":"60c5d062ade2c5c2dec68b734dd3e58ec474a586d1c4797fdfa2337800510134cb27a10d501927632af3c1febc275010c0d2e5abee630cd2bc792963fa82a42286ab047b934a261927311b40f5f953bfd661427921147cac7613d95ee86e16326ef67c1ed097e8fb87a78753d785de34e03a182232786079cb6be00182e41c9e":"":"77e3deba2c7f9386f85bc4a801":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"08566ca7310302dfb84d76ea0525ba20":"5f20ec9c35c08aa7f1c0e8a20fdbd2b3":"5d84e32768b8d1e7e3c426b3118d48e35491bf1bb454b359c8429220216efd8826be94fe1919409a128ccd8125a594f1691c9421fc3dbbb3f757bf2355bb0d074ceec165eb70e26eb53fa2cb5d84dfae06babb557805ef7b8c61c1bc76137571bcc5e84bf5987dc49013831d78bd497ccc49cde7dca2cb75e7ab967da8c6ce81":"":"873f037fc05252a44dc76f8155":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"dfb54db96383fa911bf5b4fa1218ef9a":"7e849e24983f63f1194b396bbd2d55e0":"d3fb689c5818810dd104693f3306a10b27178444af26798a194f7c2ab31ff3a172904b951942b1a26c8ae5b5b1ee2d86dc78bb72a335fde350766d7d9aef6f549871dd46b04b2cc319fcdd47be437d431ad18cab82d51ca9fa57f4108a8de622a92f87d28c0349fab27757fd773413f559a8c00d30e258c1f6cd96f9759bd957":"":"dada7fc7fed58db462854ef6":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"389cf888474e9403e5f4d0e22ffec439":"ef57794cf6fac9f9cea3e8499b53b1d6":"7ea7f7f4763ad208eb6199285b6b2819756c4e3caf2d0ac6f5076ae6785fecdcc4b138a51860ff8b87aaac3a18c2df778a4818308d458dba28f5017513e1454f60be20dae68736ea6d48b1f9deadb517df63140acbd329fbfbc9b82f3ca1862c9e998f0faff1d3ae60b005bf66829f5cf0c5fa03efbdd92d39351e3954be0257":"":"92726d90ad26130e65f2beb4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"e55abb2ca36c822bf2a030ac703cb8b4":"d86f7177e8ec90f9e9edf10175d5012d":"777a9d93091de56324c10712243f5541722e0b27e1f303fef6faa387a8666161ab354dbea6c43c82a24e8623bfec39aab13164add6be0dfd55d23204c0975b4ba6fbda51363befde482a9ccc1eb9f151e6ad59c77a1e24dd268389e4686f198a936dd603044a3fb653d63cff80597f5a2913c8a2ec1b7d9dce5728dd56c78c2c":"":"65025250343ed8c09b3fceed":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"586114f3b1dc087e1b2739b28c592dfe":"ae5a38ddd455505284434a4bcfe81ef2":"531ff8c285e532d961f49bd210a5523cd9b19a697a3a3fb26db940a496f253862405b1e825daeda7eb0445c98022b8342c8f8ea20301618483f8ab04b6ebccd7e7fc57878fb544a5bf78fa896f50ac30126ff8afca8a86388666b64c643d16812729bfd7e5c03ba52f7e6ea4c6a685404f7bcbd956964417fa0ea9a6d7290c41":"":"467a815610faeb82":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"cbfe806bddb7f06b3826b097550c68f5":"04c1b6c9fd2ab76fc2adfe15d3421bbb":"cfa86d02599652cb4ffff027b9c6ef2336dc9fe946f64fa5ce83f624e144563d4738381bc5371c3cb55cf41ceda07e62cb635ff37246bfa428785229c6e869d5df69d7949a8577889a29e3d05b788ddd43608d9c14e3f1b51ce2085b9a976fe843e3396a74922babe6797d5f01c37ead623b5b582505bcd29edf8a6ea36b0fc7":"":"0697ac372a9acafd":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"96ce3a095a91effdd91d616f1f02ddcd":"579d6633ec6687afa24ef874899b58e0":"3ff3c0038148ed391b6a10aad623a82fe9209c5ba74482f11506d597b5fc7af977235d8ee9e28cf2160346ddd0e33a5bd1fb67b87dad7167fdd4b2b4000d8460ef7b3e1b59b9d61d06cfbe7945379ed6b650de86f396a38cc70d47b8a349f067d00144c903c276b323be6a929a7d7dd8ae7d254d640cdc1176f98e01a1d8c82f":"":"55a0f61032e048f3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"24ece168c2971cf2b404ea206dc9e29d":"e9db62a42491664a6c46cbb0b2bafc92":"3579f6c0cb3d2a5d0c4548855c7c052d36b6a8dfc60f4ca1b4bbe28ed87306119e71982dd84c4205ceba918d675472753df1b5192d3693dbf6a061c6056e312135ffc5ff426895a7e30f7f675d2cb21de06eea5e3761b94deef7537b985d324864c9ff6ab6e230a1006720f98c958912b604a6d03e3979887c07be3ceaafc78f":"":"d2b15a23":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d3c3cf993f6740a019e61ce13c29955c":"af900ac348082ff32d2e0ab886079516":"2ddd0e8c99661f0757f04aa79a1ffa24ad48fbe5da68b9e71f7a0cf1b4f2ca9b757695900b7549d48847ae49950dc9b270b1569d29dcbef412216737bd83509c17ae41c34ccda318939cb37a0a380762993a7568c0b07794e78746173dd5c0d921cd50de4b548c1589e142c3dadbad42161aaeda2310f3c6d5c722d9ac69e96d":"":"f2d3a6ff":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,0,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"5f1e5bd45ee8bb207ebbd730510ff218":"8846424a194f5de858556e6be5b65d7f":"e968947fc0e49136e730b97f6b16e393d5e4fdf3e4803a23af79211ef59f29167c60ead72fd489da32d2ffa43b2bca2074f9d1b4f5396ca65004b0806cb7c6dfa751fb6afbee3e443f3c9b0e3df6722e0d1320441400c5ca508afb657c2b7f1669b0de21761dccab9a40fc513768bd1f552692626ce35078a2e0e12f5d930647":"":"0d6c15da":"":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3997050377cfbb802cc438d973661688":"c95c84c263bdfd5f1de66e7e616cf3fb":"":"b02f0dd373e42c65e8e1db2dd76a432e0b2bf6e630c8aaf0d48af51b3709b175de9a19b3245ae75818274c771c06fae225c4f8b002236712336e805ab006449eb29cc5e29abd82b06c32d4c36ee99acb9a6d7d9eae6ec6ec263c002a22c4a898c74f6abd6d92112367ca7ffe82787c5b39e7012ba22825d3612af3d41e8008a8":"b35b3cf6ed59ccb69dbc9b47a3f284ae":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c58583f6479d9bc9f1bffddefee66e59":"cee448b48d3506ff3ecc227a87987846":"":"564a9f700cbc1f895e4f4fa6426f73b4956896a15e6127e7560d74e3fd0b980d2ee45b7a6a3884fa613d91d13921e3f90967d7132bdafcd146dd8ff7147ed1964c2bdb3e12f4133d3dbbc3bf030ff37b1d2147c493ce885068d9ba5bebae24903aaac004aa0ab73fe789e4150e75ddc2bde2700db02e6398d53e88ac652964ac":"361fc2896d7ee986ecef7cbe665bc60c":"":"9cce7db3fc087d8cb384f6b1a81f03b3fafa2e3281e9f0fcf08a8283929f32439bb0d302516f0ab65b79181fc223a42345bad6e46ff8bcb55add90207f74481227f71a6230a3e13739ef2d015f5003638234b01e58537b7cfab5a8edac19721f41d46948987d1bb1b1d9485a672647bb3b5cb246a1d753a0d107bff036ac7d95":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0bc2bde877e881aea512068105694968":"05f0c34ab2e8e8026b0a23719344b71f":"":"1a6369a45e8ef2846c42d54f92d0d140a94f9633432782dcbf094f1444a1d006acd07ef6076cd0faee226f9ff14adc1fb23e3c63ed818c9a743efbe16624981663e5a64f03f411dcd326e0c259bcadca3b3dd7660ed985c1b77f13a3b232a5934f8b54e46f8368c6e6eb75f933196fa973e7413e4b1442b9dee5e265b44255ed":"46bab9fc2dbe87b8f6ca0ed4d73e5368":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"e14f45ba5d1eb52e0412240da5d7b5f9":"d7f8ef12f66f8b7c60aea02ef6ff688f":"":"9a85fda19ce923f093a0c25b0c52f5d9534828af7c7687d22307004ae2d10c4592242c0f2704070307ab55b137780d1e2013a19396ab43ff6a295b63fdcf323456d149758f9a2bb37f1418d62ea6368b24d5067b9c63d2968e06d6586c7e3275faffa005f7c7bfef51303e4c2b2ed4564acd17d50efac9f5e3e7f16ce589c39b":"beede05e4928c808bc660f3de95634":"":"4ad5b9ace0c0c7c07df2900faf37a902899471e7aa4a0a1ad5387f8f56d73f78f619be79a4e253f95b15d52895a05bae9ecffa916d35efacd8baf1c704d2aa4a38c234efc4dcfb191ec0fa0b522328fa5b5dff55e8c443fee660ebe3d8ad85de157a889aefc823720030a4cd6ba94a6309dd61806f0abb27772432018bc61701":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"9a64579f3601b0022d357b601cd876ab":"515efc6d036f95db7df56b1bbec0aff2":"":"88be1f4bc8c81b8a9d7abc073cb2751e209ab6b912c15dc094002f95a57a660b9f08b1b34f5947223205b579e704d70a9ecb54520ce3491e52965be643f729516f5cb018beeedc68a7d66c0d40a3f392ec7729c566ce1e9f964c4c0bd61b291ccb96e3d1fac18a401a302f3775697c71edb8ff5a8275a815eba9dd3b912e3759":"13ea92ba35fced366d1e47c97ca5c9":"":"7fc8565760c168d640f24896c69758355b17310dbc359f38b73fc7b57fe3f4b6ecad3f298be931c96a639df3c5744f7e932b32d222f5534efb8eb5d5b98d218dce3efef5c8c7ce65738bf63412d0a8ed209071218a6fa2f7be79b38d0b2f5b571ec73f1a91721bd409b1722b313683e97d53df19ded95fd471124fa5f294a4bb":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1bda4acfd10ab635f357935bb0ab7020":"48b77c587616ffaa449533a91230b449":"":"c9ac8d4ef7d83848fdc03664957c28b9b76710797d5db1c21e713e85eb0898892223e52be1644fc7362c95026ebb9c9ca74d7d3739eff10cab1eda00c36628dae0b98d119a14635800e37cd340faa6fbba9c3d41d52722cc3969612b1a8c5ca9a68773f5ee654506cb88ea65fb1eddf5ab6312d0170dc03324e483342448b854":"8325e4394c91719691145e68e56439":"":"1287ad3719508a9be70c19e3b134a2eaa4415d736c55922e9abcfd7f621ea07ffb9b78d8a9668c74bbd548b5e6519ea12609d2d6197c8bd3da9c13c46628f218e7ff81884ff7eb34664ab00f86e09cd623bec248d8898ef054fce8f718a0e0978e8b5d037709c524114ec37809ac3fd1604e223e08f594e7aa12097f7dc1850b":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d21cf24bc5bd176b4b0fd4c8477bb70d":"208cb9dced20b18edddb91596e902124":"":"2e7108fd25c88b799263791940594ec80b26ccd53455c837b2e6cf4e27fcf9707af3f0fe311355e1b03ac3b5ee0af09fb6fb9f0311f8545d40a658119e6a87ba8ba72cc5fdb1386bc455c8fec51a7c0fec957bed4d6441180741197962d51b17c393b57553e53602f2a343a0871ea2dc4b1506663b2768ce271b89c4ed99eec6":"7edfb9daf8ca2babcc02537463e9":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3d02e2b02170986944487cba8448f998":"6336077bb83eff1c9ea715de99b372cd":"":"bc1d7553f4a28754cf59ed6f7a901901f04ce62a449db2b45ad60329d0341bb9ba421c783c28a9200b41da8ab6328d826293134a7d0c9a5775dd2735e7767efda4ad183566e0847d6d978abd1a8ab13b16b8323acef05ced3b571631e1e24ad44d65e6ffa64e03c9970e94bacb9f721aba06cda6a08806a3be63dddd8029301d":"0466bb2957281f64b59eafed3509":"":"5f395958f2f7acafb1bca6d3a6ec48b717f2ceeac1b77e1b0edc09a09e4a299d2ec722cc7daf34c8f4121a93c80b2adb20a2fc95afd09320f91085c93c8b082dd703814c9777501d23bf9b328f07f04652592dc5a3f4321626a695b8db8e65c8617c809eb2978d8c9a882ffa82a4bb707c1a8f9a965bdacce5c041bafc94a1c6":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"cd1ad1de0521d41645d13c97a18f4a20":"413873a0b063ad039da5513896233286":"":"588c2617517329f3e1e7ba6206a183dc9232e6a4fa8c8b89532d46235af1e542acaa7eae4d034f139b00449076ba2ef9a692cae422998878dabdac60993dce9880d280bec1419803ba937366e5285c4a7f31a5f232f8d3ef73efe7267b3ef82a02f97d320ebc9db6219fbdf1c7f611e8e5164e9ecf25b32f9c07dfa12aa705af":"d4dbe9cae116553b0cbe1984d176":"":"bd519b7e6921e6026784cd7b836c89bc1fa98e4013b41d2bf091ef0d602e44a70df89816c068d37f0c6377af46c8bfa73ec0d5bc0b61966f23e55a15a83cea49f37cc02213b4996f9353ee2b73a798b626e524b9c15937ecf98a4eded83fb62e6deea1de31e0a7f1d210f6d964bc3e69b269da834720fd33487874489b8932a8":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1cb120e9cd718b5119b4a58af0644eff":"5a7087989bfe2f6eddcb56fde4d72529":"":"4c8e8fb8c87ff6b994ae71bfbf0fa4529f03bad86edf9d27cf899ea93a32972640697e00546136c1dbc7e63662200951b6479c58ae26b1bd8c3b4f507c0d945d615183196868ec4f4865d1d00bb919a00184e9663f6cb9a7a0ddfc73ee2901f7a56ef2074d554f48cef254be558fca35651be405f91c39e0367762b4715d05fa":"95d8bd12af8a5ab677309df0fb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"315b206778c28ed0bfdd6e66088a5c39":"7ec6f47ec56dda5b52bbdaa6ad2eb6da":"":"6186f57a85b65f54efbf9974a193012b1396fc0ca887227e1865f1c915ac2af9bbd55969f7de57ce9fb87604cf11c7bc822b542f745be8a101877a810ed72bf4544d0acb91f0f9d3c30b6a18c48b82557433d0db930e03bcecc6fb53530bfd99ee89f9e154aa1a3e2a2c2a7a9e08c9aed1deab7fae8ea5a31158b50bca2f5e79":"930750c53effc7b84aa10b2276":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"e886de1c907c97e7db8ec80a79df90f8":"612cacbf33266353d0a29a24532f3c0c":"":"c64cc9596d7c738746ab800f688eec190a4c802c55b2528931d74d294496892b81f53d3073d48f9bef1d58ce3be26547474cdda2868abeab71aff566fff613b4e5bfed1be1d2fff35d8ffa33302d3da1c82e421aa3a23848f31e26d90c0cb2ac2ae136ada73404ed3e0e1d3e7cb355a11cd2a4f9393b4d5eac988104fe1cf959":"76634e58d8f3a48f15875ac1d6":"":"7001d7395efb432e2804cc65c0ba5d4719ce84177ce46292c4fd62a5596bd2bab1d5c44217ac43235bd94489c43d01618a11f047d2e247062c3b88d6e59adaa1f46514fb33b7843483920bee60a41f3cb312322c305d25251b4704fb66da58637c95a9d539731434f60ef44fe3cd6d37e2c8e7089880a563938dcc98b43f08fd":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3b936e09a6477f3bd52030a29df5001d":"f93105be83fa5e315d73acfdcf578de7":"":"65cf11d1afad19b34f282f98f140315992392f5d4eed4265085b29e1e5553f4783fec681ba2d368486ba6a54c00e71c82c08ca3d097904f021ce4b0acba2d2a7005e28e5f8750ea3d18a4f78363c37583e85104234498942c639a0564b0d80055c21cb7735dd44348298291ab602f345b1d74d624750c0177fbd5cca6f99223b":"91b55bb5e3f3f1abcf335db5":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"dc9e2095de7b1b48481b56bf6a3604cd":"9e5268db19a1b51c0496a160ca76f8f7":"":"ed61ff94a3f84c72147faefa615e2df00324fb01790cf9764c72c1b8ba47f17866a1fd64ee5c2f53865d1bc24ec93165a6774466a59603199ee476c1f2da7d932c8943d126aa172d532d8475a484d42bb45fcf92766feafd7f3e2e3d42d22f6f84a90e7e688232f799d80cd2cc152ddd21ecfb137701ecafcb2b65abe2e4e6f4":"0fa9588536fca71bb44260f7":"":"ef562e301fcf923ff1a1acd3aff9b1c963058228655fe8a66cab01396547dbd2aa1f79a22eefc62944b86d1a31ebe2d17130175b8c003d6755b0eb8b79895b0f7f8046c5ae888a067ba17bc8e11a8f6e5023a9cd42f6461966c28e505b371c0f72a2606bff430a58016e99713d25ce11f10391fb4a922e27989422c6a64f9107":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3f93901fd7cc88db3ba76a158d658c7b":"7e98de461e6d96c0ce6c8d8b3854cf49":"":"16402fded879fcbfe9405902aa63ca2a520889e0045f687455469b7bb867829a01208b8dc5dcc852d8ee478993c30e6d9ec6408773b367821310a0ae171d38d71e06981ff6e845acffbc794142b87c748e12484c0636419d79be3d798cde59e9dae0a4a4a4346596427e6b235ad52e6a1b02d6f4df0c7de35fc390cae36aef14":"86c9a70e4bab304ae46e6542":"":"1b4c09569b42c469b3ab6b39312c214502ec09f5fe2fed1d1933d13cdc6a7b77a5d135123fa69d9207d6844b0357b26b7a2f53b33a5cd218dacda87b78b09cf259e48e74076812c432e2d0833fb269721f9347c96e158500f9b2283342a35c8de0a022edce711118d72d8fbaa354bfb0ffee465844ef2d37e24ec2cea8556648":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"42289f3d3cd5838e250ef54b128e60d1":"e557389a216ad724aafdab0180e1892e":"":"3edae1d554b67d2036f5fdbdb2945cc112f100adc1b47009c2e23f6a2eaee78d1f39ce8a98f715853cc29fc793fb6981ec3036834188dea7d668185ccc8642071b15de1332f6a59c8a9b4399733eb4b3d8f224af57ba6b4a8e64494bb6630b9d28e7ec3349064350febcef6a3ad1d6cca1b1da74f3d2921c2b28a2dd399c3416":"6f78bc809f31393e":"":"25c476659cc7b343a69088baf868a811ba37daca85c4093105bf98235a90aeca015ab034da008af0982f9b2e80df804c186a9b2e97f74cffd70ebb7771d874fcaf12f6d01c44a8b0ec2898cf4493cf09a16a88a65cd77909bbf0430c9603869bd5f20d56cb51d8a3f0a032fc30d925c96599d296b1ec41c2912bda426adea4fb":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3d772eabb7f19475665ca2a7e693bcfc":"0747cbb486a013453fde1ca6abb11dbe":"":"e9fc4d86f5b857fa6057b73f967351e06f87288c40a95b9e378c84f1a4c0f4b80ed0a0b44ff90a8973be4199c0c4006fc4f5ea19d5f1fe8b9c8c01f4675ab85afab0592bb3daba36bb4fc7ed9eea867e9d8cc50c19fb62a5a57956e9efacebac5e9f849649d35a329bd68de97bb6e5ff7bef477a86765c2c9ec15e24cbba5c6e":"8e761ffaea68f967":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"fb7fd753ee6eaaf283a42a121dab4e43":"8164929fb54485377ecccc9b9621af5e":"":"fd5cecb2c0287cb8229e97d9cc4b9885f428710528884ce663ed1728cd44cb2df93e56ef17ace0678d1e341366c652f4ba7ee45797d39be4a05c1151e5cde499e13e5d45549b5d95a174d03616d06ef96e9d7b2b6bb0d79a726b253dd64223a5f09611671b234ccf9b383952f8888814b2c167e774cfbf54e9c6b99a753f4fa9":"40a2fa7f4370afb2":"":"6208d068be60f7b04b80fc611062e6caaef9a5cf59f850d174b7446c78c039ea9aefe4885e19c2b33911d32ce1fe3c48ddffa4b03e450fd35da03f40c4e7c5bb3b1c3f3049dbfad3ac81ca1b79cafbaa172f4900e3829d38edea3b64000f93924a801259bc4b2523445c64bc23bfee190b952468507fa4baf6dc2bec66fcf0d8":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"30d757fd73a0fd5fa49159ad0653296d":"b35b8df0aebd0608517f2830e0e70cd0":"":"17d485b258f80d8924e35291118cfdcffd86c47851b65f0b06a7c1f5202de82f3f460fc61b1aa38fdba7c8ded375c92cf005afe63e59d362c0960044af39241b81ca24e85c5faa43903229355b7313fee21b992ef3931d9d2407b32b3cf72dd7acbc7948395eb513cb2fd428b215ba2bd1e29c62f45d0ce231884f62480c6d8f":"954c0e99":"":"022618d2598f79104e918a09c937a82b3db59243b5e13de731fcb912e4366105797ce47f6dce7f08073f2f41e5c15fd6b1ec4b5861469a4880c3b0bd769b78c696ff29c28c9349d5a46a6e5ad9211bd4b708a8c0b6928ebbb0dac1c0a5f5ce6b05de6a50073128566a23f09cc1b826aa5803f9f750aa4debf59f24ae9f98c9b5":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d9d3cfd5900de5d5e2109e7721cfeef6":"b4b9dfb013de6f7c44779e5a9daaf5e5":"":"e4243cc37cc32dfcedf9bb76890e706af6ab1e06b290b8ccfe2a55e5dabe68cb390f7636dc9676b431d4dc8ad3f6d989e510194294ab7ab0556789046743cf374d8b6462f5f95a17f3f44337d6c69ee47b0e1ad7e5ce6f9b224c54099a104e70d2d06af869b921ea47febe08f90c591ed49c1f12003afceabd2c7bba458a0111":"2b81e8ce":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"68dc138f19354d73eaa1cf0e79231d74":"e7147749560f491420a2d893c075bb76":"":"ce345567a76bc30d8b4fd2239788221cfa75e1a310aeeeb8c355f8eea57d80967f3047fbd4e6173fac5caeb22151fa607065953c4c35e0537b9e3788cc80de9eedf2a340698bde99a6a1bdc81265319da3e52f7a53883b7f21749237fcfd3cd4f149bb2be7a4ddd9ef0544cfe0789040d1dc951b6447304942f03ab0beae8866":"70a83f6f":"":"64b021612c78b3e192e8349d48b77d02927e7fd70c7160d37cb8ef472f6bcd9df9d93431627c1c80875e208724ae05f94fdd2e005e9707b78a1bf3bbca7beec4b03ddd4d9de6235ffd6d84a8b9a1842e104c1e22df4566f6c4d3d4e3d96a56b9b8a5cdce9da70aa236109b289266036f285564060b204dfd7ac915eea0dd0b1e":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"7362c86344e0aefb0cf0d04768f9c05d":"7e8d12c2f0dcf4f792247134234ac94b":"86d2b5debc3b10495da353d6821f6cad380776d805bd8660b08dcdb1acd87026e4f344b547a4db47b5f44cded314bec4ce9a417ce40a2acd5a21460c42dfcd27483abf3f38dd8cc5fa523b6768a26513df5896435baa97781cff1966e2e3d6ec6d0a9cdc013de5a50e4d46831667055bad04f784024a82f9cd087ae4cd37dd64":"8baffc7836004deb87c0111d47c182512bf861874021ddfcd559acf2c4a51cf5bc4bfdee2d039b9c005b6af95a2607643dcf4d9cd9d62412f709334556db22fc91d7b40438505d6806ccb2f2c21ae731bc1f1c825d28a71ab27095a39985e96ccd07cfb2e75243ccafd474494a2338c324ef533ca5f17d2ac1b1883140342ced":"9594da428fd8c1b13ecb23afa2c1af2e":"":"e2c424f42aedd56f0e17a39d43ad19c8e2731efc7a25f077aef51d55280b10e667e338bd981b82a975ef62bf53bc52496b6995d33c90c7ae14767c126826e3f32bd23f444ddcfd7a0dd323b0ae2c22defad04ce63892b45c176bd0b86f5fa057a3dc371359744cb80bbfb4a195755136a0ea90b4044a45bc1b069f3cb3695c04":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"58748bb204ccb7bdafdbf739b6c19a3e":"93ac298c73c88e127a4d9dd81bf24e3d":"8f168fc4d1da13bdbefae3f9d6ac1d8cb19fcec1f43f727951af0a466d8826649a46c3cb50c045ea83849fce0eedbc042a1a435e6d9d59017997a2d5459b940078b8a7f3b6b0ff279ff8c560248296a17240ff1b0643d1f436b6e3f2079363fc49fb45f410debbdde083b92057916368cb807d603cb82e2c0dc01658bff7f1ab":"b72902c9ebb72a86be539b19a52fd9af00aa4de081d90c0d8ad580ebb5900177a036f40a1e9b43e3a07d715466526d6d7544e5a5551805b62463f956cd519fc99182c2d54bd62fc7ffc6e5ebf1503859b706da11a1b6c707a67a70789dbfc10ef726bd360f9f2347326e068e757c8443ddc9308a171e682359ae1bfe87194ab5":"efba4589d4a03555766bbc3b421dd60f":"":"d5c97a659f016904ff76286f810e8e92da6f8db2c63d8a42e617760780637e32105503440cdf04d1fe67813312f1479fda8d746c8b0b080591eba83850382f600e9d8680516c6579669f0b3d0a30323510f9de1c92512790b8347751994d022156cae64da0808a649d163a0e99e869fdf224b7c1a6a8fbc613d5917eca8ee08c":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"6cc13cbd62428bb8658dd3954fe9181f":"86740da7ce4efbed70af55e1d6c10fdf":"be561ac15e3cfda624b422af97c26719c140bb50e4a993d636efe9c7f1963fb9047a0762169b571a698ff310bc417e34d4039b7562a95af710ccc1b197964a376c986fd2ed8ac4b0c7b4e843c37a41366f2f483c821a1823f317416c7e4f32eed9b9dc2ae1a2f3ed32c4b3187358a2329aa42191b7c2fe87b6e27ff20303cb29":"2c9ec982d1cfb644ddbc53c0759b10493206d5186affc6882fbb2ba3aa430f9bae1209db2d78dcc125f3c909a54dd84fdff96c71e678216a58390ef4308bdd90f94f7109c4edefa76a74fda64b201b7a435bbabc27298f3eaa4c2d1393bd584f811fff52638f6ad2f6d86a8c3c9c030d9d4264c8c079592a36178d25991cff09":"76b990a1e010e5f088f6ae90bec40b32":"":"0b9a5f5d2e6852b75b9cf26c1b310b2200e56dafcf3c941478862cdf9737ac8e2cb9b38d41bd4a1872ea1b4cfd51a1a0b9b743aca439eefa10de8459a0a7a221c5429b3dee393f17031ca6c399df8e05657c3db55be9c9dd29e690042a4ed8db732efce7c58d6b20a2a0f7c79e42e5ada43b87ab00f481c20cac1b35514dcdc9":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"286d3f5080cfe88538571188fbeb2dd5":"da6140bd4dc6456ddab19069e86efb35":"5d350a04562a605e9082ebd8faec6c27e561425849e7f0f05f5049859c2c1bd2c4682ebf9773fab6177d2601fd5a086cefc3adef5a2f8f6b5dc9e649e98dd0a3d1a2524419f01305bd0fcfff52d84a20d1b14dea2138dcc54eea2bf263c6fe27c3e7255f1f359d0d00fb1b350d7a04965af30027632520197e85eb41de6bb286":"55135928997711360622eda1820c815aa22115204b1e9bb567e231ac6ea2594b4d652627b6816bdc6c40a4411fd6b12fab9a1f169d81c476dbf77151bff13f98ca0d1dc0a68ea681652be089fadbc66c604284eebfc8ce4cf10f4ca6bda0e0f6634023db6e3f0f1de626c3249a28a642ecc9ec5ff401e941fa8a3c691566c0ae":"d90d34094d740214dd3de685010ce3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"726ae113a096769b657f973ea6d2d5dd":"2f9900226c97585d200dd20a279c154a":"761663c3fcbf1db12bc25546b2425b8229b3153e75f79fa63958819caee3febff74603d99264b5a82ef5980439bef89301ae3206a1d01a3bbd7a6c99d27d1e934cc725daeb483f826c2c9d788fd1f67a627864cf8b5f94df777bb59ef90cb6781a2000e6f0baa4f1ea4754b47bb7cbd2699f83634e4d8ab16b325b2c49f13499":"90636012ba8c51d16f8f6df3d3bcabc3f09aeffbe2a762f62e677913188045b861b2e7d9a7bd93dcee46e9e4832e497a6f79db52b4e45c8dab20fa568ff9c4ace55be3216f514a3284768a25d86b1c7da5377622f3e90ed4c7bd4571715af4d0a2ab5181d0475f699202e4406bb9cfdbd4fa7f22d0dd744d36b3223134658496":"d095bfb8990d4fd64752ee24f3de1e":"":"9f7759c6d24fd9aa0df02a7c0cc5f17e61622c63195f85dfafa5d820d3ad218c7288ec017821100f1fade10f9bb447a4a01e3698b045548c7619a08f2304e2818a9bf55e70b40f8b994b7dcf0cb243848cf3f6fdfec3ebbb147d01df84a3ec62cd8fa5d78ad9f2f28cd288a35eb49a5172339e9872e8e7e3350b0d69f59acd07":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"73a9eeda721c6f292e6b399e2647f8a6":"c1e80eb723960049cc4448b66433f1cf":"fb2a0b1f817404e74aee0a6ec8f2cd86f0c9114ed367b2690c44ad80f9d3377d7fd5066beaf1daa739d27ed3fba98379188016b1fe901204a174f9ffca370c181aece5e5d40939a0d460913b40b895e78a3b80ddf3d613c05e4e27bfd161ea2ef42271a2679f2cdca5b728ffb2319781c946a4f3ecacf486b754b30bb04ea60b":"215fc7e52abe4c751ca2f7f9a5cbde9ab8b44b8d4054bb62dcea6df5b936145ca6ec83a2b78b070638fd6e5ea3bad5d0caf1b8f755f391c3e0962a92337e3eba575585eb83680075fc818860388c587746af78d5fc75ccd0a63f1612abb1ba0f04a2228ca27fbddba4878f9b2683683f516b6d6fe4f6622e603bd3c5ad45e332":"e08161262234d0d5be22f09e5646bf":"":"b5e286183f16dd9403bec6786bd4836cc6add47947ef111fb1d5503c18c333c8fe60959502f58390d0e0f69fbe5fee13c72aed65fe6e32f6ea45877fe44f8a556aa5157b112e572197c1c350b7943c6cf2e9146018599524d27599f09c86027f2c5927e4a20c63833870e8369baa36ecc07cdb3ced520b5ae46869ff357ca089":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"90dbda7397d8fc46215a1218a6ffd0d8":"7be477d14df5dc15877ae537b62e1a56":"7358ddf1310a58871a2f76705f1cf64223c015c4d1574104d2e38783bb866205042f05c86e76c47a2516ce284911f1d2cbee079982dd77167e328b8324eec47c9244cc5668cf908c679bb586d4dd32c6c99ed99a6b571cf18b00689463e7a88cea6ea32d288301a10a9139ed6092ffe298e25b8cfb6b4be8217f16076dcd0a90":"4f82a1eca6c9184240f50f7e0cfec07ec772cad5276d93043c462d8364addd9a652eed385ccc6b0faa6ca679ab3a4c3d0be6a759425fd38316ee6a1b1b0c52c1bb3b57a9bd7c8a3be95c82f37800c2e3b42dde031851937398811f8f8dc2a15bfd2d6be99a572d56f536e62bc5b041d3944da666081cd755ec347f464214bf33":"776d871944159c51b2f5ec1980a6":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"0c85174d428fc1c7c89ca5d1b8aaba25":"b3c9dfa4c55388a128fbf62aa5927361":"3f552d45b61cf05ae2aa92668e89f3338a15ec7c5b7113b6571cfcd9e4c4a962043ccd9323f828dd645e8a91b007ce2112b7f978ad22ee9821698a4f2559d987ae4421452ad2e8d180953297156426d4540aff2104d8637b56b034a3a1823cf962bffbc465fe6148097975a8821ca7487e6e6c7ff4ee4de899fe67345676bb1c":"3735cbfb8000260021d1938d2a18e7737f378ecddb11a46ce387bf04e20bbfcc902457637fd152ab87017185601f32a7f906057123b6c2da31a1069c93e3cacc59a359aebd3e31b302e1a1f7d5d8f1b2917a8fe79181fa633b925ce03a1198dac48f4c959076b55bc6b3d50188af2c6aa33d83698aa8db22649f39825ba54775":"1e7dec83830183d56f443a16471d":"":"3d98cabca4afb7c1f6b8eeed521f4666ae252ac12d17ebf4a710b9a22d839b69458387ba4bbec2f6400e0cff80fbe4682c24efcd3b8c594d9b515ca7842c9d5988c42b59b6526c29a99256451e2927f5b956ef262f97c733dfa8bff73644473b9a8562bdfca748f4733ddce94a60024dfbfcde62fb3cbd7c3d955012d5338b91":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"d89f06eb07744d43d44734faf9751d07":"185f8d033713ee629e93561cf8d5acb8":"743bcb671d0aa1c547b5448d64d7c6b290777625ba28f25ca0fbf1fc66495a2fde0648a8db51039b0e7340d993aef8afb48269e660cb599837d1e46f72727762d887ee84c073d6136d1b0bc7d4c78f5673a4a6b73375937e8d54a47304845f38ca6b4f51cf14136a0826016535dc5ed003e38c3ac362b9d58ba8b555a05a1412":"36cc3b2f563305208a03378f7dc036119f7de3fee77cefac06515853d36609a622382ed026c59783fbc0d9910767874c516e10c7bf3e3d104f73b3463c8d93a63418c76cb0d05e62e9c8642cb4f32caced2620912cb6c79e5110a27d5fba1ef3b4d0578077858526c5e4254365f2b2ab47a45df4af08980b3b7a9b66dff5b38c":"fcad48076eb03ebe85c6d64f6357":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"6150f14dc53f391e815acfabed9f9e20":"7e92dd558bd2662c3a539dfe21a352cf":"9b4624e9118e6aa5dc65b69856638f77fd3f9f562046f50ba92a64e988258637932af7979f000505b84a71ff5dd7b60bad62586b1a8837a61c15a1a1ba7f06668272c28169915d7f06297b6c2a96c8c44203a422bfd25500c82e11274ffe07706365bfd3da34af4c4dd8ad7b620de7284a5af729bea9c4ed2631bdcba2ebdb7d":"fd8f337017e1b60d6618e6e4ad37c1f230cdeb78891579c2c63d4e6a4f7d2cb7252e99de333c73db45958808c08e91359c885a7385ab6f9ed98a27927a5b83c3a456ce2e01869712675e527155ba1e339ac14a3ccd7a4b87360902f2b8381308fe5a4eac5c90d0b84da4bf5b907de6ff3139cffd23b49a78750006100183032a":"922a7b48ad5bf61e6d70751cfe":"":"f272a3ee9b981f97785cc6fad350e516d72d402dae0d8a531c064ec64598b2a5760f9b279c10aa1ff71bec07300ab0373187138e7a103fc4130105afa6b6346f3d368b40d6f542375de97878ad4d976d64c5c4968a17be2b1757a17c03100231c34721250cd37cc596678764083ade89ae3b1a2151ff9151edcd7ba0eb8a4649":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3e8216072ed6fcde0fe0f636b27ed718":"23a122cf363c3117b8c663388c760ee4":"28ce0b4a44fa83323e060f3ff6436b8829d4f842090296bdc952b6d4a6b1b1a66be06168c63c4643e6ac186f7ffd8d144f603b2d4bc0d65be48121676f9fa1f359029c512bebfd75075ff357bc55f20fc76d9f2477c9930f16408f9f09c5ae86efa2529d2f1449ceeb635b83ca13662860ef9ac04a3d8ab4605eccd2d9ae5a71":"3b50f2a8dca9f70178503d861d9e37f5edfafc80ee023bfed390a477372986e4794175ec22ac038c3461aba50c9b2379cab48512946efdfe2cb9c12a858b373a5309324f410e6a05e88ba892759dbee6e486dc9665f66cb5950ea7e71317fa94abbebd67a3948746a998173fbbb4f14f9effbdf66d3b6e346053496a4b1934ce":"531a65cc5dfeca671cc64078d1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"1af434b73a1210b08595ffa686079832":"ae318f3cb881d1680f6afbf6713a9a2f":"3763c9241be0d9d9a9e46e64b12e107d16cca267ff87844c2325af910cc9a485c7015d95bbe62398864d079fb2b577ba0cfad923c24fa30691ad7d767d651eed4a33d0be8f06fed43f58b2e0bb04959f10b9e8e73bd80d3a6a8c8ce637bfbdb9d02c2b0a3dd8317c4997822031a35d34b3b61819b425c10c64e839b29874ddfb":"13f6c1c2d4edcf1438a7b4e85bcd1c84a989831a64d205e7854fce8817ddfceab67d10506ccf6ed9ce50080ef809e28e46cba7b0c96be6a811f59cd09cb3b7b3fe5073ee6763f40aee61e3e65356093f97deef5a8721d995e71db27a51f60a50e34ac3348852c445188cfc64337455f317f87535d465c6f96006f4079396eba3":"2ae7350dd3d1909a73f8d64255":"":"3cd2a770300ce4c85740666640936a0fe48888788702fc37e7a8296adb40b862ec799f257a16821adaa7315bd31e8dec60e4a8faeb8ba2ee606340f0219a6440e9c1d3168425e58fac02e8a88865f30649913d988353ab81f42a5ad43f960055f0877acda20f493208c2c40754fbf4ccee040975aa358ea3fe62cbd028c1611a":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"04036d2f5273c6ff5b8364aa595359c9":"edc433c381140dff929d9df9f62f4cb6":"404acfeeea342aeea8c8b7449af9e20ddf5b85dc7770d2144a4dd05959613d04d0cfece5a21cbb1a9175ddc9443ffacd2085332eb4c337a12a7bb294c95960e7c0bde4b8ab30a91e50267bbd0b8d2a4ed381409ea2e4c84f9a2070a793ce3c90ea8a4b140651b452674f85d5b76d0055df115608bf3a3c60996108023ebabe65":"acf79b6099490af938fb5fd8913255b3daa22786b03356cdf3e0ffaf570f9f866047b8e15c9953f893d97e7098265297396868ebc383be8547e8ec9d974b6a65b5dc5147cdadef2e2ad96696e84e44f364c2ba18c8aabe21f99489957b2b5484bf3fb4fecaf5ddaa1d373e910059c978918a3d01b955de2adb475914bf2c2067":"71f818f1a2b789fabbda8ec1":"":"4729cb642304de928b9dca32bb3d7b7836dd3973bbccf3f013c8ff4b59eca56f5d34d1b8f030a7b581b2f8fdc1e22b76a4cbc10095559876736d318d6c96c5c64cbd9fbd1d8eb4df38a2d56640d67d490d03acc1cd32d3f377eb1907bbd600f21d740b578080ba9c6ddc7dc6c50cdcee41fec51499cb944713c0961fc64f5a70":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"59fe44c6e28d025b2ad05e6e867051ab":"eb0c30320029433f66d29b3fd5c6563b":"49b7418b87374b462d25309b1c06e3132a3c8f4a4fcf29fed58e0902509426be712639db21c076df7b83dcfcc2c2c8fcc88576f4622a4366eb42f84ebf760e3eb22b14f8b5ff83f06a6f04a924eaab05b912e126e80da22461abf7f1925fd72ebdf2aea335a044726e7c2ebbb2b8aeebab4f7de5e186b50f275b700794d895d8":"20e66bae1215de9a87a0b878d39015d17e0d4542a1aaba2000cefbd5f892c26a410f55f0d7dc2f6b66690f2997032985e5516e068bfc6ec8a3669f566e280b0cefded519023b735ee3bcbfc5b6ce8203b727933a750f9bd515ec448c1f3a030aa0f40e607727a3239ebbe655d46b38a3d867e481ccf0fadbf0d59b665d2ed6b5":"296c4cdaeb94beb2847dc53d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"c314264cee0e6db30ebe9b2f6d4991b2":"4cd4431bb6dea8eb18ae74e4c35a6698":"0eeafbfd04f9a0ea18e5bdc688c7df27183f346187e9574b61222006f2b3e12e8d9d9bf1f0f15949ee1a7ee8e5c80ee903b8ba2860e15ccb999929f280200b159c2adca481748d0632a7b40601c45055f8cb5126148e6cbab2c76f543537ab54eb276188343cea3c4ab0d7b65b8754e55cfe3f6a5c41b6ea3c08b81fcecc968a":"d436ff9abfb044a332c4e009b591719a67b12a5366da0a66edf19605c34daa37588e15dd3da0d1a097215e469439de79cca74e04cd4904e5b4a6cb4e0ea54e6ba4e624ed6bd48be32d1ef68ffea1639a14e91a5914c2346ea526df95cbd4ad1b8ee842da210b35b6315c3075ecc267d51643c4b39202d0ad793cbb0045ebdc19":"fda18d2f795d900f057fe872":"":"cb9e0fb0ac13ca730b79e34745584b362d0716c344e4de90d8352b21117471ba12c97f193150b33774baee5e4a0f11b10428eaf0106c958e16aa46c5f6f3d99eed93d1b9ba3957bed05a8b9cc8c5511cf813a66dc7d773cb735b0523d8d6b0b80639b031ddc375f714c6dd50055320cd7ed44a471c8d5645c938a9005d0b5050":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"26072018bd0bda524b5beb66a622c63e":"c783d6d3b8392160e3b68038b43cf1f4":"8ae7c809a9dc40a6732a7384e3c64abb359c1b09dcb752e5a6b584873e3890230c6fc572b9ad24d849766f849c73f060fc48f664c1af9e6707e223691b77e170966ed164e0cc25ede3fbc3541c480f75b71e7be88fe730d8b361ea2733c6f37e6a59621de6004e020894b51dfb525973d641efe8d5fd9077a0bbc9dc7933a5de":"91c524b359dae3bc49117eebfa610672af1e7754054607317d4c417e7b1a68453f72d355468f825aeb7fde044b20049aed196ec6646cce1eeeccf06cb394286272b573220cdb846613ebc4683442dccc7a19ec86ef1ec971c115726584ae1f4008f94e47d1290d8b6b7a932cfe07165fd2b94e8f96d15f73bf72939c73f4bd11":"edffe55c60235556":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"201751d3da98bd39ff4e5990a56cfea7":"6172468634bf4e5dda96f67d433062d7":"ae2d770f40706e1eaa36e087b0093ec11ed58afbde4695794745e7523be0a1e4e54daade393f68ba770956d1cfb267b083431851d713249ffe4b61227f1784769ce8c9127f54271526d54181513aca69dc013b2dfb4a5277f4798b1ff674bca79b3dec4a7a27fcf2905ae0ce03f727c315662cd906e57aa557d1023cce2acd84":"2965af0bde3565a00e61cebbfe0b51b5b5ee98dbbfff7b1b5bf61da5ba537e6f4cf5fa07d2b20e518232c4961e6bc3ae247b797429da5d7eee2fc675b07066ac2e670261c6e9a91d920c7076101d86d5ef422b58e74bdc1e0b1d58298d3ee0f510ee3a3f63a3bbc24a55be556e465c20525dd100e33815c2a128ac89574884c1":"66c247e5ad4e1d6a":"":"efd064d4b4ef4c37b48ddf2fa6f5facc5e9cc4c3255b23a1e3765fabb5a339fa0eda754a5381b72989fc1323ff9a6bbaecd904eb4835e5a511b922927574673061ed8de23299ea1456054e7ebb62869878c34fb95e48c8385b5ebceecb962654cf1586b3f54e7887ce31850363e9a22be9e6fbc22e694db81aa055490495dbf2":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"3bc0dcb5261a641a08e6cb00d23e4deb":"16fa19f69fceed9e97173207158755a5":"92ddd3b98f08fc8538f6106f6434a1efa0a7441cc7f6fd0841103c2e4dd181ea0c9a4811b3cb1bad1986a44d8addabc02dd6980daf7d60405b38dadc836bb1d0620ceab84e0134aca7c30f9f9490436b27acfd7052f9d7f0379b8e7116571017add46b9976f4b41431d47bae6f5f34dc42410793bc26c84bfe84fb53ae138c85":"d533ad89a1a578db330c01b4e04d08238b020e36aebe87cf2b0bf0b01f1ce4197be8b0596e475a95946918152e8b334ba89f60486c31f0bd8773ca4ff1319fe92197088b131e728d64405441c4fb5466641f0b8682e6cb371f8a8936140b16677f6def8b3dd9cbf47a73f553f1dca4320ad76f387e92f910f9434543f0df0626":"f5289e1204ace3b2":"":"be0c30deeffbe51706247928132002b24d29272eee6b9d618483868e67280236632fa1ae06f3ef793f67bd01b1b01f70a827367c1cd28f778910457c7cbd977dfefff1f84a522247e19b2fd01fa22ce67cef9503d45c80a5084741f04108f2462b7cdd06a8f1f044fea2b05e920bcc061fbc6910175d732f45102a63c76ae48c":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"239c15492d6deec979e79236baca4635":"916b8b5417578fa83d2e9e9b8e2e7f6b":"b39eb732bc296c555cc9f00cf4caaf37d012329f344a6b74a873baf0d8dde9631f5e57b45b957d6aec0f7978e573dd78b43d459b77756037cd64d10d49966eb3a2a08d0f4d5e4f5dcb8713f4e4756acdf9925c5fc6120c477f6dffc59b0b47a3d5efd32b8c9052b321bb9b5129e5c6a095d8de563601b34608456f58d7221f2d":"d64886ce5f5b4adb7fe8f95904bc1461749c931655b02819ffdd0ae31bad4175125aa68962f8e36ec834a7d53a191a74c937e81ec93ad9ce0d3b286d3c11ff1733c0b7780130768c120b1833933561cf07399ca49b912370ae34f0e49b9c8cb9920eddc6816ab2ae261c6d7f70058a9b83a494026f249e58c4c613eefafe6974":"fc08cbbe":"":"95c169721ea007c3f292e4ec7562a426d9baa7d374fd82e1e48d1eaca93d891d5ffa9acf5e3bd82e713ac627141e26a8b654920baffab948401cc3c390d6eea9d7b78c4fcb080b0aa9222e4d51bf201ccfd9328995831435e065d92ad37ee41c7c4366cc1efe15c07fc0470608866aeea96997772ecf926934c5d02efe05f250":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"db68a96e216b0dd9945f14b878487e03":"8a1a72e7bb740ec37ea4619c3007f8ae":"1b4f37190a59a4fff41d348798d1829031204fd7ac2a1be7b5ea385567e95e2ace25bf9e324488dd3ab8ce7f29d4c9a4f4b1a8a97f774871ee825e2c17700128d3c55908d3b684a1f550fdb8b38149ff759c21debdd54e49d64d3e8aac803dfd81600464ed484749bb993f89d4224b3d7d55c756b454466ff9fd609019ed5e83":"5634196a32d4cbfa7a2f874a1e0f86287d2942090e0cc6a82bd5caf40136a27ddf524a17713ce4af04ca6cb640a7205cce4ac9cb2d0ab380d533e1e968089ea5740c0fcbfa51f2424008e0b89dc7b3396b224cfaed53b3ac0604879983d3e6e6d36053de4866f52976890f72b8f4b9505e4ebdd04c0497048c3ce19336133ea4":"9251d3e3":"":"0c6bb3ee5de5cbb4b39d85d509bcacb3dda63fa50897936531339882962e8dc54c285c8944768d12096d4a3c2b42ffa92603cee2da9b435ec52908fca6d38ed74f898fe0ffa761f96038ff7dfeccc65bb841c3457b8de1e97d9bee82e2911602ee2dc555b33a227424dea86d610d37c447776295b412b412903ad2cede5170b6":1 AES-GCM NIST Validation PSA (AES-128,128,1024,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_128_GCM:"659b9e729d12f68b73fdc2f7260ab114":"459df18e2dfbd66d6ad04978432a6d97":"ee0b0b52a729c45b899cc924f46eb1908e55aaaeeaa0c4cdaacf57948a7993a6debd7b6cd7aa426dc3b3b6f56522ba3d5700a820b1697b8170bad9ca7caf1050f13d54fb1ddeb111086cb650e1c5f4a14b6a927205a83bf49f357576fd0f884a83b068154352076a6e36a5369436d2c8351f3e6bfec65b4816e3eb3f144ed7f9":"fd0732a38224c3f16f58de3a7f333da2ecdb6eec92b469544a891966dd4f8fb64a711a793f1ef6a90e49765eacaccdd8cc438c2b57c51902d27a82ee4f24925a864a9513a74e734ddbf77204a99a3c0060fcfbaccae48fe509bc95c3d6e1b1592889c489801265715e6e4355a45357ce467c1caa2f1c3071bd3a9168a7d223e3":"8e5a6a79":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"806766a4d2b6507cc4113bc0e46eebe120eacd948c24dc7f":"4f801c772395c4519ec830980c8ca5a4":"":"":"8fa16452b132bebc6aa521e92cb3b0ea":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"0c2abdcd2e4ae4137509761a38e6ca436b99c21b141f28f5":"335ca01a07081fea4e605eb5f23a778e":"":"":"d7f475dfcb92a75bc8521c12bb2e8b86":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"eef490a0c2ecb32472e1654184340cc7433c34da981c062d":"d9172c3344d37ff93d2dcb2170ea5d01":"":"":"017fef05260a496654896d4703db3888":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fe0c3490f1f0dba23cf5c64e6e1740d06f85e0afec6772f3":"f47e915163fa3df7f6c15b9d69f53907":"":"":"14e1a057a2e7ffbd2208e9c25dbba1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4356b3b1f308df3573509945afe5268984f9d953f01096de":"a35b397b34a14a8e24d05a37be4d1822":"":"":"e045ecba220d22c80826b77a21b013":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"e2898937cc575c8bb7444413884deafe8eaf326be8849e42":"169a449ccb3eb29805b15304d603b132":"":"":"3a807251f3d6242849a69972b14f6d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"75683c7df0442e10b5368fcd6bb481f0bff8d95aae90487e":"538641f7d1cc5c68715971cee607da73":"":"":"07d68fffe417adc3397706d73b95":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"0724ee1f317997ce77bb659446fcb5a557490f40597341c7":"0d8eb78032d83c676820b2ef5ccc2cc8":"":"":"7da181563b26c7aefeb29e71cc69":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"be2f0f4ae4ab851b258ec5602628df261b6a69e309ff9043":"646a91d83ae72b9b9e9fce64135cbf73":"":"":"169e717e2bae42e3eb61d0a1a29b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"583c328daecd18c2ac5c83a0c263de194a4c73aa4700fe76":"55e10d5e9b438b02505d30f211b16fea":"":"":"95c0a4ea9e80f91a4acce500f7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b40857e7e6f26050f1e9a6cbe05e15a0ba07c2055634ad47":"e25ef162a4295d7d24de75a673172346":"":"":"89ea4d1f34edb716b322ea7f6f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"627008956e31fea497fb120b438a2a043c23b1b38dc6bc10":"08ea464baac54469b0498419d83820e6":"":"":"ab064a8d380fe2cda38e61f9e1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"8c386d67d7c2bfd46b8571d8685b35741e87a3ed4a46c9db":"766996fb67ace9e6a22d7f802455d4ef":"":"":"9a641be173dc3557ea015372":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"711bc5aa6b94fa3287fad0167ac1a9ef5e8e01c16a79e95a":"75cdb8b83017f3dc5ac8733016ab47c7":"":"":"81e3a5580234d8e0b2204bc3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c74620828402e0bdf3f7a5353668505dc1550a31debce59a":"cfbefe265583ab3a2285e8080141ba48":"":"":"355a43bcebbe7f72b6cd27ea":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1eb53aa548b41bfdc85c657ebdebdae0c7e525a6432bc012":"37ffc64d4b2d9c82dd17d1ad3076d82b":"":"":"34b8e037084b3f2d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"50d077575f6db91024a8e564db83324539e9b7add7bb98e4":"118d0283294d4084127cce4b0cd5b5fa":"":"":"507a361d8ac59882":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d9ddca0807305025d61919ed7893d7d5c5a3c9f012f4842f":"b78d518b6c41a9e031a00b10fb178327":"":"":"f401d546c8b739ff":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6ed8d8afde4dc3872cbc274d7c47b719205518496dd7951d":"14eb280288740d464e3b8f296c642daa":"":"":"39e64d7a":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"80aace5ab74f261bc09ac6f66898f69e7f348f805d52404d":"f54bf4aac8fb631c8b6ff5e96465fae6":"":"":"1ec1c1a1":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"23b76efd0dbc8d501885ab7d43a7dacde91edd9cde1e1048":"75532d15e582e6c477b411e727d4171e":"":"":"76a0e017":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"94c50453dd3ef7f7ea763ae13fa34debb9c1198abbf32326":"1afe962bc46e36099165552ddb329ac6":"b2920dd9b0325a87e8edda8db560bfe287e44df79cf61edba3b2c95e34629638ecb86584f05a303603065e63323523f6ccc5b605679d1722cde5561f89d268d5f8db8e6bdffda4839c4a04982e8314da78e89f8f8ad9c0fee86332906bf78d2f20afcaabdc282008c6d09df2bfe9be2c9027bb49268b8be8936be39fa8b1ae03":"":"51e1f19a7dea5cfe9b9ca9d09096c3e7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c6a98102af3d875bcdebe594661d3a6b376970c02b11d019":"bea8cd85a28a2c05bf7406b8eef1efcc":"f2f80e2c042092cc7240b598ab30fad055bce85408aa0f8cefaf8a7204f0e2acb87c78f46a5867b1f1c19461cbf5ed5d2ca21c96a63fb1f42f10f394952e63520795c56df77d6a04cb5ad006ee865a47dc2349a814a630b3d4c4e0fd149f51e8fa846656ea569fd29a1ebafc061446eb80ec182f833f1f6d9083545abf52fa4c":"":"04b80f25ae9d07f5fd8220263ac3f2f7":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ec3cc45a22fdc7cc79ed658d9e9dbc138dcc7d6e795cba1a":"b10d9c70205e142704f9d1f74caee0f6":"714994017c169c574aaff2f8bad15f8fa6a385117f5405f74846eca873ca4a8f4876adf704f2fcaff2dfa75c17afefd08a4707292debc6d9fafda6244ca509bc52b0c6b70f09b14c0d7c667583c091d4064e241ba1f82dd43dc3ea4b8922be65faf5583f6b21ff5b22d3632eb4a426675648250e4b3e37c688d6129b954ef6a8":"":"d22407fd3ae1921d1b380461d2e60210":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5a32ebc7a2338038ced36d2b85cbc6c45cca9845a7c5aa99":"9afe0882e418c9af205eeb90e131d212":"61ff8a8bc22803f17e8e9f01aff865bc7d3083ff413ce392a989e46ebed5114894de906f7d36439024d8f2e69cc815ac043fff2f75169f6c9aa9761ff32d10a1353213ac756cb84bd3613f8261ef390e1d00c3a8fb82764b0cda4e0049219e87d2e92c38f78ffac242391f838a248f608bb2b56b31bbb453d1098e99d079ea1b":"":"fcbb932ddb0128df78a71971c52838":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"9bf22885e7f13bcc63bb0a2ca90c20e5c86001f05edf85d8":"99dec21f4781284722b5074ea567c171":"9f4176dacf26e27aa0e669cd4d44bca41f83468c70b54c745a601408a214bf876941ae2ae4d26929113f5de2e7d15a7bb656541292137bf2129fdc31f06f070e3cfaf0a7b30d93d8d3c76a981d75cd0ffa0bcacb34597d5be1a055c35eefeddc07ee098603e48ad88eb7a2ec19c1aefc5c7be9a237797397aa27590d5261f67a":"":"18fd1feec5e3bbf0985312dd6100d1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"cfd75a9d3788d965895553ab5fb7a8ff0aa383b7594850a6":"a6df69e5f77f4d99d5318c45c87451b2":"041aeb2fa0f7df027cd7709a992e041179d499f5dbccd389035bf7e514a38b5f8368379d2d7b5015d4fa6fadfd7c75abd2d855f5ea4220315fad2c2d435d910253bf76f252a21c57fe74f7247dac32f4276d793d30d48dd61d0e14a4b7f07a56c94d3799d04324dfb2b27a22a5077e280422d4f014f253d138e74c9ac3428a7b":"":"fd78b9956e4e4522605db410f97e84":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b0b21ae138485591c6bef7b3d5a0aa0e9762c30a50e4bba2":"56dc980e1cba1bc2e3b4a0733d7897ca":"a38458e5cc71f22f6f5880dc018c5777c0e6c8a1301e7d0300c02c976423c2b65f522db4a90401035346d855c892cbf27092c81b969e99cb2b6198e450a95c547bb0145652c9720aaf72a975e4cb5124b483a42f84b5cd022367802c5f167a7dfc885c1f983bb4525a88c8257df3067b6d36d2dbf6323df80c3eaeffc2d176a5":"":"b11f5c0e8cb6fea1a170c9342437":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"8775665aba345b1c3e626128b5afa3d0da8f4d36b8cf1ca6":"cd17f761670e1f104f8ea4fb0cec7166":"2ee08a51ceaca1dbbb3ee09b72f57427fd34bd95da5b4c0933cbb0fc2f7270cffd3476aa05deeb892a7e6a8a3407e61f8631d1a00e47d46efb918393ee5099df7d65c12ab8c9640bfcb3a6cce00c3243d0b3f316f0822cfeae05ee67b419393cc81846b60c42aeb5c53f0ede1280dc36aa8ef59addd10668dd61557ce760c544":"":"6cdf60e62c91a6a944fa80da1854":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"cc9922299b47725952f06272168b728218d2443028d81597":"9b2f1a40717afcdbb6a95d6e335c9e4d":"bcfca8420bc7b9df0290d8c1bcf4e3e66d3a4be1c947af82dd541336e44e2c4fa7c6b456980b174948de30b694232b03f8eb990f849b5f57762886b449671e4f0b5e7a173f12910393bdf5c162163584c774ad3bba39794767a4cc45f4a582d307503960454631cdf551e528a863f2e014b1fca4955a78bd545dec831e4d71c7":"":"dd515e5a8b41ecc441443a749b31":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5a27d718f21c5cbdc52a745b931bc77bd1afa8b1231f8815":"59661051912fba45023aef4e6f9380a5":"2b7ce5cea81300ed23501493310f1316581ef8a50e37eaadd4bb5f527add6deb09e7dcc67652e44ac889b48726d8c0ae80e2b3a89dd34232eb1da32f7f4fcd5bf8e920d286db8604f23ab06eab3e6f99beb55fe3725107e9d67a491cdada1580717bbf64c28799c9ab67922da9194747f32fd84197070a86838d1c9ebae379b7":"":"f33e8f42b58f45a0456f83a13e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b83e933cf54ac58f8c7e5ed18e4ed2213059158ed9cb2c30":"8710af55dd79da45a4b24f6e972bc60a":"b7a428bc68696cee06f2f8b43f63b47914e29f04a4a40c0eec6193a9a24bbe012d68bea5573382dd579beeb0565b0e0334cce6724997138b198fce8325f07069d6890ac4c052e127aa6e70a6248e6536d1d3c6ac60d8cd14d9a45200f6540305f882df5fca2cac48278f94fe502b5abe2992fa2719b0ce98b7ef1b5582e0151c":"":"380128ad7f35be87a17c9590fa":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d2f85f92092385f15da43a086cff64c7448b4ee5a83ed72e":"9026dfd09e4553cd51c4c13ce70830de":"3c8de64c14df73c1b470a9d8aa693af96e487d548d03a92ce59c0baec8576129945c722586a66f03deb5029cbda029fb22d355952c3dadfdede20b63f4221f27c8e5d710e2b335c2d9a9b7ca899597a03c41ee6508e40a6d74814441ac3acb64a20f48a61e8a18f4bbcbd3e7e59bb3cd2be405afd6ac80d47ce6496c4b9b294c":"":"e9e5beea7d39c9250347a2a33d":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"de7df44ce007c99f7baad6a6955195f14e60999ed9818707":"4d209e414965fe99636c1c6493bba3a3":"da3bc6bdd414a1e07e00981cf9199371192a1fb2eaae20f7091e5fe5368e26d61b981f7f1d29f1a9085ad2789d101155a980de98d961c093941502268adb70537ad9783e6c7d5157c939f59b8ad474c3d7fc1fcc91165cdf8dd9d6ec70d6400086d564b68ebead0d03ebd3aa66ded555692b8de0baf43bc0ddef42e3a9eb34ab":"":"24483a57c20826a709b7d10a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1dfa5ff20046c775b5e768c2bd9775066ae766345b7befc3":"2d49409b869b8b9fc5b67767979ca8cd":"e35d34478b228bc903ea2423697e603cc077967d7cfb062e95bc11d89fbe0a1f1d4569f89b2a7047300c1f5131d91564ec9bce014d18ba605a1c1e4e15e3e5c18413b8b59cbb25ab8f088885225de1235c16c7d9a8d06a23cb0b38fd1d5c6c19617fe08fd6bf01c965ed593149a1c6295435e98463e4f03a511d1a7e82c11f01":"":"23012503febbf26dc2d872dc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2df3ee3a6484c48fdd0d37bab443228c7d873c984529dfb4":"dc6aeb41415c115d66443fbd7acdfc8f":"eafc6007fafb461d3b151bdff459e56dd09b7b48b93ea730c85e5424f762b4a9080de44497a7c56dd7855628ffc61c7b4faeb7d6f413d464fe5ec6401f3028427ae3e62db3ff39cd0f5333a664d3505ff42caa8899b96a92ec01934d4b59556feb9055e8dfb81f55e60135345bfce3e4199bfcdb3ce42523e7d24be2a04cdb67":"":"e8e80bf6e5c4a55e7964f455":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ce0787f65e6c24a1c444c35dcd38195197530aa20f1f6f3b":"55300431b1eaac0375681d7821e1eb7a":"84a699a34a1e597061ef95e8ec3c21b592e9236ddb98c68d7e05f1e709937b48ec34a4b88d99708d133a2cc33f5cf6819d5e7b82888e49faa5d54147d36c9e486630aa68fef88d55537119db1d57df0402f56e219f7ece7b4bb5f996dbe1c664a75174c880a00b0f2a56e35d17b69c550921961505afabf4bfd66cf04dc596d1":"":"74264163131d16ac":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3a15541b5857a668dc9899b2e198d2416e83bac13282ca46":"89bf8ab0cea6f59616eeb9b314d7c333":"4d2843f34f9ea13a1ac521479457005178bcf8b2ebeaeb09097ea4471da9f6cc60a532bcda1c18cab822af541de3b87de606999e994ace3951f58a02de0d6620c9ae04549326da449a3e90364a17b90b6b17debc0f454bb0e7e98aef56a1caccf8c91614d1616db30fc8223dbcd8e77bf55d8253efe034fd66f7191e0303c52f":"":"8f4877806daff10e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b61cdfd19c136ee2acbe09b7993a4683a713427518f8e559":"4066118061c904ed1e866d4f31d11234":"153c075ecdd184fd8a0fca25cae8f720201361ef84f3c638b148ca32c51d091a0e394236d0b51c1d2ee601914120c56dfea1289af470dbc9ef462ec5f974e455e6a83e215a2c8e27c0c5b5b45b662b7f58635a29866e8f76ab41ee628c12a24ab4d5f7954665c3e4a3a346739f20393fc5700ec79d2e3c2722c3fb3c77305337":"":"4eff7227b42f9a7d":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ce175a7df7e429fcc233540e6b8524323e91f40f592ba144":"c34484b4857b93e309df8e1a0e1ec9a3":"ce8d8775f047b543a6cc0d9ef9bc0db5ac5d610dc3ff6e12e0ad7cd3a399ebb762331e3c1101a189b3433a7ff4cd880a0639d2581b71e398dd982f55a11bf0f4e6ee95bacd897e8ec34649e1c256ee6ccecb33e36c76927cc5124bc2962713ad44cbd435ae3c1143796d3037fa1d659e5dad7ebf3c8cbdb5b619113d7ce8c483":"":"ff355f10":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5f659ed236ba60494e9bf1ee2cb40edcf3f25a2bac2e5bc5":"ad49f12f202320255406c2f40e55b034":"6da62892f436dfe9790e72d26f4858ca156d1d655c9cc4336fcf282b0f3f0b201e47f799c3019109af89ef5fd48a4811980930e82cd95f86b1995d977c847bbb06ecdcc98b1aae100b23c9c2f0dcf317a1fb36f14e90e396e6c0c594bcc0dc5f3ebf86ce7ecd4b06d1c43202734d53f55751a6e6bbda982104102af240def4eb":"":"cb4d8c1d":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a73f318b1e298ba4ac0ab2aed74f73543b1017cccbd1b240":"abe33b7e8d88bd30deb96d1e90c4e951":"6de616b000047b14b6759015183dd753c61499c0e665d06a89e4fb0cd0dd3064ff8651582e901ef5d0cdf3344c29c70c3aabc2aaf83cb3f284c6fe4104906d389b027e7d9ca60d010f06ef8cd9e55db2483d06552ddbe3fc43b24c55085cd998eae3edec36673445bf626e933c15b6af08ea21cbace4720b0b68fe1a374877d5":"":"4a28ec97":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"73d5be74615bc5b627eedfb95746fb5f17cbf25b500a597f":"eb16ed8de81efde2915a901f557fba95":"":"fc40993eb8559e6b127315c03103ce31b70fc0e07a766d9eecf2e4e8d973faa4afd3053c9ebef0282c9e3d2289d21b6c339748273fa1edf6d6ef5c8f1e1e9301b250297092d9ac4f4843125ea7299d5370f7f49c258eac2a58cc9df14c162604ba0801728994dc82cb625981130c3ca8cdb3391658d4e034691e62ece0a6e407":"804056dca9f102c4a13a930c81d77eca":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a249135c9f2f5a8b1af66442a4d4e101771a918ef8acee05":"80b6e48fe4a3b08d40c1636b25dfd2c4":"":"c62b39b937edbdc9b644321d5d284e62eaa4154010c7a3208c1ef4706fba90223da04b2f686a28b975eff17386598ba77e212855692f384782c1f3c00be011e466e145f6f8b65c458e41409e01a019b290773992e19334ffaca544e28fc9044a5e86bcd2fa5ad2e76f2be3f014d8c387456a8fcfded3ae4d1194d0e3e53a2031":"951c1c89b6d95661630d739dd9120a73":"":"b865f8dd64a6f51a500bcfc8cadbc9e9f5d54d2d27d815ecfe3d5731e1b230c587b46958c6187e41b52ff187a14d26aa41c5f9909a3b77859429232e5bd6c6dc22cf5590402476d033a32682e8ab8dc7ed0b089c5ab20ab9a8c5d6a3be9ea7aa56c9d3ab08de4a4a019abb447db448062f16a533d416951a8ff6f13ed5608f77":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fa832a4b37dcb3c0879a771bb8ae734f0d88b9be497797a8":"70835abab9f945c84ef4e97cdcf2a694":"":"0f1105f9ec24121232b60b6ef3c3e8ca9eec1a3d7625004b857d1d77f292b6ec065d92f5bb97e0dc2fdfdf823a5db275109a9472690caea04730e4bd732c33548718e9f7658bbf3e30b8d07790cd540c5754486ed8e4d6920cefaeb1c182c4d67ebed0d205ba0bd9441a599d55e45094b380f3478bcfca9646a0d7aa18d08e52":"a459be0b349f6e8392c2a86edd8a9da5":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"dda216287910d1f5c0a312f63c243612388bc510cb76c5ba":"7f770140df5b8678bc9c4b962b8c9034":"":"d6617d583344d4fe472099d2a688297857215a3e31b47d1bf355ccfe9cf2398a3eba362c670c88f8c7162903275dfd4761d095900bd97eba72200d4045d72bd239bda156829c36b38b1ff5e4230125e5695f623e129829721e889da235bb7d4b9da07cce8c3ceb96964fd2f9dd1ff0997e1a3e253a688ceb1bfec76a7c567266":"9823e3242b3f890c6a456f1837e039":"":"b4910277224025f58a5d0f37385b03fcd488dfef7580eb5c270c10bd7a6f6d9c7ddc2d1368d68d4e04f90e3df029ed028432a09f710be1610b2a75bd05f31bae83920573929573affd0eb03c63e0cec7a027deab792f43ee6307fd3c5078d43d5b1407ac023824d41c9437d66eeec172488f28d700aa4b54931aad7cd458456f":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c5afa1e61d4594b1c2fa637f64f18dd557e4df3255b47f24":"151fd3ba32f5bde72adce6291bcf63ea":"":"5c772cdf19571cd51d71fc166d33a0b892fbca4eae36ab0ac94e6164d51acb2d4e60d4f3a19c3757a93960e7fd90b9a6cdf98bdf259b370ed6c7ef8cb96dba7e3a875e6e7fe6abc76aabad30c8743b3e47c8de5d604c748eeb16806c2e75180a96af7741904eca61769d39e943eb4c4c25f2afd68e9472043de2bb03e9edae20":"f0626cc07f2ed1a7570386a4110fc1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"febd4ff0fedd9f16bccb62380d59cd41b8eff1834347d8fa":"743699d3759781e82a3d21c7cd7991c8":"":"dc971c8f65ece2ea4130afd4db38fc657c085ea19c76fef50f5bd0f8dd364cc22471c2fa36be8cde78529f58a78888e9de10961760a01af005e42fc5b03e6f64962e6b18eaedea979d33d1b06e2038b1aad8993e5b20cae6cc93f3f7cf2ad658fbba633d74f21a2003dded5f5dda3b46ed7424845c11bab439fbb987f0be09f8":"1da347f9b6341049e63140395ad445":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d280d079110c1c826cc77f490d807dd8d508eb579a160c49":"85b241d516b94759c9ef975f557bccea":"":"a286d19610a990d64f3accd329fc005d468465a98cfa2f3606c6d0fbeb9732879bad3ca8094322a334a43155baed02d8e13a2fbf259d80066c6f418a1a74b23e0f6238f505b2b3dc906ffcb4910ce6c878b595bb4e5f8f3e2ede912b38dbafdf4659a93b056a1a67cb0ec1dbf00d93223f3b20b3f64a157105c5445b61628abf":"bbf289df539f78c3a912b141da3a":"":"b9286ab91645c20de040a805020fed53c612d493a8ce9c71649ae16bd50eab6fb7f3a9180e1651d5413aa542608d7ecbf9fc7378c0bef4d439bc35434b6cf803976b8783aecc83a91e95cea72c2a26a883b710252e0c2a6baa115739a0692c85f6d34ff06234fbdc79b8c4a8ea0a7056fb48c18f73aaf5084868abb0dfaa287d":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5e80f87fa2156c62df7be2ad16c4890de5ee5868a684fcf9":"9769f71c76b5b6c60462a845d2c123ad":"":"c829073efd5c5150d2b7e2cdaeff979830d1aa983c747724ade6472c647a6e8e5033046e0359ea62fc26b4c95bccb3ac416fdf54e95815c35bf86d3fdd7856abbb618fe8fcd35a9295114926a0c9df92317d44ba1885a0c67c10b9ba24b8b2f3a464308c5578932247bf9c79d939aa3576376d2d6b4f14a378ab775531fe8abf":"394b6c631a69be3ed8c90770f3d4":"":"f886bd92ca9d73a52e626b0c63a3daa138faaacf7809086d04f5c0c899362aa22e25d8659653b59c3103668461d9785bb425c6c1026ad9c924271cec9f27a9b341f708ca86f1d82a77aae88b25da9061b78b97276f3216720352629bd1a27ebf890da6f42d8c63d68342a93c382442d49dd4b62219504785cee89dffdc36f868":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d8a7b99e53f5e5b197364d4516cace4b928de50e571315e3":"4b12c6701534098e23e1b4659f684d6f":"":"d0db0ac5e14bf03729125f3137d4854b4d8ce2d264f8646da17402bdad7034c0d84d7a80f107eb202aeadbfdf063904ae9793c6ae91ee8bcc0fc0674d8111f6aea6607633f92e4be3cfbb64418101db8b0a9225c83e60ffcf7a7f71f77149a13f8c5227cd92855241e11ee363062a893a76ac282fb47b523b306cd8235cd81c2":"729b31c65d8699c93d741caac8e3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c874b427b7181b0c90b887147c36f242827149324fd5c945":"4b8dda046a5b7c46abeeca2f2f9bcaf8":"":"bdd90190d587a564af022f06c8bd1a68735b6f18f04113fdcec24c6027aaf0271b183336fb713d247a173d9e095dae6e9badb0ab069712302875406f14320151fd43b90a3d6f35cc856636b1a6f98afc797cb5259567e2e9b7ce62d7b3370b5ee852722faf740edf815b3af460cdd7de90ca6ab6cd173844216c064b16ea3696":"fe1e427bcb15ce026413a0da87":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"56543cd6e2ebb1e3dc136a826bfc37eddb12f7a26430a1b4":"927ce8a596ed28c85d9cb8e688a829e6":"":"d541dd3acec2da042e6ea26fb90ff9a3861191926423b6dc99c5110b3bf150b362017159d0b85ffea397106a0d8299ec22791cb06103cd44036eed0d6d9f953724fb003068b3c3d97da129c28d97f09e6300cbea06ba66f410ca61c3311ce334c55f077c37acb3b7129c481748f79c958bc3bbeb2d3ff445ad361ed4bbc79f0a":"3a98f471112a8a646460e8efd0":"":"a602d61e7a35cbe0e463119bb66fd4bb6c75d1fe0b211b9d6a0a6e9e84b0794282318f0d33ec053f2cfba1623e865681affeaf29f3da3113995e87d51a5ab4872bb05b5be8ef2b14dfc3df5a48cbc9b10853a708ee4886a7390e8e4d286740a0dd41c025c8d72eda3f73f3cec5c33d5e50b643afd7691213cccccc2c41b9bd7a":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"caaf81cd380f3af7885ef0d6196a1688c9372c5850dc5b0b":"508c55f1726896f5b9f0a7024fe2fad0":"":"6f269929b92c6281e00672eaec183f187b2ddecc11c9045319521d245b595ab154dd50f045a660c4d53ae07d1b7a7fd6b21da10976eb5ffcddda08c1e9075a3b4d785faa003b4dd243f379e0654740b466704d9173bc43292ae0e279a903a955ce33b299bf2842b3461f7c9a2bd311f3e87254b5413d372ec543d6efa237b95a":"3b8026268caf599ee677ecfd70":"":"c4a96fb08d7c2eebd17046172b98569bc2441929fc0d6876aa1f389b80c05e2ede74dc6f8c3896a2ccf518e1b375ee75e4967f7cca21fa81ee176f8fb8753381ce03b2df873897131adc62a0cbebf718c8e0bb8eeed3104535f17a9c706d178d95a1b232e9dac31f2d1bdb3a1b098f3056f0e3d18be36bd746675779c0f80a10":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2fc9d9ac8469cfc718add2b03a4d8c8dcc2eeca08e5ff7bc":"b2a7c0d52fc60bacc3d1a94f33087095":"":"bc84d8a962a9cfd179d242788473d980d177abd0af9edccb14c6dc41535439a1768978158eeed99466574ea820dbedea68c819ffd9f9915ca8392c2e03049d7198baeca1d3491fe2345e64c1012aff03985b86c831ad516d4f5eb538109fff25383c7b0fa6b940ae19b0987d8c3e4a37ccbbd2034633c1eb0df1e9ddf3a8239e":"0a7a36ec128d0deb60869893":"":"fc3cd6486dfe944f7cb035787573a554f4fe010c15bd08d6b09f73066f6f272ff84474f3845337b6e429c947d419c511c2945ffb181492c5465940cef85077e8a6a272a07e310a2f3808f11be03d96162913c613d9c3f25c3893c2bd2a58a619a9757fd16cc20c1308f2140557330379f07dbfd8979b26b075977805f1885acc":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"81ff729efa4a9aa2eccc37c5f846235b53d3b93c79c709c8":"1bd17f04d1dc2e447b41665952ad9031":"":"3992ad29eeb97d17bd5c0f04d8589903ee23ccb2b1adc2992a48a2eb62c2644c0df53b4afe4ace60dc5ec249c0c083473ebac3323539a575c14fa74c8381d1ac90cb501240f96d1779b287f7d8ba8775281d453aae37c803185f2711d21f5c00eb45cad37587ed196d1633f1eb0b33abef337447d03ec09c0e3f7fd32e8c69f0":"01b0a815dc6da3e32851e1fb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"068500e8d4f8d4af9035cdaa8e005a648352e8f28bdafc8a":"5ea9198b860679759357befdbb106b62":"":"98e32428d9d21c4b60e690a2ce1cf70bee90df31302d1819b7d27fd577dd990f7ffe6ba5ef117caac718cc1880b4ca98f72db281c9609e189307302dc2866f20be3a545a565521368a6881e2642cba63b3cf4c8b5e5a8eabeb3e8b004618b8f77667c111e5402c5d7c66afd297c575ce5092e898d5831031d225cee668c186a1":"d58752f66b2cb9bb2bc388eb":"":"2ef3a17fcdb154f60d5e80263b7301a8526d2de451ea49adb441aa2541986b868dab24027178f48759dbe874ae7aa7b27fb19461c6678a0ba84bbcd8567ba2412a55179e15e7c1a1392730ac392b59c51d48f8366d45b933880095800e1f36ff1ac00753f6363b0e854f494552f1f2efe028d969e6b1a8080149dd853aa6751e":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"7474d9b07739001b25baf6867254994e06e54c578508232f":"3ade6c92fe2dc575c136e3fbbba5c484":"":"1cbab2b6e4274caa80987072914f667b887198f7aaf4574608b91b5274f5afc3eb05a457554ff5d346d460f92c068bc626fd301d0bb15cb3726504b3d88ecd46a15077728ddc2b698a2e8c5ea5885fc534ac227b8f103d193f1977badf4f853a0931398da01f8019a9b1ff271b3a783ff0fae6f54db425af6e3a345ba7512cbf":"67c25240b8e39b63":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d50d4c7d442d8a92d0489a96e897d50dda6fbe47ca7713ee":"41b37c04ab8a80f5a8d9d82a3a444772":"":"b36b4caf1d47b0d10652824bd57b603ec1c16f4720ce7d43edde8af1b9737f61b68b882566e04da50136f27d9af4c4c57fff4c8465c8a85f0aeadc17e02709cc9ba818d9a272709e5fb65dd5612a5c5d700da399b3668a00041a51c23de616ea3f72093d85ecbfd9dd0b5d02b541fb605dcffe81e9f45a5c0c191cc0b92ac56d":"4ee54d280829e6ef":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"38f3ec3ec775dac76ae484d5b6ca61c695c7beafba4606ca":"9af53cf6891a749ab286f5c34238088a":"":"49726b8cefc842a02f2d7bef099871f38257cc8ea096c9ac50baced6d940acb4e8baf932bec379a973a2c3a3bc49f60f7e9eef45eafdd15bda1dd1557f068e81226af503934eb96564d14c03f0f351974c8a54fb104fb07417fe79272e4b0c0072b9f89b770326562e4e1b14cad784a2cd1b4ae1dc43623ec451a1cae55f6f84":"6f6f344dd43b0d20":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6db4ef061513ef6690d57aef50d8011e0dd7eb4432d82374":"623df5a0922d1e8c883debb2e0e5e0b1":"":"b7f9206995bc97311855ee832e2b40c41ab2d1a40d9263683c95b14dcc51c74d2de7b6198f9d4766c659e7619fe2693a5b188fac464ccbd5e632c5fd248cedba4028a92de12ed91415077e94cfe7a60f117052dea8916dfe0a51d92c1c03927e93012dbacd29bbbc50ce537a8173348ca904ac86df55940e9394c2895a9fe563":"14f690d7":"":"a6414daa9be693e7ebb32480a783c54292e57feef4abbb3636bebbc3074bfc608ad55896fe9bd5ab875e52a43f715b98f52c07fc9fa6194ea0cd8ed78404f251639069c5a313ccfc6b94fb1657153ff48f16f6e22b3c4a0b7f88e188c90176447fe27fa7ddc2bac3d2b7edecad5f7605093ac4280b38ae6a4c040d2d4d491b42":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"8901bec4d3c64071d8c30c720c093221e05efed71da280bf":"9265abe966cb83838d7fd9302938f49d":"":"7c447e700db7367260dffa42050e612eff062eb0c8a6b4fe34858800bcb8ec2f622cb5213767b5771433783e9b0fa617c9ffb7fde09845dafc16dfc0df61215c0ca1191eabf43293db6603d5285859de7ef3329f5e71201586fb0188f0840ed5b877043ca06039768c77ff8687c5cfc2fd013a0b8da48344c568fce6b39e2b19":"6f6c38bc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2c57eb763f886154d3846cc333fc8ae8b3c7c9c3705f9872":"9b3781165e7ff113ecd1d83d1df2366d":"":"9fe7d210221773ba4a163850bab290ba9b7bf5e825760ac940c290a1b40cd6dd5b9fb6385ae1a79d35ee7b355b34275857d5b847bef4ac7a58f6f0e9de68687807009f5dc26244935d7bcafc7aed18316ce6c375192d2a7bf0bee8a632fe4f412440292e39339b94b28281622842f88048be4640486f2b21a119658c294ce32e":"62f32d4e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"307d31a594e54f673bea2f977835670aca4f3d45c9c376cc":"0bdaa353c4904d32432926f27534c73c":"aa39f04559ccc2cae3d563dda831fb238b2582cb2c2bb28cff20cc20200724c8771b9805ef7464b8fc06c7b8060c6920fd2779fbc807c2292c8c1f88f8088755609a1732ff8c0b06606452b970c79997b985889404fd907c4668a0bcc11ba617175f4525523494a244da60b238468c863055f04db20ea489adf545d56c0a71d8":"d7385a7bd0cb76e1e242fa547c474370bcc7cc7cf3e3fa37b00fe08a56383ca31d023d8c493f6d42e482b0f32e4f244dd100ea08eee6535e5bb8d27f76dbb7eead6ba8e031ccd0eaeb649edee92aeaf0f027d59efd4e39b1f34b15ceb8b592ee0f171b1773b308c0e747790b0e6ace90fc661caa5f942bdc197067f28fbe87d1":"2ddda790aae2ca427f5fb032c29673e6":"":"0b92262759897f4bd5624a891187eba6040d79322a2a5a60fb75c6c6a5badd117abe40c6d963931bbc72dca1a1bf1f5388030fe323b3b24bd408334b95908177fb59af57c5cc6b31825bc7097eec7fec19f9cdb41c0264fd22f71893bcf881c1510feb8057e64880f1ea2df8dc60bb300fd06b0a582f7be534e522caadc4a2c7":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"23c201968def551817f20e49b09dbb5aae0033305bef68a0":"bd2952d215aed5e915d863e7f7696b3e":"23f35fac583897519b94998084ad6d77666e13595109e874625bc6ccc6d0c7816a62d64b02e670fa664e3bb52c276b1bafbeb44e5f9cc3ae028daf1d787344482f31fce5d2800020732b381a8b11c6837f428204b7ed2f4c4810067f2d4da99987b66e6525fc6b9217a8f6933f1681b7cfa857e102f616a7c84adc2f676e3a8f":"77bc8af42d1b64ee39012df5fc33c554af32bfef6d9182804dcfe370dfc4b9d059bdbc55f6ba4eacb8e3a491d96a65360d790864ba60acf1a605f6b28a6591513ea3cfd768ff47aee242a8e9bdfac399b452231bfd59d81c9b91f8dc589ad751d8f9fdad01dd00631f0cb51cb0248332f24194b577e5571ceb5c037a6d0bcfe8":"bb9ba3a9ac7d63e67bd78d71dc3133b3":"":"17d93c921009c6b0b3ecf243d08b701422983f2dcaec9c8d7604a2d5565ed96ce5cddcb183cd5882f8d61d3202c9015d207fed16a4c1195ba712428c727601135315fc504e80c253c3a2e4a5593fc6c4a206edce1fd7104e8a888385bbb396d3cdf1eb2b2aa4d0c9e45451e99550d9cfa05aafe6e7b5319c73c33fd6f98db3c5":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6baec0669add30acb8f678ce477a2b171f89d1f41935c491":"b1472f92f552ca0d62496b8fa622c569":"5ae64edf11b4dbc7294d3d01bc9faf310dc08a92b28e664e0a7525f938d32ef033033f1de8931f39a58df0eabc8784423f0a6355efcff008cae62c1d8e5b7baefd360a5a2aa1b7068522faf8e437e6419be305ada05715bf21d73bd227531fea4bc31a6ce1662aec49f1961ee28e33ae00eb20013fd84b51cfe0d5adbdaff592":"5712b84c4c97d75f84edd50561bc1d3f1ba451cc3b358b2403b5e528290954348cf7a235b4dc11a72ddbc503191204e98a9744d85419508c8ca76438c13305f716f1e239a6d9f6423c27217a0057aa75f6d7e2fb356e7194f271459ab5482589ea311b33e3d3845952ff4067dd2b9bcc2e8f83630b0a219e904040abd643d839":"29a2d607b2d2d9c96d093000b401a94f":"":"beb687f062ae7f5159d07609dd58d7b81c478d180bc0b4c07ae799626ff1da2be2e0d78b2a2a1f563257f161491a5ac500cd719da6379e30d0f6d0a7a33203381e058f487fc60989923afbee76e703c03abc73bb01bd262ff6f0ac931f771e9b4f2980e7d8c0a9e939fa6e1094796894f2c78f453e4abe64cb285016435ef0e8":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"7b882a2df81fdb9275fb05d120f32417e8ffedd07457e938":"5c064d3418b89388fb21c61d8c74d2c5":"5bfa7113d34e00f34713cf07c386d055e889bb42d7f6c8631ffce5668e98cb19bed8820b90ecb2b35df7134f975700347e5514287cfef7ffa2b0ff48b1de0769b03dca6610995d67cb80052cb2e5914eb4ed43ef5861f4b9364314fde6ad2b82fbba7fd849dfa6e46ecc12edc8cabfff28d9bd23c2bcc8ab3661c9ba4d5fee06":"0aae7213da279b34d6dcf2a691b2d0333112ea22de0c3c68d47cf9f9f4ed8ad4e03d4a60ec18c3a04ac9c2abb73e1023051029b5e8705bb69c4c50afc84deb0379db5077be1f663652f8bd8958271af2c1ac4a87e08cb526bab8a030652f2a29af8055d0f31e35475caee27f84c156ef8642e5bfef89192f5bde3c54279ffe06":"0943abb85adee47741540900cc833f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"51d94d21482c00bb5bc7e7e03aa017ba58f5a23494b72c2a":"fb21cd763e6f25540f8ad455deaccdf0":"019d1db5569eeff83306f65d653b01064854c1be8446cd2516336667c6557e7844fc349adea64a12dc19ac7e8e40b0520a48fac64571a93d669045607085ac9fa78fed99bbf644908d7763fe5f7f503947a9fe8661b7c6aef8da101acca0aed758ca1580eeb2f26ae3bf2de06ce8827a91a694179991a993cdf814efbcc61ca5":"3a9c69c1ed2340bfde1495658dbf4f54731a19b3922a1d535df8d0b2582f5e803b5891e8ad1aa256c923956dcda2430d0c0696bce63295fb61183e040566e459338f908d23ae51f64020c1ef3d192428f23312b285fc4111d50d1add58f4a49008a22c90d3365230e9158cd56f9d84f079bdd673555d4dc76c74b02fa9920e7d":"a93bd682b57e1d1bf4af97e93b8927":"":"7093f44703f2cbb3d12d9872b07a8cd44deb62dae48bc573b11a1ee1c9f3105223423fac3181c312a8a61757a432d92719f486c21e311b840aa63cf530710c873df27fecda0956075923f1ecc39bffb862706f48bde2de15612930fc8630d2036e9e4cfc1c69779171bd23d9e1d5de50a9e0a0de4bd82ed3efc45299980bb4cc":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"e6756470937f5d9af76f2abe6df2d0bc15ff8e39b5154071":"4500193711a5d817a9f48deafda39772":"92fa22dba0eee6b1de1ddd24713b1be44c7105df90e6e7a54dcbf19025e560eb4986ee080cf613898a1a69d5ab460a3b8aa2723a95ac4a4af48224b011b55fb7582ae18f6746591eab2bd33d82a8dbbae3f7877e28afef9857a623530b31d8198b2df43f903d6e48ddae0848741f9eaae7b5504c67ad13791818f3c55c9b3d1e":"afae92bd56c426c095d76633701aa9bea5ce05490482c6c64ac24468c3e1af6e6030a6bb6649745b011c6729bde985b9242e22105322fbb8853dcabbd00165d0b07d7b499e0238b6513bf6351eb40635a798f7e6e2d31125dda45ffe8964596fdbff55df22d4e9025bd4f39e7c9b90e74b3ee58d6901f113900ee47a4df5afd7":"7d9f97c97c3424c79966f5b45af090":"":"62258d60f0138c0405df4b2ec1e308b374603a9eace45932fdc2999e9e2261de8b1099473d1fc741c46c334023aa5d9359f7ef966240aaf7e310d874b5956fd180fb1124cbeb91cf86020c78a1a0335f5f029bd34677dd2d5076482f3b3e85808f54998f4bac8b8fa968febceec3458fb882fc0530271f144fb3e2ab8c1a6289":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"30db73d46b518669c45b81bc67b93bed3d0864f7e9e8e789":"5069e2d2f82b36de8c2eb171f301135d":"ef781dce556b84188adee2b6e1d64dac2751dd8592abc6c72af7b998dfae40cbe692a4cae0b4aa2c95910e270600550fca1e83640c64efb1eb0e0a90a6fc475ae1db863a64ce9cc272f00abac8a63d48dd9f1c0a5f4586224befed05be4afae5bd92249833d565cc6b65fd8955cb8a7d7bd9f4b6a229e3881212871a52c15d1c":"750bc1d2f91d786bb1e621192a376f552538ba8c07d50d9e10b9345f31b3e5f9d8ad7c719c03d8548a3b184b741cd06c49d7fb6fe80258d60c01c2987c337c823211cee7c1cf82077266889bc7767475e0eeabb2ef6b5a1de2089aaef77565d40a1c2c470a880c911e77a186eacca173b25970574f05c0bdcd5428b39b52af7f":"a5100c5e9a16aedf0e1bd8604335":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"209f0478f1a62cb54c551181cbd4d24b796e95f3a06b6cb9":"7be1768f6ffb31599eb6def7d1daa41c":"9cb49357536ebe087e1475a5387907a9e51ad1550697f13c6cc04384ec8a67dea13376bdd5e26b815c84a78f921b506b9e2086de50f849185f05ba7c3041e49e42c0673df856da109a78b8e0ce918c25836f7e781e6b16168e4e5976d27ebc83f20b7bf4beadecb9b4f17a7a0d3a3db27fc65288a754b5031a2f5a1394801e6e":"66db7cc97b4a8266c0a2228e8028e38d8986e79fcbcc3caff3050fdd2de87b7ff7a6895b988b0bdb7fcc4d6e2d538dcfaad43ce2f98b6d32500f5a6e6183d84cb19157a699cdde1266d6d75a251ee1a2eb97bfe6405d50be2b17a58ba6eafaee0a023a28d568fd1c914f06041a49c79b9df9efe63d56883cbbbeaba809273d2e":"4d2ac05bfd4b59b15a6f70ea7cd0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1bfa30b315e7b908263330140fa2d66ed57104784a43cc70":"b7081a3010b524218390ba6dd460a1ec":"8c1f42b5931d69ae351fcde7d2b4136d4898a4fa8ba62d55cef721dadf19beaabf9d1900bdf2e58ee568b808684eecbf7aa3c890f65c54b967b94484be082193b2d8393007389abaa9debbb49d727a2ac16b4dab2c8f276840e9c65a47974d9b04f2e63adf38b6aad763f0d7cdb2c3d58691adde6e51e0a85093a4c4944f5bf2":"8eeee9865e23fa51dbbf197fa41776b7edbdb9381a22c935299cd959a46190788ae82f4e645b0362df89bfc00241964784bc7ef70f6f97e81687d52e552a33af20ae34a3005e0a7b85d094368d707c3c4cd3ef31c0daf3ccaa1676609ed199327f4139d0c120977e6babceed28896d2cb3129630f3ee135572dc39433057e26a":"4da85b8ec861dd8be54787bb83f1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fc47156a693e59a1dea0618c41441fe669fc65dcfb7d0726":"ea1935ed014883cc427983d7962d9992":"0d85b8513becfe8c91d0f6ffb65ec31f2cf406c51c0da88893c43d1327fd8ad1f4bab2d7b5e27438d643397034a72f8666bf641b6781bc90f764db387eae6720b5723d510194570ccd773e1b3bebfc333cc099d078583e8dac60d174d332925a24a45110c8d2abe8924ea677ac74db66ea789e2838efc96c78bceaa6236c0a67":"3e4f0a586bad532a08c8863ebba01fd25014baa907e6032ee43d4a7dfc7c3171916dcdf9faee0531f27527872ae4e127b6b9aaee93f5e74d0ab23f3874aa0e291564bc97f17085dd7d5eb9a85d9f44574e5952929eda08863b64c85dd395c91b01fe5bef66e3fa8f9ee5bf62c25d80dc84fbe002ecfd218430b26f3549f734a1":"8781b045a509c4239b9f44624e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b5fcd780a03ba80341081ef96b440c0e4348afde4d60c1d5":"ad20cce056e74ec5d0a76d6280998f15":"28f8fcf23b9c1ba40c19ffc1092632e35f234c1e8b82bcd5309d37bf849a2ce401413d1f242cf255ed597f9a93a1d6e50676997f95aa612e580d88234a86ddc404292746f0b2f5cf15abebcea6659f998ec6a1cb5a9914fee5aa1aa5d04b3c20914e45095e4141ce9c173653dd91c3ebe4ed4a9a28f3915d7b2edba34c2a58d8":"6316f3beb32f6f3bf8f2ff6a2c160b432bafd3036d3eefa1e4ec204f24892e37dc4d75c7ce9a24b5c49fb4df901f35ef9d5955f7dc289c56cb74753f4d6b2982267d5269d12237e21202a65061849c65e90e6702dda03a35ace3a3a098d16b4bfbb85b7232404baee37776a9b51af6b3059a5f170f4ebe4ecf11061ca3c1f1f3":"2ad4520ddc3b907414d934cc1d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4382507dddccf1385fc831da8924147563416d0656e168ec":"a37687c9cd4bdc1ead4e6b8f78bee7f5":"fa9ae30509cbb6fe104c21480ae7b8ec9f12f1afb17320d77b77cdf32ce8c5a3f7f927e501118c7ccd6975b79225059cef530a4fcb0a9719f5e2d3bebe7bb6ec0855e495a31e5075eb50aa6c1227e48b03e3fdf780084ac4912eb3a5674cca9dd6ac037366b230ae631a8580d2d117942dee5d5ddbbb2233afeca53289cc4f68":"e5c5430b960aa35dc8540215c2772d66811270859e33dd4477904759e7e5eb2986a52a4ccc9f592e614147b5ea2ead6636a15c6426336b2995d9a31ab36d76578c3540bc6693842a4bc0491c7963ee9cda2317951cf93244bd30bcdfec69a4767004636fe7d1be7300c35e80627bab9236a075a803e9e1080b9159060c643a78":"4221818d4be45306e205813789":"":"b5b36719bc4d13a5fbf37188ea814cdf3c97a430784330540325c899570e15482300bc82c5b8163074e0544c5132e3ce93bba68bd7a8d2db81d1431b424b697c1158c4d70625666d5ff99145ca34856815c905b5a0fd95806df56b9cd5b384bda3e394b409048eb1037144cc071539c02397e931da28a43cc354d584643afd4f":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"7a66db3450dac9a1e63d2639f34c5c6a3fbfb3c8e8230199":"21f8341529b210ade7f2c6055e13007a":"1699bc8c198ab03e22d9bc4f3682aad335c6e35f3f616bb69769a9d5a202511797e770ae0d8d8528ef7b2bb25b4294d47427b43f0580fa71d93fdef667f4f4196f84e41c0b1978796d0de74a94420fb8571bff39137fa231c572b31be9ae72338288bef5f8c992121dc918538551f346e279a9047df14ec9fc0fd399cd3bd8d8":"6463a7eb2496379bc8a5635541525926a6f9fa718e338221952118ae4cf03a85f2074b4ebaf108b9c725809be1e6309c3a444b66f12286f6ea9d80c3413706b234b26372e8f00783819314a994c9e3ecf6abdd255cbfe01b3865e1390a35dcd2853a3d99ed992e82ec67ba245f088cb090adade74bdbc8a1bad0f06cbea766a6":"4af02b81b26104d1d31e295a":"":"53fe6a34d280f2c96d1ae2b2e8baf6abd67cedf7d214312f75dd4a1bec28a641dda3e71aa398726b2b0b1f515e1f4259ee97acaf17f122db9ec7814c2de6a88d36c3ac106396ad03d337c2cd2d2b9b4b7170e23a5848ca7ea129838f967dfdfe83b45ff2a9be699bfb2346115465d59f074f09e24d8fcbd9ece0018c92776c43":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1f5c818f24d201f9fb23fcca211b0545eee5c5c9b440810d":"3a163067bdd90fce0406d1c198a88771":"a5e94e233d04fe0c4b6c4684b386902fe05096702237dfbe76f73befa69b6f30394cf9fe3358997942df65842748fb4f075a3dc06e147bd8d67fc4371113a4d75c70219257c650a6f38a136659e20a1cf3a119397835c304e0fb2a33aa3c3019175c86463043d5edc6992874f61e81cd0d26af8b62cf8c8626901d4f16d84236":"9a7566817a06f792e96a6a2ba8e0a01f8837e2de06796e68b0782cc54ed0b04fc5e24a1ad37d5ffb035548b882d88150e89915b89f57cde2bf3c43ab9dae356927daef6bd61cc9edd5e1b7a4abea2f71313677f1b2fdf3d8d4a7e9814ea820fbc3e5c83947db961839a985a57ced7f5e4a1efffcfd17a2c806d4cdc1e79162da":"b124eea927e2a62a875494a1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"9a301f7edf83da63bcf37216a3a33d7613331c3210281dd7":"d73a546b0fa307633ac89506fa86138b":"f57fe548cf4a551a216ffb24a1dcf1b79c95f9abf06443fd58af042d287c2165db373c82a94172db517840f22e45e966e3ead91ce1ddad132bcb844e406e84b76a0b5b0ee23064b66a229f32a2d3b9c71103f020c4ba57fc0f0608b7114914cf2ada0c5a9bc4afbfa9ce5da320f34beb2211d569a142f53bfd262f6d149c4350":"e09cc8543db7804870004706a26e94b457c125bd648b581a196f962f2ae8fa55d9bc66530ba5020e22d282080b4720dc9a2096a11c0fcc3d9a67cd1cf95cd7cd2417ba308c761e64be24347a14c9423447094a5c72a0043c288b35e753ba0aa748f208381249fb1c8d195a472192404b6c8172663ee4b4d4ecfa426e1fb003f2":"f536a3b8c333b1aa520d6440":"":"124a327a8c22b7652886dac2c84b8997ca8a6f61c9ba9c094b5aea41eaa050a6df6cbf280259e5466071bcfa53b4ebc76c3cc4afc8c0385189a5382933aa57c89aab78dca84331e0fe8f0aab3a7857d3e13f08dcd90ec5f0684f82088ef8eb7fd67e75de43b67afc3a0beb458f5ebd61b2c779e6c539d795c667bb7dcc2b762e":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fd40e8226fd13cb95ba50b7cdf0f07f7ab7037cf8705ca50":"3406e70cbe16b047fedaa537eb892279":"390b18d22d5ecc0b5a524ae9afac6fd948ac72d1360775a88b385aa862cce8a27f3e4b420e539bec6e8958f8c1b5416c313fa0a16f921149a2bfeae29ad2348949b29a73970e5be925ec0c35218b82a020cf21bb68c6931f86b29e01b85500a73f3ee7eb78da60078f42550da83b2e301d151d69b273a050f89e57dfc4787cbf":"75aa7df5c3c443d48ee998064b6fd112c20d2d90c98e00d025ef08d1ad3595385be99de47fa627549b827c48bc79eb1dcaf2f1be95a45f7e55755b952aee5ae0748e68bee1b014a628f3f7dc88e0ebac1d1d00e268355f5101838ce125c57003aebc02a1c9d6ae2cd6e2592f52c0be38cef21a680ae35c909cab99dce9837aef":"69e06c72ead69501":"":"6e8d661cd320b1b39f8494836fcf738b0ab82873d3903c9ee34d74f618aea36099926b54c1589225ec9a9d48ca53657f10d9289c31f199c37c48fb9cbe1cda1e790aaeedf73871f66a3761625cca3c4f642bc4f254868f6b903e80ceeeb015569ace23376567d3712ad16d1289dc504f15d9b2751b23e7722b9e6d8e0827859f":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a85ab87563b809b01725764d64ba4cc6a143e2e0362f0c52":"9f991ff16a3e3eb164a4f819c9f1821a":"df289511f78d8fa2505afc4c71ab1d7c31a8d15d1e5fcbb29d70f0e56f89c4d7b30f1b3b4745b5d2cc7af34fb4c95461372bf516ec192b400dc8fdb0ca9fe1f30f5320d0fadf20155cfcddcf09233c6f591c1c89917e38a003f56b94a1e2429d1f2b6297db790d7dce84d9fa13d2d86a0e4d100e154050b07178bee4cdf18126":"ef43629721b50bd3656b7ae31b6e4b4ba1cf2c72ed0460ee7d9fb416631ddc597e5f9aebbcf4442b95cc46e28476a464dd87caf9c1c1d6c99d3e3e059dc23f8d2fe155ff5e59c50d640bc052c62adee3aa1295b38732e3458f379e98a8dbdfed04c22a5761792e87fa67ecbcbf3b90eb1bcd1d3f49e60132452f28afece83e90":"dc4c97fe8cc53350":"":"ff0e531c7344f0425d62d5fbedf4bc8d3d5cc80647e67b852c1a58ad1516d376d954cb8dda739f6a4df3cf1507e59696610bcb6b34340d6313028e00d7197845d392e73331aaf168b474a67364d8f9dab740509fabf92af75045f0afabc1b5829264d138820952bbc484d1100d058a4de32b4ece82746b2b4a85fb2993d4add8":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f4f1e03abb927ffd0b081b9dce83a56a6dd419a6313ac34f":"d1e29bb51a3c4e871d15bb0cd86257e2":"ae2911cdaaad1194c5d7868b6d8f30287105df132eb0cecca14b6e23ec7ac39cc01da1c567a0219cca7b902cc2e825e30f9524a473eb6e1d4d1beff5ab4f29103b2c7522a33dd33182fa955c4f09a75196b1072a6f0340fc55a802d29c7067f05219c21857ebff89ada11f648c1f28dfbfdaab56028f05509de17e2381457ebc":"0e70421499bc4bcb3851afa34cdf5be374722815abdd9bcee5f332dbe890bdc1c0210ab10667e5bb924bf3c1120e25a0c074da620076f143940989e222086d1b34a1200d09aea1f810ef6de7d8520c65eef9539fde5a6422606c588fce6264e5f91f934ede6397c4b307d2d7e07a518fce577a427fa92923cbba637ae495afad":"44f760787f7bc3c0":"":"2199fa5051461b67581429ab19de2ccb50b8b02e12c0e1d81a8a14929f84e09d9715b7d198e77e632de4af1c08c5041276204a7ed76646385e288e96e1a4b0b0f2b1a9df7f0892beaea3cb58d9632720158f6daa4cbbfc0ebdc56ff6a5175768ff2abd24cb7669bc3fe40f8aba7869d2dd7dac86b6ebc4e4ce261edbec88db17":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"33efe20433c6a1ad261a1fed494961749e5bf9d35809b59d":"dc94673b0c49c6d3b4611e278212c748":"919f7397a6d03836423b7cac53177fcfbe457d4aa4348646f646aae1bc5a15568cdb8c96fabef278ace248aca531110a4f4f9e8ab0c32525ad816ae3facf03175232dc84addcd6065f9cc1f513966b63fd27e91a09f1921b95d6bd8f08f1dbce073bcf827847f774514b478b9d7fb5426847dd4dee6f39b5768c1fb729b32d03":"cfbeb61be50def25f513346498f75984bfe797a8ad56be34f2461e2d673f6ce14e7479a59777267b75dadc6b9522599ebe5d7b079495a58ca187ec47796f6ee8c322278ad7451b038c938928adcff6105a8ea3780aedc45b6a3323d3ae6fbce5da4fb59ca5ec0a16a70494c3c4859672348532505e44f915e0b9b8a296ef5225":"c5098340":"":"c5e47d8c60b04df1974b68a14095d9bc8429a413d21960b15bae4fd7356bf7872e0da0a1a385ca2982d3aa3182e63ea4bb8ca01410cd4e71ddad34aa1f12c1387902b3d56634f89c619a2e6756648ab3bf90e9bc945afc9140eb935b633bae96bb067e9ee421697bcf80b14b1b88dbf13e010b472a7ca5411db36848b9c7a37f":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3ed5dadefa0f6d14fedd1a3cdbab109f6660896a952ac5ab":"553a14f1e1619f9d7bd07cd823961f25":"eb8ea81d3e328a1113942cd5efd0f2b5e7f088791c8fc05690a34584101c4d493628ee7d0099a2865ac194b9124c3fb924de0c4428d0a1c26ea3ad9a0bc89187a16673e3b6f7e370dfb2dc26e8a56a9cf91f9c2088c020a766efe0d0c91689743a603f2cd1e300a6a84828b3b515a4b9a06e6bb20457bf124cd6ce4ac8b83d51":"aef617f69724e020309ec39d9587520efda68a8e303686c3a41ef700cba05b7c6e43e95aadb1a566f61650c87845835e789eb2366941e3bfef6d9846af0e0dbc43249117ad6f299bbc40669ac383cdf79289ada6ccd8ccfe329a0dc6a38eea1a99550457102d10f641cda50c21f533b1f981663f74a0a7c657c04d9fc6696ff4":"dc413c4c":"":"bc1f34991a48aabb0fea513f790f0d223e9feac4c99fa1e8427f01ab8b4b2827cfaf239342de36051a846af0306a3f82e7aed98dd0416fb078bc7f3b617b00ceb2cea4ddafc22dd022efa8303e9804510e0e888065d8427345156d823f796f74130c06db9f9934435552b4fefd051953e20ecba3a4514ac121d7d2097d597439":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6d97e8bff3923a778504fb917dbc1428a1328587047697d9":"0c28dc4cd53725091c2fb68a476c2e40":"f3932f5e82d75a1e3eba1591c17769e1a45819ccf057c31e76fa810b93678766d25905e859775c244e96bcafbc75c4a2d95e7d02868ccb2f65e49276f0b645ac8cf6e3758402304a3c25ce2de0a49f401b1acadaff8b57589b45cc79130ddc8387f41cc383e33ef38eec019152051c756198d6f782ccf56297b9fe944269a65a":"dc1a81efd51e967767f5bdd7e2e425732c1d28451f2bf5bdf3f5a6492279330594d360dd8a193e5dbde1be49bf143a35c38bcd059f762ada65c5119e097f0976891347f4d829b087bd72daa3494b344cbd3370c4459ca243bd57aeda4cb86cdd0bf274f07830cdbf5e5be4eb9b742ddffef8aa35626d2b9ea0a29d3c3d058b28":"e6d6df7a":"":"39327836e9d8cfb59397adcf045a85644c52c3563290795811f26350c8bce8f55ca779cbcd15479efd8144b8a39ef611153955c70bf3a7da9d4d944c2407a0d735784fcb68de1083eebf6940ebc9cf92f9f139c01404b503ff64e61126a94e881351473507884357040fd32714b872c254349071069644e2bd642905521b944e":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2c78e29971e90a01bb65973f81260b9344fa835751f5f142":"f1a23ce6e2bc9088a62c887abecd30ae":"":"":"d4d5c22f993c8c610145fcbe4e021687":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"8c582d5b6a40ef0e4048ec20f0263572d7cc82704e380851":"ef221a1c66fda17906190b7c99ab60b8":"":"":"6327dcb46ffb3d0fd8fbf3d2848a8f01":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3a58abadd29e946e23ca9eb09af059913d5394971bda6a4f":"7c29b3196d44df78fa514a1967fcd3a6":"":"":"fc123944bbea6c5075a5f987aed9cf99":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"04bdde4c35c385783715d8a883640851b860ce0e8436ec19":"783f9a3c36b6d0c9fd57c15105316535":"":"":"23e21a803cac5237777014686564f2":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4ba5fba0c22fbe10c2d1690c5d99938522de9c5186721bac":"2acc2073089a34d4651eee39a262e8ae":"":"":"7ac742c859a02a543b50464c66dcf5":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f12890b0a8819faa5a8e0e487f7f064af42fa6d5519d009f":"c937615675738f4b3227c799833d1e61":"":"":"88300bd65b12dcb341f1f6d8a15584":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"51878f3630298a81297f4a21514fea637faa3815d4f26fae":"1f939226feab012dabfc2193637d15b1":"":"":"eed5fcb7607c038b354746d91c5b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ae596e74840a600556a06f97b13b89e38f67c152f1a1b930":"e2076e1050070d468659885ea77e88d0":"":"":"b4586bdbd4b6b899648f2333eee0":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fd33b7a0efae34339ca987b5eb8075385fd1276e63cc8530":"2d07bb8616fc0bbb71755a1bd256e7fb":"":"":"6b60d645220cfde42d88296ac193":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5685b12a6617d554c36b62af5b8ff2239cb3ffb1d2c40e14":"6c31194df99d08881fa5b1dd33b45a92":"":"":"69431593c376c9f8052bf10747":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"036ae037410dae9f0741608516d03b855c9c1851df8c54a4":"73599275f8237f14c4a52b283c07275d":"":"":"6f7249d25c9f273434c4720275":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ac144f39ebd6124bad85c9c7fb4f75bff389ece2e8085d83":"d0871bfc3693245be478e6a257c79efb":"":"":"5a99d59631d0e12f58b7b95ccd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a8a541ff11a1b8548e832d9e015edeccc94b87dadc156065":"c72bb300b624c27cded863eba56e7587":"":"":"ea2528e7439be2ed0a0d6b2a":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"30dd8f400335e9c688e13cc0b1007bd21736a6d395d152e2":"28899601fa95f532b030f11bbeb87011":"":"":"35625638589bb7f6ccdb0222":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"cb8f672b04d706d7d4125d6830fff5d2ec069569bea050ce":"375d4134e8649367f4db9bdb07aa8594":"":"":"70610bf329683e15ecf8c79f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"bf71e5b1cd6eb363ecd89a4958675a1166c10749e1ff1f44":"9f502fb5ac90ff5f5616dd1fa837387d":"":"":"a4b5138122e1209d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5b9d1dfb2303b66848e363793bdca0e5ada8599cb2c09e24":"2ee96384dd29f8a4c4a6102549a026ab":"":"":"3b33a10189338c3b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a35ae271f70ebacb28173b37b921f5abcad1712a1cf5d5db":"8d97f354564d8185b57f7727626850a0":"":"":"813d2f98a760130c":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"9bdd0cb826d5d28c2ab9777d5a0c1558e7c8227c53ed4c4f":"daf13501a47ee73c0197d8b774eec399":"":"":"a6d108c0":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"81b4d5ee4e1cbee1d8966fb3946409e6e64319a4b83231f5":"bc2f9320d6b62eea29ebc9cf7fc9f04a":"":"":"a47cdadd":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"5813627d26d568dfe5a0f8184cf561fe455eb98b98841fe0":"817199254a912880405c9729d75ed391":"":"":"d81d9b41":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"94f160e2325da2330fbe4e15910d33c2014f01ace58e5b24":"80a1b99750980bf2be84a17032fc2721":"066fdd980cf043a732403ee5f65c82ca81e3fc858ad3cfa343014a8426fd3806770f127e2041efb42e31506ce83390ac5d76de2fe1806df24ce6e4bb894972a107ef99e51e4acfb0e325ab053f9824514b5941ab1ec598fbb57a5d18ed34d72992a19215d914e34ad1a22326e493d1ff2da7bc271c96ad3ab66d0c32bd711293":"":"dd153cfd7aa946280660c445f586fa28":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4785846f7c0524e78f3eb137fd433e1808af64549af69183":"5334476a5fa3fa50dcc4b12f8ac00b51":"e70f82d1e3361ac5a5c9a087e47984d5533ba296f9b7e4a192a4ab28a833cdbbd5cece3415cf6fbb2f8055560b5c31c98d83d139954e1c03a464739f1eb5ad982c4371cf20b8984bbd97d5f40b336f5e96df3d272b95f7547be15c3bc05b3caac7d08c5eb5de8bdd246e74f6caa6bff76ea0417730ce72b911867f88fdcf73a0":"":"c59231ddaae98e0e8db6b3fe8f4d3427":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"49b085fe1a8e1ae769ed09fc585d29eb24d589689992e6c5":"899878b0684fb865d30190821817b88c":"f789eafe3d02826b619ca4fbca7bb1919e5c6f7c33824a2f7f815dc50e329979705f7ef61e9adf7899d34f1b8840384ff62ef6d29eea38c45d12be9249aca69a02222cd744d81958c6816304ff0d81d6714a2023b3dd9d940db5c50afd89c52774d28d6afde2b6c68425b6acbe34682531a2e57e2b9a7729b3e8d96a729b15cc":"":"2c84bf7a8947ab93b10ae408243b4993":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"75847588760ecb6ca548747b743914c89fea367a5ccb81b6":"7d8a9fd254e2061c01e39eb574951924":"b03c57dfd49152401a225357f1d6e533f3a423e5cfce07b8ae7ca9daf68645e5bd67b3ca2421eac447530b27c6dc6bd9c7f1b22441b8cc8c4ac26cec2c9c0d665a35b66d779a3772d714f802d6b6272984808d0740344b6abdb63e626ef4e1ab0469da521c7908b2c95a0fd07437c0e9d4d2451ae189ad61ff19f4efb405127c":"":"e8aac14b53cdbc2028d330fc8d92a7":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"e3a18a96d2e45d2f60780dc39cee7160e28cb810bf09858c":"26a4d659665ded39b7a1583de756d0ad":"83f8d9c58169b4c68032321197077ff5c8ee4ebb732b040748e1b55dcf53375ae86fb9646a672b5c5bc805a92c475cbb6d0ed689a58abdf2230250a7d3fbd8cfab07835fa85e738a7f74bc3e93616d844b1ec61b79f23dfea62e1815f295d43f61d7b5956103b31ca88afb0b3d37eb42cf77232dbf2258065232971c397dcbcb":"":"dc034564d4be7de243ff059b5f9160":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"7be3909170ea7a2ff76f9f28241d8cc48ddeafa8517c6f8c":"8dee7e29350c60c5bcfec89da6617d2e":"f6e9e7a7f9716760eb43060d5c80236a0f118b0f750ebd5df01fd2dba95c556ecd2e54a3f337767321abf569c8137a8e48c5b44037ba62951e9f9f709e6e4540a36d769f3945d01a20a2ed1891c415a16d95cab7ddf9bcebf18842c830067509a2a5d49a9684324c433d53824d2f8fd326b149af17f40e5bf5e49185738fba60":"":"942b52277e9dc0a30d737d00f5e597":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1fe413bafc4753e1511b580c830449bee56e0e5b9acb852c":"e30829f64f3eda13bfb2ac572aceb3de":"6c772d08b4d7507e35804572fa697c646c77301954cc5c160941e49e230697ed8c23338b9f30c3ead69b1c1a2329ff025dcd3c0d0a9cc83fee4979448aa71ddb9d569bedc8c497a2a4ac3b60d087d7872f0a110bf90493ae7da03b0953734223156cd2d6c562e4a978a6dd5cdb229dd58dd4d0f50ac015f2f5e89dac4aa29a19":"":"87737873b82586bb29b406946cae":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b4bc4378d423931f9b320bb57df584c641406c1daa7448ad":"eca70e10c0358838a3f4a45c4b016ccd":"68d1c045c1604e3c3dd4f7c7543240aca8dbc5266dc18c5a8071e8b09e3700b7cf819044b2722d8db92021f42a0afb295d7b16ecf4e4704a50a527a2e72d7f53617c358e3b7be3d7fecda612ce6842fcfaa68f2d1b8a59d8b8391779f2fab99f820862c94029f444abe62367c5de0a4becc359660e4a5366f7d482bdc362b866":"":"06f95ca69c222a8985887925b15e":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1cd4414ffd24e830e2dc49727efa592e430a6a75391cf111":"a08e32ad7d63f975de314ad2c0fa13fc":"20a271f1f4c6bea8f1584ab39a7179ec448650e2ff67a7338d1bc9fab7f73b2ce5222cd07ded947d135d9d0670dc368f0a4b50ece85cbf641877f9fe0ac6a7e6afb32fdb1b3cd35360bb80cfffc34cfb94dbcbee9ca5be98a0ca846394a135860fba57c6f0125dcb9fb8b61be681ada31a997638ee172525c03dd13171534a91":"":"c68842cafc50070799f7c8acd62a":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"9e0ef9ed5e6f00a721a9893e1f0d9079c5aa667a4cdd2a52":"5f015fd556e87ff0d0df586fb452306d":"b82986135e49e03f6f8f3ce4048ded2e63ee0c31ddc84929e022ee8561159179b3bb4403ebdafdf6beae51ac5bf4abed4dbc251433417ece3228b260eca5134e5390cba49a0b6fcbbbabb085378374e4e671d9ba265298e9864bfce256884247c36f9bddceb79b6a3e700cb3dd40088ba7bb6ab6aa11b6be261a7e5348f4a7d1":"":"ec9a79a88a164e1a6253d8312e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"9bc8f15d98e089d60d4db00808700053f78b33c31652c3e4":"5cc0ff9bb7d5b9b2aa06f6ecf669d5bb":"24ac95a6ed2f78853f9ab20f53de47e7f662f72aea454141e2131aace7ed2daeb395bbccdbf004e23ce04ad85909f30151b6526c1ce7934726f99997bbab27055b379e5e43b80ad546e2d1655d1adad4cbe51282643bb4df086deb1b48c1bd3ac3b53c4a406be2687174028ecf7e7976e5c7a11c9a3827813ade32baef9f15ec":"":"9779b7c3ece6c23d5813e243ec":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"19afc43a4481f796d77561f80b5b2e1514c96c5d1d86e64c":"d4c06595fefd4a81bbbd4b40c2e1989d":"98fcca51352998d0126b5539e3fb9a238ac31c05954fc206d381909aee70983b6ab99d3f3efe8530a1c3cfe3b62756321b1d0771a5940055eba1e71fa64f29291aa5e5b0af0fcc8e6f5a02688d9e93417225eded791a35217822ffb346d3fa2809b65abe729448316be30cf661137d3c0e49846cb0df598d90eda545afb64a5e":"":"ca82448429106009094c21d70b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b4fc31dcfef6203fdb296cc928c13b7df56bfe6f32583057":"6308a78dc8f3c90442dc52196649c38e":"2567d80c253b080c0158102558551445d8ce4d5ddee2014a2be5cbad62e1717a0fd4d2059447c3151192951eb11a4a7b19a952f6ba261c87f10f4c9032028de3cc5a2a573a4e993a690fc8954daa3ec92743e7343e75b646c4fa9cbc3fceb4f5d59bb439c23754c4d9666fbc16c90c0cac91679b6ad1bfe5dcf6bd1a8a67c6b5":"":"9d1603799e2485a03e7b05a0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"1c2d9412486c381440213e1588b6bb58b0da53300b9d3089":"727ed8846daab874d5a9918b47d016f4":"656430f0c1423018b5e2efbb1e32a5385c1a9a1779c4dbd585dea91edc39ea8752ebfc2d8064251a8a5ae71e1845f24a7e42c6371c2ecb31e2229d5f4923bffc21d4804575a84836f3cf90ec6047bb360b558a41a975ece111b5284dfa2441705a6df54fc66ca6cc1af9163ecc46902fac337d5f67f563fde8e8e7e64b8588b7":"":"05ee6ce13711535864674a5b":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"abf7a97569427225a4bd5143c716a22e62f84c145bb51511":"e255088cdfe8ae5c9fea86d74d2f1b7d":"b850993300f54d078f83ceb9aef7345bbf758f92365b6625c210f61dad4f2a2319f51d883a383a706392d3dfca1706eba585a6fac8bd4294c0bb2cb3f6b454d5c97819e8e5c926754840261b07ec4ef1f87cf281d75c187839689944230306e1903047915e086043990745864819ad713d34a244aa4e9d755fdb137105d7eed8":"":"0c9c17388d0610f99d0a093f":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"45a6df655e88bc880acff41520aafd0cc8aa8aeb8952fd06":"1125e1de94970c9e7be70e58e7626ef4":"fe9838a445b8edef19b3e9f33c8c0c265b3a12c97b8ec57ceb94f65ae5227177de38f1e338dccb2b24e5bd0f0eb8127f83eba0f1ddfa55198789df0cdd1d977fcb985ad9c7d51b96e749d2cf3cc7a1ec4dfcbc641a1a022d55def328e081af890a7e699f2dbafdf506389e045aa1219239d5868ba675a3925602b6fb6f6e6d37":"":"1c3bd1e0d4918e36":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"279f4f2ab4b70778fdb9ca7800cd20e323601d7aa2c75366":"0f7b402560735cf03d5da58de5b6c685":"7dd9a8c848bbcf5127161c8a419a436a0dad559f7c1613cdf41594e177016acb1ccf44be852185c42e7120902a42efe83855995ab52cf5c190d499fcfd698c671fd72949dc3ea7ddb874e586a3aa455a021cec7b5f8608462ca66f926aba76e60a5846d4eb204155cd3c1328da51ba35c3007b8bb394f34e3a8b81ddd2ea1115":"":"dab612351f75e2cb":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6716ab937755684af7403e6fba5452c1b11568a9047bb50f":"2fd5a446dd564619ef75b6e00905ffe0":"20d261d3192996c21da69e979c26f5f937e6ea4cb7b05c6ef556ce4d86ca0fe85ec2425d274c43b5212fe9d27bb48b04e887461a9f45f524059b87eaea2e287a8d4537f338b0212012a9d4b6610e8c97dd554e0b3c3133e05c14d0ddab3524c93fd527e223b1996b4cff0a4a7438f1d54890bf573cd803941b69e5fc6212c5d2":"":"f1d743b7e1b73af5":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"7dc94b5bbd6315ad8d2b67f0c683d10cf456f822a3ebb024":"6f3eedeb57dcf12bfb3cd80849893c90":"ee1ff367f4b23c156e3dccff84ae4bf2b8ecec1fb5ffd25ccaa93b6c6834389bd79655bd4bac75238eb0f65d3603ecc57c8774798309e85b6677e78ed2077b712cf28795d0dc8fee994f97373a82338ef67c62378136a79a990ecbcd6367445e805efa98f9168826e57cb8dd7e7b1d5c89ad98358646fa56dd2a71c40e0275a1":"":"4dc74971":"":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3bbe223e253bf272599e28af6861013ecd0c88710947ed41":"4fbf09ffaffb600f0de38fb12315cab5":"5388146f6479f7b3b280f45655a95b847ee27c734fb2fd91f6c009b1ab1810c772c7435d3221069f9490d251b76e740147906ac1db1c209c175b21aa10881c44fb307d4d2900aa3b1d56fb0edb9f2a58505653a17fee350e12755b9656bc65c78c1593d5cb7178e29f82209caf53e60fddf725f6957cc9718bf410c4a0229ed4":"":"fb845ab7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,0,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"461877813acfe6e9979eab729b52e3d192b3236758bb6563":"6985cf77b75a47a3978dd6412d59200b":"385551854a89ab37063ba0ed911501b3d632153c5c2992e154c0a334bc36620476f11495437b842409e0954f7352cbf288d158bdbbaf72621ea2ce75b708bc276f796c5aa7fd0071e522c5f175a9e7787deef79f6362101aa3607b4588f2e1df7127f617c6073593a1c792b959e201e4a7a43ea8b1c3af026376439ef629266c":"":"c840d994":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"09770f9114120a2c1c3cc416fe0eb8699e07141158a5bdff":"cff291d2364fc06a3a89e867b0e67e56":"":"875e2e5b5c02e0a33e71b678aa29c15ce18ec259cf4b41874893ed3112daa56ff2a7475681b8b3d9028ef184d30658e881c908f3588f69899962074db4ddfc0597f8debb66c8388a1bccf0ffe2cf9f078dc1c93f8191f920754442ad4a325985c62de1a57a25de4e9ed5c2fd0f2c8af33f3b140bac12bf60fdb33e0ec557955b":"81f1eb568d0af29680518df7378ba3e8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4fbf1c785c087ad06b43d4163cf9b9396deffd3712856379":"1c8f41424acaf009996ceaa815b24ad4":"":"96a690e5319c94d94923988025307e543f16fd970aec24524cf9808dc62b093359287251503f4231bf52cd1a16a80bfa82d8f585d96855dc1932f4919a92da2618d6448fc18a234f9acb386ab4ab4a9e38ea341e7c54faceff38c162d74e7fabbca13aadb71e9c8ae6072e7bef4073cf08aa7faaa6d639f98d15bad4ed183ced":"9f3c0349c5a4a740a82d6d63bf00fb17":"":"6100b091e52366fb422251d9b68974b6c666a62a8bb77a1ffd7c7d1ae586a6ee763b84dc11aace02a25af91d194b70b3265ec46872fded54275b7ddb26ee1f20c857328f46a694fb1dce68bcaecbd587ece5b505d658d57d50333e30b639eea1f6537b37c175f62497c6c84e3cfddae214285d2d68d90dd5cd8ce2273d25c8ca":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3e0ce4fb4fe4bb2fdf97b23084ff5671b9b899624184acef":"a950ab0dd84115e3829ab0ad3bbb1193":"":"df89974b1534f0ba262bbea5efe39d8b72820cc8a720cc99520fedbf667515c3f6d8c3e25c72c48c1cff042171df58421741aacb2a49f23167257be7d7004d56b14901b2075eaca85946e9fbf1bbf4ae98227efc62bf255a25dd0402d37c67ba553531c699dd89ff797e7a5b5b9a9aa51e73ca2dacfda0f814152aa8ed8c79f9":"25cfde73e7a29115828dfe1617f8b53e":"":"847b54e176ccc83081cb966efc4b4a3bf7809ce0b4885009f620f61fafcaa78feee91a835ae6c1a942571811108b1e81b4c4ddac46aaff599c14988c9a1fb9f387ab7f1357b581568b7b34e167ac2c8c2b2b8a4df3fd7ad8947a363c1c0cb782ec54b1901e928821cf319669dd77eb37b15c67f13ad787ff74312812731ca3e6":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6be3c66b20e5e66ababbfba1b38e5a716eafce23a1767b69":"3a2acf69bba19f5d1d1947af2cfda781":"":"de1cd978354a499415176f260021abe0a8c5bc34d166f53d20e02e413e1377ce4ef5d7f58337c62251a3b4ddea0dea23c40e5de037fd5dd8a558eb53bffa4e8ce94899afa8284afab503c1a485999a154d23777f9d8a031b7ad5c6d23d6abbe3b775c77876ad50f6bed14ac0b2b88fb19c438e4b7eb03f7d4d3fcca90dd01260":"f826d212f7c1212fb8a8bf23996826":"":"fd1f7b56e5664cf4c91e58f7c50f6c5e98e42ca2e4adcc00348cee6f662b382ad4022da54a47d8faeb9b76a24dfc4f493c27fc0bc421a4648fad7b14b0df95d8752013feb033b1fd971daa2c9a5df898bece6a3b8fa078dd130071df20a68cd0f394be25dcbb3e85bdfa0df4797fa6f01f5f0da7a6e86320207ddb5b3be53ae0":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"d16abb9f5b38d7f5abba9dc36995ce6ce928ed822a07b7c4":"3cd95429c6de1d327b9eb3c45424a87c":"":"e72f29b1fc1dbfc2d93a0f3b79ea4b9806ce9b2c4d490ac5c0c3c793df9dc7df5471e834b84d18afa5a7516f9a6a813a9b65ae2f083a854730547e28a1f60fe97d8dba1d2d433e11847b9bffd8873ec634e64365530c905dd6f274e45c9795ac127a6f356f63cc6c116c5dd8c628e7e17e1fadc58f8452bf21f53c4133198118":"13521236f190f78e75c0897c5fb237":"":"cd8bb97c28df092b6783ef653fd26f2bdc27c442bab0a4c7bee2789f389dcd1b280c0231672721bfbbc939a0449557678ec61ba0afb2e5817e6f7d94387f84ecafbfa1216d65e7f5025f47b0d2905cff7c99adf8306a3d9850c5908be05f87cb1d36a4837dba428aac97d7fbc18e3778f8d81a319259504c87fc94bd0766ed93":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"0bc344b1a4078807e5f53a6e7e1e36fa83108473ae2fb4c2":"bd505fcba464e6e2c58fdf29f5695fb9":"":"8bd73f94c71e3765bc7d17fdc90a9ba6aff9648b46300e4048985fbbd7c60c39c3766f7c524780bfc2296dc11e1132134921760a373104edc376eab6e91e9a60a5c4a5972935df12eadae074722bdc0147c3caf6a62fd449ef37d76b65f6d210283c94ac524cf13186e444d80a70b01e4373cc0462546f1caee6b49e738a742c":"8510fff71bb879f56ea2fe43f6ff50":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c8097398fc21f93eea6a95aa93a3231096817b65520bc549":"776248381941e16908f52d19207881f5":"":"80b0abbaebbd537a0810ed75cd172d29d50f5982e4d01f8664ddb2dfda8f57fa0ed87e64a779a1d7f5e568b6acfdc739572a7176752307b430fb1fa1c3c2c346477cebe7d01b16745ca6c8929a7f446c03ad9a9e8a5a935de78ca6c701e8c1c5e6d2550c42949cf5342fb5ef4c6ab9bb02ace8388b16edf72a1237e5d1d0e820":"7fc4388b2f8eab0f0c2d6a08527e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"76d4bb5694faaf344db83bc6d6c47d56bb6ab52700826f2d":"603977845d82faccb401817ecce6e2fe":"":"9e31fda6a171f0d4a5f2af2c4f827b1312d9dda5d78fa329b8f1b6373b9b29be358601e5bb0d0c615aef4b9e441c811219f1f2ff2d0ab23e0cd829a88b5b615ee72e5e3ea604fa26cc6438ec4c30e90f7348e9116adf8e8efb7498320d2da16679fa546b1aa9afc7720b074c4e48e06862d41428c9e71a4772c2e195a6f36978":"c955a3bc316841be07e406d289c8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a3e5020695587984074d78d9c98b8e1a5719e5f88372740e":"4cd56de54e5140a587be7dfd02d3a39e":"":"c0bfe3b2dc4dad17ec5a7662d86847fb67e582cc0baf469bc9baa7a075d48a8b97521a1072c2798bfbdae5ca3752eda1cb96fe5cf24af989eb77a2948aae3d8b70d83d93f84c49347f788480f34051621c358c03cf8159a70fc72cb8bc02876234ffe76b181da8b22b8796c87b0904da1af46de519c20d8d1b1dc7cc24e39ba5":"1a29527a41330259f918d99d7509":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"afe986ead799727063958e2ce13ca846f76c51605439f839":"f85a95ed10b69623162ab68d1098de94":"":"7c1b354a5bb214bd95147e32d81e658705089c38035d0ea423eb1a5c82f97443c6903d2cf1ba7a007eec7c8ff98b8f82b073d9636a79bd47c7f2f639a8eb4e92076f9ed615766f43ac3a4f1687301ed7d507766605e0e332880ae740ab72e861a2cb6dce1df1ff8be1873d25845ee7c665e712c5bbe029a1788634bce122836c":"3cf1cdb4a4fdc48da78a8b4e81":"":"a7f252ad7983e7083260598051bffd83f40f4d4a8b580cc2388d720a0979dde71549ddcb86b0a62c4964fca591d0982f3a203f2f8884ff4991f17e20f759ea7125ba2bb4d993722f23938994eb2709c850f33ed9889e5a3966f9d7b76add46aedf230e8f417425f9db79ccd46b5660361de7c5d87f71a9d82c491c0c3daaf56c":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2cfaa215841826a977ae6adfdd993346210c49dd04d5d493":"537a4ee307af3072e745570aaaadce34":"":"e8eb3b6edd0ca4201b49a6a83036445aba1a1db040f3e74511363bce769760a9914e05a067f555ca15a57c6e02e66fbe4e04dd8c8db8d6d14ebc01cc7d84a20ff0aacb69bb3679d6b7d9d2e07deda7c2d4fe4c584fe1166e78d21dc56b9cdad93709c03b9145b887f87b4f605f24f989d5e0534fc71a58e8a8619ee99f69e5f5":"df01cffbd3978850e07328e6b8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"128ddc83d2170c403a517615056dceec0d19d6fd7632e738":"5124b410c43d875eca6ce298c45994a7":"":"cfe9f7797ee37bfc4f564419bf2268c964479efa7435970874154432930f3b2736438da4dc9c76200009651340e23044bc9d200a32acfd4df2e1b98b0bae3e9ff9d6e8181d926d2d03f89768edc35b963d341931ac57d2739b270ce254f042b64ceac4b75223b233602c9a4bdc925967b051440c28805d816abe76fc9d593f5a":"56ad9c1653f11a41fd649cccd8":"":"cf91f087fd7faf362caacf4a68cff51ec57b3075563e4ad0955df20b366e92bd75c3762cf4a6f0eb859872667a5c55aa5d94f5ac9479b1b9c9345b50f82379d551506a2ab02b0441b14b28b78a12b38500d703a8c19888fe612d4710eec7cd18c16d6a4b55d3c69760e2bed99efc8b551dbe2ac9b9b64715f87180b8e14d1795":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"98581c28983c4da321ce0c419cc0d476d539e77da513c894":"ff10234524433b871202c2cca6acb194":"":"bdef5b65b5111b29e781a6b71a0160179c52b5bccb1ac5c0377b26cf3f61432f3ccd67633a836357c24b5099db0510a7f8110f59e8227cacd11f17ea1798b5d4d68902ca6c6eccd319fef14545edd135078b38d43b61c9af269fc72f7a209ba7897e4c6dbd21bb71d7e93d2d2426ffa1557cae28e74059d3baf06ba419a47b39":"984943355a7aef15c4fb8033":"":"808e28bfd441cb8890416a757d252c986daa8d607ac9cadd2f4fd29eddbcf3b859ba298e14a4ccefe2c2752b123f87b98d6708fde48faca4bc7dd818a7ea76cfa4357932e59cb6be0e9283bdfb49454b86b9fd04aa8cdef503c65d13fcff42e9cd8f142f8c06cf7daa6d8ef8b9c9d69c39e8afd980048fecf731fd674b2a814b":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"167b8b6df8014c8f3de912b77f5a0c113580aa42d785298f":"49da91e926091a448d57d521cc90f3c0":"":"4f787de12ba907a589edf74c8e7a6cdaaabebddd465a86e170e1efc289240298b516fddc43c7fd9bb1c51720a4455db4dd630b59aebaa82bd578eb3cb19f8b23ee6897c1fefaef820430efa6eb7d6ff04de4d8b079605fb520b0d33e96c28f0cd71983c4ce76c0ea62fd7209d21ec7b416881d545824a73d1f9f8d3323fdb90c":"99198f55f9fa763651bba58e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"71f5f8505fba62f08fa0557dd5407fc83a852c6007ccecc8":"b5efb9feae3de41b5ce9aa75583b8d21":"":"3e19ec02365e450e946123a3362f9859352eb52902a6bcb8a782285dfac9d2b282f56302b60d6e9f53fddd16bbf04976cf4eb84ef3b6583e9dc2f805276a7b7340dec7abde4916fb94b0ed9c9af6d4917b27e44d25f3952d0444cd32a4a574e165a23fa8c93229ceb48345171a4f20d610b5be7d9e40dcf7209128f029fed6bf":"9604d031fa43dcd0853e641c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4cdb38f8185a4186fc983e58a776a6454b92ecf0bffefe98":"aef257dd44d14d0bc75f9311ef24e85a":"":"1ca72c50a093076e9a9dfa09888b9c89eb36a942072fc536a81713f05a2669b39fdb2871b82ca47dcaf18393ca81dcb499aafcc4ed57ea79f8d4f9bd63540610215b2c65481b294638cec41264a7fdca4230df5fe1e7e3d8d26dcd0c435fec8e9bf778f9e6f13482157a9722761601e08425f6160d3bb626ae39ee1117b0353c":"d951becb0d55f9fb":"":"2eaa7e922dbd8963e2078aae216636276f3f7cb5d7f35fa759e91bddb6e247a93c388241ba1d0d37040c0b9e447c67d35b4991c1acce97914f3bc22ee50171bc5922299983ee70af79303265bc1ae1e7334202460618b4a8891d1a7eaaac5cac1e4dce024ce662d14849993f89e771fb873644b552120fd346250df39aaaa403":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ee8d3aced3aa3cb2166aa66c4a252c12dc0978830d0bc75b":"c15c9c0b0b70c7321df044bfde2b15fb":"":"ee69b2421d43a9f383d99f9802ba4d6cf1c537b42041c86cce681049bb475e5098d4181f1902b0a49c202bf34ef70ea7b787fa685ab8f824fcc27282146d8158925bfef47ccba89aa81c0565eacb087b46b8706c9f886b7edf863701003051d6fb57e45e61d33412591ec818d016eec7dee4254636615a43dacb4f1e6ec35702":"c5c9851a6bf686d0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4a8538d609444e3197ab740cd33b66db1cf53600096b94e0":"0bd64d222532dae8ab63dc299355bf2a":"":"8c2b8fb775d1b21c41a3dcf48ad6d68ab05be3879f9b94b305a6ce4d799e3a992c1c3a65a3e4eab563edb57424927c90c76e49386e29dd5e7de2800fcc0eefbc8b4f977f71be3754c006ee93dc09b1cfa59c424b6b3987aeb56feefc21004c63e8284b6845e395bc8843cca0917267fb4a8f2db1f7daafe7a9da95083a44de70":"3477cad1fd4098b2":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"447f0f065771b6129952e52206a64fe0844658ed685e39cd":"37e3a300542d9caf3975c6429cb8a2e8":"":"fea5d227869e527882c63a68a6623f4a699df82b3dc715c7260a5554336df8376744c05ae89ec27d40da02d9f1c5e9e29405579fd4132143cb21cdbe3edfaaab62128ecc28018725c8dd309d2376223d2e2edfea9765699b2630ff5d9fe9bec416c0ca6418b938d195d31a08e4034c49d79e3a249edd65f985230b33c444dd02":"06bfca29":"":"e1bdd1c212b159b87e41a5f64dcba6b27aa0f5c8871fabfb588df0e06bd7730ec1beb0e3388f96c992a573ff69b34870f83c53fb65b420c1c6f92e2aa6f03917e8203d77c7f5ee08baf9fab12f9d38fc0ffb83807ba781c3dd7b62edca2121f68ef230b42b8adbd4cea072209d02713789ed559b83739a54cfde69e68bdc4128":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f465e95f6fc19fe6968b98319b547104d0c01c17105f8fc0":"6cba4efc8d4840aa044a92d03d6b4d69":"":"2426f108368a00d2a49670a3b64b4f0569c6da9660163e7b209ec3f8d058ee11f7818a8c5030c5f4ce6e1e5a93faa3e5ae3d0bd5d712fbc891cfeb20845707edcf5e29719a5246a3b024fb12d37bd1b81df3812fd50b1dfb3e948ce546dd165cc77f903c07fe32bc7da7fbc25036679017317ce94cd8a00c1bce7379774f1714":"92750ac9":"":"2e59b104c1a6f6d651000396adbfa009bf4cf8cbf714da8e4d3b4a62bd7f522d614decf090c7552a4b9e8d7ee457ba642d5100c0c81c14cbba8c8ff49b12827f6ebd41504ccb6dfc97cdf8532d1f7f7e603c609efa72d2ae0dce036ec4ab36849a0c06f8737d9710075a1daaed3867ca0a7e22111c0e7afae91f553b6fd66c6e":1 AES-GCM NIST Validation PSA (AES-192,128,1024,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f08e3e9f7b3a20ccdc4d98b56f2b567399a28a6b3908deab":"4f4636d1b283bfa72c82809eb4f12519":"":"a986e816f1eafb532c716a555cca1839a1b0523410134ea0426ab309520b339fc1fdeb40478ae76823cee4e03b8d3450e6be92d5ff17b2f78400f0176e6d6a3930bd076a7a3c87c3397dcc0520c6b7b4ff9059ea21e71c91912a74aac2ca70eec422b507cc5c60860bb8baca01eec2a3003970ba84011efe576804b2820e306c":"16c80a62":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"87b5372571fb244648053c99405999130f87a7c178052297":"a1cc81b87bd36affe3af50546e361c9e":"684ce23f59632308d7db14f7f6eddaf4d83271fb0c27401b09518a775b36252540f14305f0dae13ff6c0dc565c9e570759e070c8ac73dfb97abd3285689a7cdcfc941f6271be3b418740b42ba4a114421065a785be3dfa944c86af56da8209779e8736e62529c418b507c6d8ae002cbc0431747722afd64521734f99273de455":"ae078d1554fc6a14447a28c3dd753e790f7ef9b53e35c3e0fe63a7b1b326bc56034847f8a31c2d6358049aae990bfe7575b439db370aa515e225e0ec730488c700a7b0a96a7b8e4e8e4c6afec20decd16fe3c0f3f8d7a6cf7a8711d170829d14c706cceb00e133b8c65c8e08cd984b884662eddd2258ce629abf6b9dd28688c9":"98177b3428e64bc98631375905c0100f":"":"8be7df33a86b1162464af738de582a357d0ce8e213bba1b7913c0d13ad759d62c3bf4366f5130b3af2b255b7ad530b4977627f9e76b07e360c079d0f763dabbd22e976b98cd5495c6182f95bc963aad4b719446f49d3a448d11cac5bfcba4b675b8e4d88a389e2580e8f383f95bf85c72e698680d2a2bc993c9ee1ce0d1f1ac3":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a2d069b826455d5e79e65db4f1d2b6a29ae9f401bc623917":"6d40a0c7813bc0410ff73f19bb5d89c9":"9960376b1898618d98c327c1761959d045488cc6198238bbe72662f276d47b41e8aebc06dbce63da5adcb302a61ade140c72b9cf9f6dfad6ecedd7401c9509fae349d3c7debe35117776227ba167f2b75921d7321d79f4ebca13d20af1638a1567043365f179f4162795fe4fd80b5d832e4ca70e7bf9830bc272b82182f70d2e":"acd6225dc5b9109d56ea565ab38dd4db432a7ec08f0db04f1c6b691c96d2eaaa6be62da7cc7fd75f931716c7f39705ea7cf828f1a5a325955e9b2c77e7fb2d562be6a89b3351b1b3d1355b43b73ed425049430314c16bf0836ed580e9390a3b8e2a652fddbfa939ca4c3c99765b09db7f30bf2ef88e1aa030e68958722cb0da3":"010195091d4e1684029e58439039d91e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f3252351fe8e7c628c418c1a49709bf1f8e20add82539948":"eacd2b1c3cf01bf4ea7582d8ee2675d5":"141cb39a2fb8e735e0c97207f1b618a4b98f6b9bf8c44a1c8e9ea575a7759cc2a02301274553e7744408b2c577b4c8c2a00e18f8717fd8a6d2f46a44eeb05d685fbef7edeb4229e7ea9b8e419ffcb504d33583b3ae421c84caeca9f9789047dd7b1810318d3765307233567bc40e003401c9f4e1b07a2a7162889e1a092aedc1":"7e8d2816d280c91d232bad43b6610e2d0532a9f670f221a3a975fb16472c2e83b168115e87a487bcd14b37f075e1faa59c42515c353cdefc728ac617b7d273fa96778e3fb5f7a1132f8e2add4a57015b15d1984338b7862356243d1c5aa628406f4a507498eda12d2f652c55e8e58113ed828783b82505790654f036b610f89a":"63a310b4f43b421a863fb00fafd7eac4":"":"699c146927ae29025e5b20088b20af27bc75449e4725ee6b7d5dc60b44ba8a06f7d265330c16060fbd6def244630d056c82676be2dc85d891c63d005804085c93ce88f3f57c2d2c0371c31027d0a4a0031e3f473cb373db63d4ff8f65be9ebe74045de813a4e6c688110d000f6b12406881c08085c9348e1f0315038907e33f7":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"e462957f2c500bf2d6bfa9af97938fdd8930e360ea4175e7":"b380584a3f4e0e59add4753c282f2cf7":"682b0af6592eef173e559407e7f56574c069251b92092570cbb7f5a2f05e88bed0af48dcda45b2930b1ee7d5da78dc43ec3598a38593df7c548058eda3c9275c1304489aff95f33a6cd79e724e8d12ca0ae92b20273eb3736efcd50dc49e803ad631dcbf64376a45a687eb4e417aef08a3f5f8230d3f0b266ea732c21ed2eed7":"82a7a6dd82a5ea3d9a8e9541d854978487eda298b483df02b45c76b8b38bac98ffd969dd160a2765595b19d4ea3e64351ce95764a903f595dd673d13facf5a5594e01be1d60a0c6d28b866a1f93a63a74fecb6d73ac6fb26b20c008b93db53e9dc1d3e3902359fd47734fe22a5c6958f97e9001cc4e8b6484d9542dbbdfcfcdc":"28a43253d8b37795433140641e9ffd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"4a62ddd87f41c6df756e8da0985dcd8c91e73ba395b3d79b":"1d1843e2118772d76a0244a2c33c60bd":"028b92727b75b14cb8dfeb7a86a7fec50cd5de46aa4a34645754918b8606819d4bf8a2e7531a05ae5505492ca6cbc8c0e6d6ab2dea23bff1fdf581bb780b4a3312aa39639383fd10bcf92489801954733f16b021c2e84809345216f8f28a99773341e40c4a64305a2098eaa39f26a93bd556c97f02090e1a6c181a4e13e17d3a":"37a83ee6dbdece212446739ea353cb957b9aa409c88bee042bbc3a6e5199aeb28f2b4b00ff433c0c68d6db5a197566019db8a4c7a792e2839a19a302ee02bee046adce04c1fbbd5b0c457d7cbe277992ce2c153d132269e2d1f12b084cf3026a202b4664bc9d11832e9b99c7cc5035dcfde5991dd41aeb4fbf8bec5126a9f524":"ab738073228bdf1e8fd4430b5c7d79":"":"e702f1bb9a1f395c74fca0ce9cdf29e7332c14acaca45200cd432a5767be38929ef8de43d0e1a5e7300c1eb669ac1ab997b31cb1403af8451e77e63505920af0f8c3abf5a9450ea47371039ba1cf2d65a14fa5f013b7ce1d175859404dcf6461a36e8bc260e7abf739d8951ddf1a3754e2d65e0aa31320a5ffca822023bc0906":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fc46976d38a581a7042a94ea4b5bfe3587ddc65d1162d71e":"b5e92563dd0339df00b7ffa2239d21bc":"7b6f6e104acbcd7188161477d8e425ff99add22df4d22de7f28d0a0075ca4ef848f68d07ed22d3165c08e40890ce04d1bd05b1a6ccb2fec8193d5f7dffc93d97a0c036b3748f708b011b68247a0249b9e1a60b652164e5c2fd7210377de804ac010c8aa08a11f40af97e8370a59f936cd14c22ea7a236d904145adc04a241fc0":"4b9e858fc8f01903e426112192d4ae4686b1ae4d683b75afb2b8c63590275943d0d6d6a23b6d35796a2f101203acba107474ca6f4ff6dd87d6b77785ad1d160ef2755d84092dc70c86db5e639b689943b15efa646aff44b3f51f5d3f4cf6c8f7fc5adfe7bf2d72f75b93b8ee94ef3fa69ea0fc0bb77b3983901fdcd30bcd36f5":"d4356cb417953b01f7b1110c8aa3eb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"403e49feadd4db763652ed5c4b1e12680cfe0abc30f4696d":"1a60258a56e15f92814b4d372255a80d":"a4ffa9e3c612103224c86515dad4343cbca7a7daf277f5828670834f4d9af67b9a935c71b2130dfbc929c4409bffb7974ffa87523b58890770439c33342880b33319c626bf776c1c0aeb9c2a348a7681572f4ff711d94c192f3450e8b1275f9d02c742a2c9f1da316e9918bf787f22699172986cb9b10fc56d5f6b8392ff92b8":"221c61d769febce3913bfead9a201a805f11005ddcac185cbae00ce749de9c4362889b1b0d9546e91598e0ddedb88b673a90acca65d7e71a85636be052f361839a646dc8b834c02f3e2261d370e6bac9636b7536225b5ea77881200c8a3450d21bfd1e11afb3a470e178ecfe944a25a7cd0254e04a42b67723aac8afffd56fee":"62646fc8bfe38b3ba6d62f9011e3":"":"5c76c90dea7d659804ad873960906259fbdda3614277ec575d9eec730e747a2e7b9df6716b4c38d3451e319eeecee74d1f4918266fc9239de87080f1ad437b47c6904ed2d5514161ad25e3e237655e00e53fe18d452576580e89b2f1f0f6aa7e40a337fd8c48d690fe013a67264a80e9b5dfd009a9152d559aa02a68f401a09b":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"c3471259512d1f03ce44c1ddac186e9a56c1434a6ac567c6":"50164c63d466148ab371376d5c2b6b72":"11d1f523888bea1fbc680d34bc9b66957d651efa59e788db3d3f6f50e72184b9d14e9ff9bc05fb687520cf423d681812e007025eedf0e78e7e8191e6b62404e8eb400cf837d762a31aa248553367263d6de091fcf7abedc3e69fc118b7efb0594c89b96c387b7c28ed9a7b75db60b6b5133949b891ff81eca5790a265f12a58c":"dd5b98b3b3cf03fb92be579068a885afd984630692eb5f155fa6b49f2b1690b803d34b90e8de3cc39c2e61650ffffb51e7ef36d35ad17dc4d91f336363b0734996b162b509c9954cab3dd959bde7e437e9100d84c44104c61e29dbe12492a0272ce6eea2906d390de7808d337e8c650b3301af04a9ed52ab9ea208f3c7439d6c":"6c5f38232e8a43871ab72a3419ad":"":"50438ee712720abf2089331e4c058b30c30c3d17834c507c0010ac3f974a256d01b14a45e9ce5193c5cede41330cf31e1a07a1f5e3ceca515cc971bfda0fbe0b823450efc30563e8ed941b0350f146ec75cd31a2c7e1e469c2dd860c0fd5b286219018d4fbacda164a40d2980aa3a27aa95f8b8e2cd8e2f5f20d79a22c3ff028":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ec326a1e0fe6a99421398df4fc7d8fea67b67e5f5fcd50ad":"c94aa4baa840a044dbd5942787a0c951":"f8401c578f20d9c250ea86eb945184e007a0190462c7abddf238ce1ceddcc230756aa222386d8ba66ebbba13de008ced140896ac55bc47c231cc81370ca9feadc225e017d59890e6291cc4cca27db3078c0cd6cbb51afb62210226a76837c5454728cb5ce3afe7352e7fe75421f94986e6b7b26321bbca15c75ac7c13dc15f50":"6d5016c434a0f4b4a5d9e0b6b8e2d848a94f132f055d2d847e54601a4c9cfc5966a654d696f8a3529a48a90b491ea0d31c08eae8ef364f71f8ec7ae7f7e39bb9c331137b2578362ff165628099944ba8deb0d99ac660d5ed2215b9a7626ff1fa6173cd8dd676c988d16c9cf750a0d793f584c3c8f5fd5d167bc278f4d77a629c":"3269922affb9d767f5abe041cc8e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"a7ef81652f604e88a72416924c53979dc73cadd3575eda1c":"0cc9ae54c9a85f3e9325c5f3658ab3b2":"d0195b744351aa25a57a99df9573dfa3cebe9850139149b64f7e4af37756a430dda8af98e4ed480e913aa82821c01c1f75b187e105a8f39621757d522c083a8d81d7d8bfe6cf15c439d0692b6affd655a11bcd2457046fae996a1075c66029867b88cd23c503ae04037dd41f27bafd5000d1f516002f9fcc0f2500e8c1b27de0":"9ecd19a8eba9fba843486e1bbfb8d9053c5e04b24e30174d4aa89d8307439d653f8630edddafd51719c744bcb4bce3e444847567bd2cdde2995870d0634cc0ba2bde4b6bc2bc583062fb83874a1c25b50aeb945bd109a151772c077438c4d1caaeb5b0c56390ac23c6d117f3a00fd616306fc2ffc4c1e76f934b30fbbc52eec2":"22c2efeddfd5d9cb528861c4eb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"605271a41e263c92dc14fe9df5203e79d58cc2d1289dc361":"7f128092a777fc503adc7f6b85eb2006":"aef9f984fb645e08d5f0aa07a31c114d2f8e9eca047e4a8d5471378cfc2ced1159dc093d174788e58447a854be58942ed9a3fd45f3f4a1af7351e087369a267797c525f134e79709097e733b9003b9be0c569fc70ee3462b815b6410e19954ce2efac121300c06fd9e00542a9c6a5a682fe1010c145acbbb8b82333bdb5ddfd9":"2bda3448a283ecba31e0299c0a9e44628cb2b41fa7b1a41107e107cabc381083bdbe048f2804568fdd5fe016f4d607f694042a459ba03a2deda4cccc8cbe4612d8ed0d4575e48bc9f59843369dbe2af6d048e65ff4250e1eef61d7b1b378fe2f3305b133ddc7e37d95ca6de89a971730fc80da943a767ff137707a8d8a24329c":"673afea592b2ce16bd058469f1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"fa076f36cb678e2275561e9553ebdf397360e5a5e44791c4":"1ecd53d94fe287047ff184e8b9b71a26":"5ff25f7bac5f76f533f9edffdfd2b2991d7fc4cd5a0452a1031da6094cd498297fb2a05ae8db71cb3451e4ac33a01172619035a9621d2d54f812ef5343e14b9dedc93838e4cf30e223d215b4d2476ea961a17ac7295069f25b2a12d6e2efe76d91f45632c6d4e61ff19a95d5ae36af960d95050ce98b5791df0b7e322411c884":"513305e86c0cb046c5d3720b25a406392766bd1fb7de2758de370ff2e68281e211922890c61f3659460f22c45a57895b424441262a3ba0606df4e2701f38281fd3436a4d0e0f8efecd231808a9ea063dfb725015a91f27cadfe7909a0ee109eac391ac807afed1767ae0515b9c1b51ae9a48b38fe7fec7fe0ddee562c945e5ae":"079e8db9c3e6eddb0335b1cf64":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"ce9dafa0e7e53a8766fc0bc38fba807d04e14e5ed61bc234":"fd0751af49814ee98b2b0cdf730adaa6":"1cba488a0fc8a012f9a336cc7b01cbcc504178eeb08237dbedbc6c7ac68fdf3a6742751a207e43d43068abf6ef4e12a5e3c17e5a2f9398fc04ced67377cbb858fd6020fad675a880adb249e4aba94b96efa515d1cdf5c0c3071a27a3245968867ea94b2bfc2028a67be34c84c3f475944497aa8ca1ab009f8e4b11c8308c1996":"b585b8bf634757dac015f2f69f2ae674372a664f2115ad2d03bd3e0c335306b02d0947d3cda5991f5c0c25f12ead2c3cc2d65d575fd67091c70bc93ddb4b1e21f7b0fc6e6ae652dea93a6564ff13489f927942e64dd94bf8f821c7ffdef16df58bd8306a957821ac256da6f19c9d96e48eee87f88acb83bae05d693b70b9337b":"e5dc92f4ad4000e9b62fb637":"":"95f4324b0656bef19eca5570548fc6a7a9923f4e2a7e42066891bc132fd73bc1c9089755d996756de0072824e69c43f2db8ba2bf6f90d3c4eafc0721ceaccce1af896f9fb15fb19c4746979b6d945f593fad61d550f81d12b5945ed728c02931d7f8d917285c22a3af748d75a6bf163fddd84b941d8564c1a63192c816ad6d6d":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"8a328554fed68dc4838fbc89fd162c99ec105b36651abbc9":"e4f7c69a1d026eeebfc45e77bd7b3538":"e349dcedb0bfcc771c820f0d510b80cef32ae3326484e25aa183015941e7844bc46f617d5e61fd64fa71759e90fcb72ae220bcd507f0fb389b689dd3fa29b3b937eded85f26ada9e0f3f5109f82fef47c7eba7313049750ad17969e7550c0d4093ed18ee27843d082bcee8bf3fc7833d569b7723998595a5a1d871089fd238da":"75986f56972c045c850ed68aeb229f203b228fdfc36cad6b16d9bd12037c48700d20d8062a983ffeca76b8d36a67ef51bc8853706e83a34e4e23ff4f4a4eb943f19dbe85e454043d7906be6587a85079f9ccd27962d2905117d2dbeaf725d6ffe87bef52b2138da153ef29b18065b3342b3f9d07837d57b8bc5f2597de06c54f":"8e8320912fff628f47e92430":"":"a1ed65cfc7e1aeccd0531bce1dc749c7aa84451ec0f29856f12f22c4105888c7d62e2e2fc8ad7a62748610b16e57490f061ad063c88800037d7244ee59e109d445205280473390336d7b6089f3a78218447b1b2398c4d0b3aac8b57a35891ad60dc1b69ad75e2e86248ceac7bb4cf3caade4a896e5ee8c76893ef990f6f65266":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"6e7f6feb4022312de5c804ed1d7a37580d74499107f8cc8b":"6ce13485ffbc80567b02dd542344d7ef":"c6804a2bd8c34de14fe485c8b7caa2564adaf9fcbb754bd2cc1d88ba9183f13d110c762a3c5d2afc0fbc80aedcb91e45efe43d9320075420ee85ab22505f20e77fa4624b0387346c1bd944e9cd54055b5135c7fc92e85390ecf45a7091136b47e3d68d9076594cfad36c36047538e652178c375a2fe59a246a79784577860189":"4f5bbdf575ab8f778549f749f2265e17dc7225713e73ee6d7be163ff7071557dcc2240b0705c079008605f81396414ac64f06b1b637876e04c3fca8d0fa576cef4dd3dc553fd6808eaf120f837f9bb1d9dbbd5cf67ed497167fc7db89d3a84151b81aeab0e921057f121583df5ed7f976b206ece17a913f23485385f64c462a8":"974bd0c4a8cac1563a0e0ce0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"46d6e982feff0e7d04a84384c56739b69626dde500e4b7fb":"71a6d1e022a6bdff6460c674fb0cf048":"67a8455c7d3fbfdba3c5ec5f40e0be935fbb9417e805771832ffad06ba38a61b8377997af1f586dc0fa1e3da0b39facd520db1f0ec2bdf1904a3a897f0b507c901fab30a85de51effa9f7d4703ceeb2ca72abe0bd146ba0bd3ffdee11628310db7d65ea1343b018084ea2414995f86fefb45ba91a9dc2236d92078b4305671b5":"a5160fb2d397b55a7eba02df33a042404188f02f4492d46f4edc03fc67723d64f5f7fed3a60728438703c60454a30f473ac918ffc8f98be5c5e9779ee984415e415ce3c71f9acc3f808d215be58535d3144cebe7982b9b527edbe41446161094d6fc74dec2e0a1c644bbc2cf5779a22bd4117a7edb11d13e35e95feeb418d3f0":"84f1efd34ff84e83":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"991dcaa2e8fdad2b4e6e462a3c06c96067ef5e9fb133496a":"978913d2c822ba7cc758041d5ee46759":"5a94dc81af011a8af263318b60215b9752292b194b89f6fc013b0fe8e29133de631d981862f2c131ee34905bd93caffc3b8f91aeb0264b27a509e5c6a41ae781209f8c5895d0d35b3c5e1ae34a1a92a2b979e0e62132051394940ea4d9bfffb8d89ba1e8331b15bdf05c41db83a57745a4a651a757cc8648acdcf850a2f25367":"9cd0c27f0c2011c1ab947400d28516c7f46d22a409a18fd35c1babf693b8030dfd7822d9ba03bb8fd56a00f9c7149c056640dde690889d2f23978eeeb28ccc26e2fc251220a3682c963f5580c654c1a6736cccb1b8ed104ec7390021d244bd9f92abde89e39a4b83eff8211c8a6259bd6ac2af1da7dfb8cf1355238056c60381":"15d456da7645abf2":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"f29cff00781f5916930f125489c87d21f6593324d1506f65":"50db7ee25a9f815c784236f908bfd7f2":"ec1482e18692bcd6894a364c4a6abb9c3b9818bb17e5e1fc9ec0b41702c423f3a60907e94c888fad8e78f51e1f724b39969ba7b11d31b503504b304d5c4b4cbd42634f4ec5080a9fe51c82e121ae191270dd2c307af84c82d892d982413a50ccce33698054f761a3fa93da9a1fca321296b378a50d458ba78e57a70da4676150":"a3e8595747b7147d471ac4fe38014bf4a409931e3f419ff88ae249ba7a7f51bd0ede371bf153bab4b28020b7a82a8ca30b75f1e3bcfee3c13db813cbc85138ef05874dedb14a6e5b6d06d7589a83bd5e052dc64433a8e24c1188b9470ddb2536d13b4b7bff0c5afcfaa9aa0157c3aae3b1774df2df14f965d6dee4332edba67e":"a1e19ef2f0d4b9f1":"":"eea18261a4de31d8619e77005ebbb3998c5dcfac2bc120ae465e29d6b4c46de7e6c044c8b148ffe4eda7629c243df8af4e7ceb512d5751a3ee58defb0690b6f26b51086dedfde38748f6f0bbe6b495f4304373188e5d2dc93461bd51bf720149a7d3aa543623b122b9af0123b2cdc9020136b041a49498ec4aa696c2d3c46d06":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"2087e14092dad6df8996715cb1cfca90094f030328080ffd":"d30504afb6f8b6ac444b4a76115d79d1":"d95845d268c8d8f9135d310c39e30f55f83ef7ffee69e6ba1f80d08e92ed473b5ac12cc8f7a872bfc8b325e6b8e374609c90beaf52d975f71caeef5ee4c13de08dce80d358ee1cd091faea209a24e3392adcfe01aeb2b2e1738bc75d4a9b7cd31df7f878141cf278d150f6faa83fb3a2fd1225542a39c900606c602f15c06a4f":"6d039513061980fb195bdf2f7c7079ca4b7e0fdd50d948cbfab5ba10b99e3aea27f08abd000c428851de82cacb0d64c146cd9567e9d55b89819876d6a635bd68bcaf47ffa41e02d9ee97f5a2363bfe6131ae7a21ea5130ae953a64d57d6cbfd45260c5f1946388d445ce97d23ab7ba31a5069a4896bc940a71de32bde02bc18d":"5412f25c":"":"1e81a4c10a3440d0002ddc1bfa42ebb08e504fcc8f0497915c51b6f5f75fee3f0cd3e9c5a81ff6528e0fecd68a36192114f17fa1a4cfe21918dac46e3ba1383c2678c7a6889a980024ee2a21bcf737f7723b5735e1ebe78996f7c7eace2802ebb8284216867d73b53a370a57d5b587d070a96db34b5b4f5afe7f39830498c112":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"3fc76d627c775de2f789279dc7b67979a9f1cc23c8dcabc9":"8f6fd53eb97e12dcd4d40f2843e25365":"e56995df73e52606a11de9df6c7bfb0ef93b86bf6766e319aea59372060294b0e1b13c6288c2310a4bef725a2dddb174f3e1228649861757903c4497a0eec9c141454fc75f101439a2150e368857c4f0f6e5161c42c77f632bf1c229a52595cbf16e9018de9a8f6a1e6b8b18bd244f93f001eb2eb315405d223c0d27ece9d4d9":"92a60d38fc687b92d44635aafee416a142d11a025680e5aa42e9ba5aa010462991ad3dd7328ca4a693673410f9bba37f05a551b949ab0d43fc61ef3b8996dd3fc1b325e66eec6cc61ea667500f82a83e699756a139d14be6ca9747ed38cd9b1d9da032ece311331bdcd698666ddc970b8be2b746ec55fe60e65d7ae47c6f853c":"613ba486":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-192,128,1024,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_192_GCM:"b10979797fb8f418a126120d45106e1779b4538751a19bf6":"ca362e615024a1fe11286668646cc1de":"237d95d86a5ad46035870f576a1757eded636c7234d5ed0f8039f6f59f1333cc31cb893170d1baa98bd4e79576de920120ead0fdecfb343edbc2fcc556540a91607388a05d43bdb8b55f1327552feed3b620614dfcccb2b342083896cbc81dc9670b761add998913ca813163708a45974e6d7b56dfd0511a72eb879f239d6a6d":"e3dc64e3c02731fe6e6ec0e899183018da347bf8bd476aa7746d7a7729d83a95f64bb732ba987468d0cede154e28169f7bafa36559200795037ee38279e0e4ca40f9cfa85aa0c8035df9649345c8fdffd1c31528b485dfe443c1923180cc8fae5196d16f822be4ad07e3f1234e1d218e7c8fb37a0e4480dc6717c9c09ff5c45f":"28d730ea":"":"dafde27aa8b3076bfa16ab1d89207d339c4997f8a756cc3eb62c0b023976de808ab640ba4467f2b2ea83d238861229c73387594cd43770386512ea595a70888b4c38863472279e06b923e7cf32438199b3e054ac4bc21baa8df39ddaa207ebb17fa4cad6e83ea58c3a92ec74e6e01b0a8979af145dd31d5df29750bb91b42d45":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2c186654406b2b92c9639a7189d4ab5ab0b9bb87c43005027f3fa832fd3507b1":"3a0324d63a70400490c92e7604a3ba97":"":"":"4c61cd2e28a13d78a4e87ea7374dd01a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"747d01d82d7382b4263e7cbf25bd198a8a92faabf8d7367584c7e2fa506e9c5f":"7156358b203a44ef173706fdc81900f8":"":"":"9687fb231c4742a74d6bf78c62b8ac53":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1cbe30216136b7eaf223e6a7b46c06625176d9a08182fa806a63d8b143aa768b":"4fe6ace582c4e26ce71ee7f756fb7a88":"":"":"d5bdf8ec2896acafb7022708d74646c7":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"f31194c83bb8da979a1eabb3337ceb3d38a663790da74380d8f94142ab8b8797":"404efd26b665c97ea75437892cf676b6":"":"":"e491075851eec28c723159cc1b2c76":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"daeed52ae4bf5cbe1ad58ae4ccb3da81fb9c0b6f7619ca21979313ad9d3e83c1":"4037eadb11249884b6b38b5525ba2df4":"":"":"360c6ef41cbd9cd4a4e649712d2930":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3ad81c34389406a965c60edb3214663ac4a6bd5cfd154ae8d9dc86dae93def64":"cebbce06a88852d3bb2978dbe2b5995a":"":"":"bd7ca9f6bd1099cde87c0f0d7cc887":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"4c152ba30aefa5b2a08b0b4d9bf3f16fc208bb0bc4c4eca9411dc262d9276bad":"008d040fbd7342464209f330cf56722c":"":"":"c87107585751e666bedae2b1b7e8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"9aed4ae6b1d857fdcbe5aec6db38440613dcc49f24aa31fba1f300b2585723f1":"947c5f0432723f2d7b560eca90842df1":"":"":"7d331fedcea0fd1e9e6a84385467":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"cc80bc031676eff5f34dd076388a5130e985f9e06df4b4bf8490ff9ff20aae73":"51f639467083377795111d44f7d16592":"":"":"02d31f29e15f60ae3bee1ad7ea65":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"db7a40213b5b4b07e9900dc28f599403b0579cbce13fcd44dff090062f952686":"aea6f8690f865bca9f77a5ff843d2365":"":"":"7f2280776d6cd6802b3c85083c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"299b874eaa8b7baf769f81f4988a41e2708ae928e69a5ba7b893e8e6b2db5c3b":"2aa04d85d2c0dc6f5294cb71c0d89ac1":"":"":"ea01723a22838ed65ceb80b1cf":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a6c7b4c8175db4cf23d0593ed8ea949043880fc02e2725f0ab90ae638f9dcfce":"ae07f8c7ac82c4f4c086e04a20db12bc":"":"":"1132e4fff06db51ff135ed9ced":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b98e1bf76828b65a81005449971fdc8b11be546d31de6616cd73c5813050c326":"929b006eb30d69b49a7f52392d7d3f11":"":"":"33940d330f7c019a57b74f2d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"09ccef64ae761a70fe16772cba462b058a69477c91595de26a5f1bd637c3816f":"e34b19381f05693f7606ce043626664d":"":"":"2adc2c45947bfa7faa5c464a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"654cf46598e5ad3e243472a459bcd80f1e026a65429352dbd56e73fcc5895d1c":"a56f27709e670b85e5917d5c1d5b0cc2":"":"":"177b9a5e6d9731419dd33c5c":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"84bca1b2768b9202bf194f2d5e5a0a5f51fd8bb725f2bab8a3fccbdb64a4ea70":"c45b2708c5bdf65ec6cc66b6dfb3623b":"":"":"fe82300adffd8c17":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c8ae011795c9a60ad7660a31fe354fa6f7e9c2724d7a126436291680cd95c007":"1bd9ea6186450f9cd253ccfed2812b1c":"":"":"35214bbc510430e3":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"df2f0a8a3849f497d12bda44e12ce30a6957f3febcd5ec9bc134171326ca66d3":"728cb9608b67a489a382aa677b1f4f5b":"":"":"e2ef5d9cc5791c01":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"78e8a8ad1ecd17446cf9cd9c56facfd4e10faf5762da0fd0da177f6a9b9c3a71":"f169ce6f3ccc58f6434ae2b8ad1a63a1":"":"":"0fe57572":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"02ca6d8a862e25db9d68e4404abc107e700135df4157cfb135ce98eaa33151c9":"7b722fdd43cff20832812f9baf2d6791":"":"":"72dea6cc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"9a2b709dbcc3a4fb15b3ad541fb008c381b7e985b57df52f07ca7cd26ab1ecc4":"729baa4c0ef75ed8aae746376b39fe3c":"":"":"2a0d607c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"449d39f863e4909984b37f2e5c09ea4d4b3e9fac67bd57c299e4e1d1f084aaa3":"d8e9118f331bb5a359f0aa8882861b72":"4ddcae0bc24d622e12bdeaac73e8d1ab7957af051d27dfaafce53aeed4cdd3f989ea25989a2f41cfb3c38dbd841c5560b0b5ab1861b1fbcd236865d13da55b50219462e021f8a21848a64a85326031fcec8fe47a6ef4a435dd2b2fff637644ffcf3914ef2dfa5dd556421bfd297be150b31db039f0f2cc422b282e659e70cceb":"":"c595b9d99414891228c9fa5edb5fcce3":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3e70e66813fc48f984dcda4d1c9c24f1d5d1b71ecfc8bb9581782e7cca5a5cc6":"d804f1051e72c9b7117002b862eb45ff":"0b1ab2b7a87cebac668c7a532fa8fa56a22cabf0c41fc1e6744ffe07c857c6865d623f508351f98f3f0c577d1eb94300a30a445472218c8ac626b0bee7d4c122d33f8130436a89add341e8ef7e00694afb4ad80d314d87ad3f921c7105eed05431b8151df7cff2c8e3790efd4acd3f60332dc7f34fdd90beef70f9093361d65b":"":"c09c2e3fdfefa222f7345ae4efb978fc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"8e534041090b45b80f287dc5fa20ebda017ad81b0530e680f62c6280fd8881af":"ead675b019ef5c6bbf4985f2a382d6c1":"b1db220052c4bebcef27eed6db0dc91be481179d71160c5a2ddb2fe497a05484840b04cce48980057d770fbbd0d5f3d5c633b55470617ad2cab5767188283310337825c4b0eafe13b5b11293dec230dad43b220885105767938c7ec4600fe063f98aa14bc6afb886fc874c10546749da295f571e696305bd9165486e29f43f52":"":"9aa0cdad5686ca515cd58aed94938ef4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2de18874470c09db683cf45cd752bdfa8bf33e7967220b1a69f41f2a02da1d80":"af30eb2d0a0c2a50ea413f3285aa88d4":"22889b868d8ccc9f488406813caed199b23091ddd796c8632f564e7cf5a39dfb725266a931fec958659b6fc5b6b9343b8217edb0acb010afc9416601155262b57bd398d62f555953f0e15958e19ae004fbc9cb25e0269a9eaa38a4635a27bfa719fb249fa49337796bcf5f416bba87fbf3b19f0d8c11290c25ca50bbdc822f01":"":"646bbc9b14681af65b0d1c4c9f1d0d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1a1bb9122e762ecd7ff861a1d65e52607d98e7ae5bd1c3a944e443710f3b0599":"32f99ea4cbf52c2701c2252e5e6c863d":"91b7a70c3a06c1f7f2ea584acb5dd76177ba07323c94f2e8f7cbe93fc0bb7c389c3c88e16aa53174f0fc373bc778a6ccf91bf61b6e92c2969d3441eb17a0a835d30dcf882472a6d3cb036533b04d79f05ebfaadf221ae1c14af3f02fa41867acfdfa35f81e8a9d11d42b9a63288c759063c0c3040c3e6ee69cf7c75f9c33fea1":"":"a8e29e08623a3efdbbe8b111de30a4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3bfad1e8f9850577f9ba3f290e9a5e91b494c2d99534220362e171a7543177ac":"8410886b70c57d7ded8596443bd1b157":"ca801c83596795515ea931edba00e06e332bf84246b7036e10b317e2d09a51b2981fcb664ee3bf4180bb0b12ed1cda221abc6790b27c26914f5ef9cea9536e2453cd5b247cb054e295c2687b725a97cbc484b8eb86c6ceee03bd07a54a9301a3ac0ddb23aecb825a238252e7575329058b40e75575a7f16439edf5be163ce5f5":"":"e3645db0c600dba52044efcecfc331":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"65debdf2f2191a6cd8de8ad4d5d4d0d8f731f67744e2545df6b2a7cba89c1ee0":"fdab2ee547dd8b6f5a4ea2dd19697b3e":"d2b0a0438ee0f145aec9a7ca452b788ecb473152b78fb75f6ace721afc7b0ae1942049b790f3a5b6221a8760295659756d35347cc04029be03459f3e23a71209b4e0bbe13a253a888c83db23376d3a6d9a539f7c9fa4a12dc64297e7c93dfa0ab53ef76b6e1d95bf6f3d5e6ee8f08662fc03ec9d40eff0a43f23ac313671bfd9":"":"c25fc157c3f2474885e2eea48aea":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"496ae810380460d40cd2fdae8c0739f16b87205cc7f57db0a71a473eb361d570":"77233de96f5e1744337778212b411bd5":"85f5b54b4c4af5c808120bd28d98e44e96f4126623e57684957e9fc4fd1a2d0583940b8fc8314a249325476e8d05247831b04709580ae714e8187cd38f9559419e14c9fc4f8c454ec191b8ef2a3610988fe3339d0dc6b72f5978f9eff9d596dfabf27056e3a908c6497267461386e860f6b9d65526294bcb92908b5661b06b5a":"":"4ed91af6340e70b0c2b94ab6f82e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"aca188183b46139cc7cffc82a6aaaeb2fd73cecad14e75c663bd62daf1ec711d":"7bbf7fb55eb70cce94cc6a2b67de55ba":"015cfba90f069545fed60f31992ff3d3c3592eb91e7a53df5978ded64291954cb99a57de82d5398ce782b68d14ac04a8b425395bd076ead59eb445721bdb2f45e19fa089117800cbbac7b8313fb165ccb1122acb654e1242dc7fe6885ea1cbb7281b1270cfa1549cdfe9b47caf47b4ac3807e562e48c066566f5e606b5023b47":"":"3bcb5c2a4261d75bfa106fb25ee1":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"8cd6815f6ec15f03b7a53f159e877a5981e0ab7f6e6c261ddde4b47cbb2f2366":"c431c07d9adf5f61204a017259cddd75":"4e1a835402bde4f5227e64b46a1f8d0f23a9434e189377fcdf1b9621ba1987eb86a7f3b97ed0babfd674e74c5604a03dd016d71000a72bbbd00a7f7fe56ad0fcb36a3e24dd0fdb63bd66d4db415f35012416ed599796ca3f678df7eb5a1b17f75abb348ddd3b366369a7b362c9488aedab836b61f9a158f0b129c8ca0a53a81e":"":"0e463806ff34e206f703dd96b3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"8f0a72abcda104aa7fae501f9a3b686d00d3f6fe984731db8a2865bfec587073":"ab8acd063775d1b1314f14e90fddd1be":"02c6d426e7f20b725d8cde0a6382e49b029b52126889013ef45251f27b2fadb95ca4a9a3b16ad06999eeca4a473e813045db4942e9b9ff2e5a5e429d9bac298372344d1b781d5facabf6d779643f31ada6124eb50aad599044b54279ec9b25714ac8a3b9ad2487cec7f4b1ee245d7be3d496d6af1d4cbee1c8201312541f3064":"":"3f0ccc134091e0c0425887b1b9":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"417135cad74280e6f8597dc791431c95cb8fa63bbf7197e3ab37c4b1d6d9438a":"0fe22d9ba1d0e32656e3a9f07a517a27":"a0b2712e81d329d5b076a4be2ad6823cee6dbd17d9a592d065bdebb92b1ff37a56bf2f5e5341f39c574246ccda19e5f35fede49c9ba958f3920cc5440fb404fab7846884ca0c2a3af5b51f4fe97a1395571319cc5b40f8aac986d77de280db82343983982638326ef003e0c013af19c34672975dc99ccc0853a1acf7c617d965":"":"888b836c9111073924a9b43069":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"304824914e32ea0efd61be6972586093349bd2cc2cf0cff44be943682b2dbff5":"b6d927a71929029f6766be42746f7cb1":"7281c81c7514f4b17cb125c4649006ef8959a400a1e4d609d277e363e433725fa32346a10bcbd826b6afc8222158920d0a2db1e6fc915e81231c34c3941ecf3c6f94ffe2136190cae3dc39a4277acbc247f36291b5614a8433b1a0780434a6c50521b72ec25145bbd3b192647155d5dd9df9e66762d39592602ea99bf9bfff49":"":"b6044c4d7f59491f68b2c61e":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"8a10e9abe9389738e12a4bb6f553ae81e8bd320e0dfbc05fbae2128c1fde7a23":"6da44354e198e3beb54792718becbcc1":"199d754630135b669bf2ec581d3027a569412ab39a78dd9d482e87b778ec65c6473656260c27827e00e566f1e3728fd7bc1853a39d00e43752c6f62c6f9b542a302eea4fd314473674f6926a878ec1e4b475d889126ce6317115aea7660b86ab7f7595695787f6954903f72361c917523615a86d6ce724bd4a20c9257984c0c6":"":"5c5683e587baf2bd32de3df5":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d164ffde5dd684becaf73e9667e3e6acb316682c41aea247899e104a54dd7a7f":"1d388e19e9d7a9750e2fc1187d4b075a":"f166a5b6f91261cda56f1a537f42ffb8aed10af5e0248f8910034b92dbc58d25953f1497f571d31fbf5ec30d92234b440161703851f0e43530418147ce6270fbcb5db33ab819ba8973051908704b6bea8aaca0718947e6aa82498a6e26a813981783ed9bf9d02eb1ea60927530c4700ff21f00179002b27903dd4103bbc5c645":"":"52e10495105799ead991547b":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2854188c28b15af4b8e528ab25c0950fc1384976f242716c91bddeec06f2fdea":"075af9c31f5252b8920092cbd999e7a0":"e9452f71093843a025bb5f655eb6a4e8316ab5946484b11818f22b62f4df75d5891fa3397537093a261dc9a7648b7477ea1f5fc761716e302763364bcab7992595edd0fc1c7f7ac719c879e6616e2007948eb8530065a6cccf73d0fe4a0598819b471b0856e6d90ea0fc0e5d36a30ee925b6b8e5dbf40e77f01efe782c0bb4f7":"":"6ff8fd87e5a31eb6":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2bfc445ac0365ae6c3c3815fd18bbd0c60ea224f6620d9b6ac442a500221f104":"43c5f3367a9955aaee1a0c4d4a330059":"db0bae8ce7c66a8ba2fedec22f236212e9a7ad72b371de285c7dc6d2f6c22df0ce4920e0f03f91eb1653c4490050b9f18a2a047115796f0adc41707d1ffcbf148aed5c82013f557e6c28f49434fc4eb20112f43566f212c48cec9894ac40772fcd9b611ee9444df7b73e35b8a38428ccb064c9c50491d2535e0b539f424db83e":"":"49aaa806cb2eeadd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7b828f99aaf751bf22d993ed682e488595617a607ed74aaacbb6b60457453080":"d48dac1d8d77e245420feb2598812418":"f50f785f4e7c848a55a616ecf4b6b1e1ca85e16de7100c7e4273d411bd95c1380ee157ba501ba9616980195f34e39f43e335f33253342feb8ed64443483c721b85241a0320b3cac83104de2db47188c61a373fba592ea16feeefdee1f2bb43927396f58151418672ebb74afff5c029503a0d0be81430e81ed443e08b74c03183":"":"a5b71ecf845b25d0":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7b6da11d69fca3e4c907628d3eb63d95c7e502fc901372fd097e064e70831432":"6fe2148f250ea178d4c8ca8423ead87d":"a8097bb74ded776f578eb7588f5ef8915db9bfa7262af700c8e76ee114e07557b6786dd5a60a66b2703e7c9de5d6b42aca92568aec5d1ecc298dbd0edb150b8cc13c9a78698f7674caa94da6cacd1f3ef4ca4238c59830ea725ab3a6284e28966c8c32d9bccfb0cfd6583a5ca309debe86549a6f317d15c5f928cbc7f473310c":"":"e9cdbc52":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c5ae9328be49e761064080fc213e53e373fd86359a09d0355e2d438d9b8e68f1":"a7e3f8660ff925d5c88c5aceffbd7026":"2ddddba7a56cc808aec4602f09ae9bd78887827bf0315d8dbe16821606ef9d117746dd138bf1f23565d1ab8f4cee36d53fe3730632c5df9f12109b16edbeae285bb49dfdd155f5dc97b319a85362d53cc86817b7c1c31e5e87c9f37422f133d00dd0776bd92ab05ce6860573cd911645cfe3fbe515e85f744899a447fe443653":"":"e35dbac8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e4f8ca13ba86c658cc7f42d4f029422209efbd101bc10a1df81a42cfb3a0f79f":"1a362fa0e4054ba11e4b06d59c8bc9cf":"e7ad5c75aa13659f8ce4b1650c46382645ec67418199b84ea445b8ceef619ef3fbde59ed3d313c459e36fcf87d26ef2b453409b32f1086934c3072c1ef0aac83762d28b1193b9afff2c083ce4300b768b0ae23ff9d3dcf65bc1693f1350da65180620aab205aceacfc683c8be53a332e2d0337a7518d2a5204f9c8d7325a4799":"":"e7a37f15":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"00050a21ca1e72cd0924be31b943c60854be6744577de3dd9d1f4fada4a19ea6":"2fc1afc1395d8409919248709f468496":"":"693ffd3d92294857a99c702a0799eeca28ab066dd90917b9ea5ef8f6547f1d90b106cbec8ef2c22af9f8efa6c652f2f97c2baf33af14fe9def230d49524bd65909c3df1490f637f99e788dcc042b40e00bd524c91e2427ef991bf77e7b2f770cda6e90076c5dac4cac7ee3958b53ff8ce846c3a96281f53c2c52f5f3e523536f":"e39b6a7fd5ac67a2a1cc24d5eb9d9c74":"":"cfcd6b9ff7641829cbadeaa2e56f1f150a099eccf3e378fa4da59794dcc4490aa4f9c5db0ab245bec36a7d4557a572008e42f03bc1baff3c946f23f54a4dc9828f106cf4264e4ab40165839d1085e7795b1ae0950f0ee4a08e46ada501b6b51dee0e518129c9426e5bd44c66674a9f99cfe676f002cfd344c5bbd22d3d91e600":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"f10965a66255f0c3515af497ccbb257a09f22ec2d57c5edae322a3e6d2d188ef":"c571ce0e911de5d883dc4a0787483235":"":"91598690edf2de8b27f9bc7461a84e80811cee544f0542923898328cf157590251f0342cb81d359b5dccc5391a12320d1444c26f24178977dd6705c2b365dc1ece0152c42e2f0ee3162cf886ef5529f4f16a77f3bdd2aeccd405b59addf098521d0d38cc25f1991e11be7ecf24caedb48a2a286d2e560a38fa9001c5a228c4d1":"6d9d3a5dbc8dce385f092fff14bfffda":"":"2867996e389e09ec0da94d42e77b1e436b50065b09ca4adf1cd03240444ee699dbb7b3fc081a1869ca607d77d5ff9754fc3c997ff0a4ee17543a2ba77886b88a7128bcc51d3450df58ff3a26671b02c1d213df6adb6f7e853080eb46b504517cbaea162710a9bbc2da8b552eb6b0e0cb98e44fcab0a157312be67974678d143e":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"4437ee7d16d8c3ca1aa01e20b66749efa901614d4bb4bee786ad5a5f1bfde2e6":"275393276745bc43bae4af1e5d43a31e":"":"ff80727a3485cdbc7fab4ee9fadfdc621c538e2055706629046078f1aa3fb687fc728d3a7ffa52ae457b7b5649613eab7bafa464bb435314c49e5900750f7ad39ca9b75df6b2eaa755439e101f67b7ae4cd80dc4a9dea0027048253f2d0a6014056ca69b8c85605b00cf75fa7634a0ddf464270a8c79ce1a1324c4a4c513b24b":"a82ff1e87d26e4d6e417b60fb2d3ce23":"":"88f994d276ed20be3932d16f551c4b7e2ed80411f2e72ce098fa0b70c22157a59edab30649fec447dd63f0c87dceca7238ef0d9561b58489ba7bd86f2892743099f40af63c432f78ac0ad0b5c2be47b9e3045e7237b096ee400f430af63a6f309de785caf190f3f4aabbe79f727a741590de542bd343df68d13db55a5f8bab41":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"fe4ec037ce563dadee435cfcb2bf090f1f7ccc7d1b5b4fab2f1b738348f8ed2f":"47f5264f7a5b65b671892a05fa556f63":"":"64eb8a4bda9804c09b04cfcd89094928c21480908b81ee19d6c29c2a3631b1a5bdc8e7f8ea56f7b8b8e14a5208296026785cac3a6afa54be8af4d5faedcd12b6621bde0f8ec5a2635fe72a89468ca7704c73aa40cd2ba97aef08886b27a694d339b00e7d12a31308672f87c06a7388a1432f869eb4cc1da864140b1b33931925":"660462b4088f6628a630f2e4170b21":"":"4a310e035361f98b8c54fb4cef70b1a9c910552ece056ca8fdab54c52308ec0ad7fe9dd1dae92badab5010577de522088768fa6466fbccce22e14c51ca7986c4063d0f06bf578dab16a91856713198a7138395c49c78b6314b57ab72fd079028c8dc351952d90b04a7cd2b245df0c0522447cdb7d3329fd9425fe5cb40a8e7c9":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e6e1ada628ca76eb9832cc6b5efc5c9d2686bb587366a6de2d734233fa95279e":"5a100b451e3a63a3e6d4b8a9e59c6bce":"":"a0ac738e0fb35246b84a6fbe319f827039515df25d0c0fc6de7c048253ae63d3c561e44a12672ffeae1cb925610b482aa422bbee0e1784fc69baac3a97d69f51e6d2a17957b44b318624ea7ec680a559f4d3f2761d09bee66efb3a312ae6b3ecb673e756b2a0f654671e82500e7ace91f2be2a74bc3bc1ec1a4b6877a53c27c8":"88df9a1ea54e5bd2ef24da6880b79d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"cd5c1e90d78213155c51767c52c290b3d657db8414ee0a7604a2ec7b48105667":"4e022d8d86efbd347e8cbab7e979771f":"":"8e987693da0fb77b6d1282eebd3a03e05d9955ff81929b1a2c721574862a067ddee392c7ece52ca1451f3e6e321d7208882d97b4149af6d78d65c054e1bfcdfa62bd2202de32dea8363f8d7f041891ce281840f3cd906ab46ca748e5b3b11890b4014bf0271c9427c874097782d1c13dbb40e78fc8276fc134f3c29923a43a01":"e7df79af0aef011299c3b882e3a45b":"":"3b20473d9b5018d089e7f74d3fef22ec2805948a9e07689831973c704a6d8db4d090af88d696ab8c3aae9740a2bbd7f03e0b18b2b591e59c335c1043a2578a89b1a9f20fd0dd53f12e00e9bfdb27de8caac772bbfc4de9e4a255a5d1b04e59625a87b8279babe613def58d890d5502abf2f709aab625dcc20c58772832c7bbab":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"6e3dfc07003bb6a2d82bd5263b2832f47db4e73279266c7a9ea21f4f18eddf83":"7c0f49fb54f5e68c84e81add009284e6":"":"a960da222af9d4da5797e6957d59b00f6d3893599c70e95c0984b56eb3329b191703c2532f3288b15ebf655b9b5ee4617484e5ac9c39bb06731d03ebe4fef9495d003b0ed694cf540b4dc759d32629e55512680badd81234bd71ffd55fcb5e6a85031c1dc31ee1ed198939582d8336c905717cc87101dcfcf9d833fac815c8ea":"b2ec0f3da02a9eb3132fb4ebe3b8":"":"a40b6f70f0572fe0bc70d83368e7c154f7dbd501f52501630a2e523d18e216e07368521f6040d806299397722b99bcf7f85d36b8bed934b49aa1fa76d38783e6a2e392d6d0786d467f7bc894a739ecf94f0fe884a9c391154f8326bf31ea5242a18aa263d04da4b63b11de23b42d3e10a2d5460cb32700cdf50a0d89165ba22a":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"4103b1ddff87a508a219c808a04ad4750668688f4c2ee75b92d28d70b98a2c94":"5cea906737518c2cb901016e30206276":"":"a00a196193ff07006b7df524824bd0971d63f447a3a7bb1b75c1e2d11789482c115cff677b54948d36dc4de34200bce97be0101d88cee39b177857dd5da3cb0d2f9d6e1150f72a3bd655e0bace1d25a657ba9a7f8dff082b4460432075afb20173da22b49beeb6a030d72ba07869ff4389fc1c28d87018d7c1a9829c21932197":"3a3a771dd5f31c977e154ef5c73a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"cd8c2f0c330d5db316dae7a16b57d681ca058864f7bd60f3d0de174442283f77":"387ee8c1e7f047e94d06d0322eec02fc":"":"e2a5ad295d35031535bf13c2993bd0b292e8a9465b9dab738e59ba03670248a1ecc92b38a55bae34729162271cc1572c35fcccb27417b48dfcbff852a7a8845cc829a4461061b558ac8b5930a5c6491ffba04a9d0dff220b3cd5e4fc2e0f3db3b2ddd90328f2cad819573a7856299620b02f5ee0267f3b56981afbf1b7d9e3e1":"62356850d12b54e39872357cfa03":"":"17b7f6bdfc1993c56dd9bd674cc276a55a46fdd9fd5fe435b9e4b7ebc7052a9dc76a99e4e43aba7d486603189c90d10a21ad3722c86bf5bc856a0f930ff5bca65be708b76bb8a29105da67f31eebcec81f28aaf526d2f8f0feac393a24959dcd612e2b93b4463f61957d2b3046bcdf855e346601e4c7760c0ca618ee7bf55381":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7e19e400872eed721d560202cd757d3eb99729496b6e3a6d38dd8afe1066045a":"d2b277f78e98f1fa16f977ce72ee22a7":"":"3fb9abc7aba654dfb174e8899c17db222ffbb387b7260fc6f015b54f1cd74284c516e21aae3b72338e5e8dc643cfafca0678f5bda3a7539f1612dddb04366031b5a3eda55f3232c1b176cc9be7cc07e0ebca674a272224929c401a2530efc6d4eed0087b544b12d172a01bc8340d9c2a2ebcb5af8b07d96073a879fda140c196":"4c81c044101f458fdfac9ca3b9":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d0653934a16fd36c27d54488a1829302b931bed6e26ca26047242b85b50bfb61":"94886a1845aebba5ed6b86f580be47f9":"":"c02347e1add9178d830d8baaad9aeee37e958bedf2cc846e2561fe8c83481d0a8a85911e7f1f6e444b28f30bd96c13c390e80f616feb6844ee6fa486543a2e3f38c138f45b4405e3fb331b64648219aaf1d574be948ccfca6afc18d12488db19c35b05601e47c0af5d49a93a5dd4420f38585c1eb033e173376fa390d3f948df":"4be34ff42085ef4443c8b6042d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d0f0ccb88c7cec9496f26a59ddc67dc59ebe49ae3dd89ef3be008598727e214c":"e5ca84b907ac761a5e68a9080da0a88a":"":"7845e155f4f28021291e7c814a1ace8f42b239990831aa82758fc1e376cace0b6f668f7f2f224dede1ef5b1df7ae74b2c01483701044acbbb72a9216eec6b7ef0190f114b3c73c6985c4653f11601c774d10b7f9df1f1e1f3ff4fafa20d6525edb37d9e5acfafe6d3468ee068d407fdb56dc718c98425926831253978d727854":"c8f78e4139dd3eaf2baef8aafb":"":"0cc3ede50b0d3fb9ada11300a3239a383c98f968ad65266d57a195bb18d3e568fe6cabba258da4bee9e923c7c838e06dc887a6c49cc1453ea6a227c6a83e651a8742e0316cad5efc93739393e3603446b5c920a206db1434adbb8ebde4d1a7a8699c7f6c61b2d57c9709b564338423b4f526d6c157647a6c45da9dd521061f05":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e35dcea17cbf391491ae5ba6056d0dd13b348183474dd4b614742751bdebfc32":"fa549b33b5a43d85f012929a4816297a":"":"5213542beb044910d7fdeec8bb89de93f350760e493286eaef1140485380d429f74a4279c1842a5c64f3ca3381cb5dbb0621de48821bded650cb59703e0ca88f4e9c3d15875f9dc87d85ba7e4bae9986ef8c203fce6f0ce52c28e3a93befb4cc4ba3d963d2283cd30f9bf6ab99d92f2f4f3aff0b022f1751b89d43ea10bbb28a":"afa61e843cee615c97de42a7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"844c50ddc0ac1d9364b21003287d6ae6360d12bbb17a85351362420ee4ca588e":"2f8512bb7e214db774a217a4615139e1":"":"3a3bf4ccaf05f7c02f5e158dd2c5cb08c6aed4b1ba404a6d8ef9a0737fe2f350b3e22188fc330ea63e35df82f996e3cf94d331c4246cdb25bb2c409762e05ddc21f337edee51b64f1766ad18f520b3f34735b24278d9d647c533a743e0c1e9c81e9dee975cdc47e8582113fd250ef59353605b64acb7c025a97854c1a5c03237":"f1da1cebe00d80eb4e025feb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2aae1aa047a20ed2d6d8336d923864cee9404f924031ae327fbfe2d293e1d93c":"3da9af3567d70553ca3a9636f0b26470":"":"8e5b6b9e4e7d01de9a919dd33c0c1eb94dcfebf28847c754c62c1c00642d9e96f15b5d28ad103ff6969be750aadfd02fc146935562c83ec459a932a2fd5fda32eb851e6cff33335abd5c2434ae4f5524d6bc74a38094ced360f4606a1a17096ff06604952c8ca94a9a6dc4a251e13b0e0c54bd8a6dff5f397a1eb1cf186fa518":"e1026b3d15d261b2fb47632e":"":"58c52ea9f3b162511160eed1a68b6f52b3c4f5834af728de97a3d9e4ba337b29aad12636003cf5be9ffbeae0f383f7cf32f645a8f6fc5cdc1cde91c625c69a92bc434ed671e52a0044a48f3fce55cae49a7d065c2a72603a7efe58b5a7b18ac500d1a51420e820357e7a439b1c02198ebe3d4e62d5573a3aa5f40900a21e3b41":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"f3d69208cb0d27474e9a231cd46eac7c1574fff950c48bbd1ba03fad16f563df":"b957f05921d21f2192f587768dc12b4f":"":"0d1f06eef5e8f2c81d1a73bb1dca93c22cfb6e40e9948bc75b0d84830fb9216330424f580b89050c3fb3f620eca8f9fd09fb86d2e8b3a0869c6022d8a705fc280d66fd16d3aba7395d6be4bed44145d51d42d56285f3675726d62d94c081364a6d440511de83a613c598b03078e2ec7648c6302defbbea66aafd33e1a4b1686c":"322374fbb192abbc":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"cb2cdeb17fa6bcb006c7fc60858a12a411804464458db351957e8caf42f1ee6c":"31bd7c971a6d330b566567ab19590545":"":"296504131354b2c1928982f12d408ba2377f2d4bbe87e4c69f92a15bf6003910a43bda6c8929df66b3ab1d202a5258cad199f32f36cc30d2dc06199c2a52f7ccadad1fce50123c5f8434dec57cc60cc780263d7aace8f59cc8a6c54bddbaded3adb12ae2ee0bacf6a8da635ff85b51a4e8a1b3dc404863b90059de4ad0f158dd":"efc5a1acf433aaa3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"f94170790fadab3240df568197f9d6f6855afaed8d07eceeaa2380121872529f":"2f9c0647a4af7f61ced45f28d45c43f1":"":"ed231b78db082f652bc6310c396993b52de804a82464fa3fac602a1286535f59c67fc2b1b420c7321eb42b971edde24cd4cb9e75c843f2ac6fb8ecdad612d2e5049cf39327aa7a8d43ec821161c385f3fdc92284a764a5d1cbae886f07f93017f83a105bb7c3cc4fc51e2781516a2471b65c940ddae6b550ad37b35f53d7cc64":"ab74877a0b223e1c":"":"1cb5ed0c10cee98ff8ecfa5a1b6592391bbd9f9b1dc1ff351e0af23920d546b5e27d62b94daabd32f7f96a2632dc9fd7c19bf55f3b9b7cd492e76f4d6b0f5b437c155c14a75e65bfc4120bef186da05e06a2fd3696f210292ee422ddbce6e63d99ee766b68363139438733c5e567177f72e52ef2df6a7dd33fc0376d12ec3005":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"797c0091ff8787fe7cd0427c02922620e7f6fb71c52ddcc03a9f25c89ba33490":"69d81c73008a6827a692fa636fbab8bb":"":"2d3efc8900315c3691a8e3c9de3319d4deaf538fcf41aa0e295b861d0ac85baf56d149a6437747dd6976f44016e012b88de542fb8e5b9e4ad10c19deec4b7c0b69bc1b2e33d44a981ded66127dea354b072010b8dc24b85ed2ffeea3b9c0e931619dbbf22677691f0d54fc03eaa162e0ab0d760ad41021f67057c0d6ac19ca8f":"be2dda5c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"90ce1afb5500489b9edbad987f4009509c847b3e55cdf0c764ef2fb085e3d033":"e119e166471ecf44bc3a070639619931":"":"98482b54edce2bac1cd64d44917dcf117ebfbfe26ad17a9b263447028304f1cf5a69559c05b5d833420f4fddb6e308277d01eb4b3235f1c4b47d33d3899325b55e7be19d43187a5b1b1354ce02a529b3df1c13b4883902ae9fc565079dee825e705f3e580371e4fd86c3b0d31bae98adb529901f346ca07127314152b4370edd":"b2f54b3a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"29264a90f114a800c0fc3247b3bda00981a12a8f85cf3a19ea4c7ffdd005f4bb":"cf296aa43cb7b328e09c8975e067404e":"":"587c8e53ab5ae8c31e16160b4a41d88798e27f4ad61c573c023c62d4dbb3952eef5026ad7b453fa9e0694347ab8fe50a6cf20da566202b81e325cee9c07ab2d4d53ed45b3ec2d2135936515f8a24f2a8116807dce9df3c44edf64c32647145152ff241d9e018e4101e400af070192dc3b498b5a213d265b4cfc8c8d4d7deccb5":"56015c1e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"84ff9a8772815b929d55f6052c0354cf3e02bcc8336fcfe5794952b4c45d5d96":"5c044a66e488b853baf479f7dee2aadb":"00304e3d40cbc6d2bee0778462884f4ec047a8c74bb3dd7e100f2b9d0e529fd24730063986117b56ca876b208a3691425ac63afc3d504ccb499c76622eade09717023fcb7d956b01ce24a3e53cb5da472be3fcf5b278b5d9e377de22fab75bc74afa9670f5fe9691aa0ed77e43f6abc67a61ec409ec39fd66ac0307bf195f36f":"a87de56d49725a1625baf12fd15931fe1a6783dce5d1e744eba108f45e0c105d8141dc027d0e33ad7efb6752b43729715e2f3e2c42ebdab4d5f72f886bd821c4372244699ddded99a63dbe7763a5a3bc21cbfc253cdc2514eba2a4f54e24dca7c207cb3f6ae80153d77fe0641f357d5a073dcd425c38deb77c45f27427345516":"72ddd9966ede9b684bc981cbb2113313":"":"aadb8537309940422f67ca393aa6182d67fe7c52092538a15e98a4254f0a9087c7f10903d5e78078c2e55de914dec8b6b35cb720e3e55963c0ac9901e44b83a0e7c5b2d3f002aec0a4a08354febe47b2abb955f2a21107626ef0b8e1e099650812a6fecf36908fce2d078c2735cf7c2b970a309e5c6d6ff29c26a05720c57105":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b5ca3991d0160b1729ae1a622dcf4b03b1f4ba86150bd66bf35cbbee9258af10":"f8402184d1cc36df07b68ecb1ab42047":"d378cfd29758bcbd21e26a324239c42c992941b3ad68d9f2b3d2def3a051fd172ee882562970ef59798ff8d9eb5f724ff17626156f4cf5d93e41ffef6e525919af6194ea9bbb58c67563d3ffd90e5a6e2a3a33bd1fa3d55eff5dba7cd439d571f7e08014c4780e3d10904ef22b660897e78258da20b2600e88d71c35ecb6329a":"62aad5854a238f096bdde0711ac6f5763e7fea29db068ea8c911f17ba91e6d7807883e6fc5ba7db17af33da2b00973008a3425e65cc786ce1b97360019ee2cef74563d54752be436b905705b507c3d62689df4edf0356d26b693eb43d8a2a927a9f3866b7e0e19e84a90447bd6f47e31070fa7c2a71e3f78229ee19fa47e848f":"9e8b59b4971130557aa84ec3ac7e4133":"":"556dd32edc0af3c64186fe8c000ddad1516cd14721c93c228e379d4f87e32c79e734539cec930322048f34a2b34931c585d44f09966caf187ec4b9244c991a8a5f263e9da1d08d6086e52535afdb36c7662307521cbceb9ecb470a76970243723fbc1613b6ebbcae261ac2f1936e66ce29ec7350b2e6b2f73a910ade645154f7":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"df867d1dd8a287821a54479cab6f88636d2aca30e1bf01a5dffc735e17590356":"35019826c51dd1ef07ff915d9ac4ea96":"0375ed93f287eefe414ab2968844bd10148860c528dbf571a77aa74f98cc669a7fc317adc9f7cf2d80dda29b19db635b30a044399f3665b6176ed669146d28f5ada03b3d32d53fe46575a8afcd37f20386d9e36f7e090b4fefadfab7f008e02f1b5022c0eeb81d03443a276eae48c038ed173631687d2450b913b02c97243edb":"6517272cac85d7f38902bcb4b96a0c59c4bdc46bfefa6ebacd7f2fb1629b87ca91de2ffefc42ce3cfd34dcbf01b3f7cadcea3f99e6addf35d36c51f2ceb1f85c1f56a04ec9c9fff60cd7fc238674992183ea3de72ef778561b906202b7b83fe6562a0bca9c1e0a18638e8685b998b4192f5120435809ad6e93a0422d00725262":"e49beb083a9b008ae97a17e3825692f0":"":"723be39bc13adbc48c861b07753f64fac1ae28fc8933acba888b6538721df0a8b91c040a26522fe0dbb7335d8f63d209e89f7cde23afa9ca3c584b336d63a91e07fdd8808b14c3214c96a202e665bbaaa34248ff30348f3d79c9f16e66ad6c5903305acd887a89b6244eb7c2d96e18b13a686de935bf3821444ee20f48678be5":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0e8e9ce6294b7fbc534a96bdd060120976a6e08315d2ea73ac61d085cd462a44":"4edc6be20f904b4789e5bee0a80a3fc8":"db28ce076b360816cd1e04b7729f8ab080e0a07f35204350f3bd056945aab8638c0e8311ab056f3e5debdbfbb03fae700770264faf73e0f3a05a5812aee84ab613c82f4a76da276250675f6a663f85e2c26d4f4a8666a7f4cedaffc1a7218dec11ca4e72b8b5d5b620d1efbd3d3b94a5ae0d118b9860dfd543b04c78d13a94c3":"9855f186b51358f0e2111c06bfaaeaec9bf95c55e246375c614fad9883d86c82a20c86538dc5f42a0ea69677d59a20c5112d15d2a8396f12096242ad5d7b838d16ee0679fc4017af75bc15e8ad2f77b0e802c864031cbfb0bacd95c828d1db4b7bab0713619e9e5e8fe6902aac7a9e6c42eb05f5b156f7e663ee43e6fdb62480":"03cfe6c36c3f54b3188a6ef3866b84":"":"e10142f852a0d680c983aad2b4609ccbd35ff61bb3eb66442aee6e01d4cc1cd70f45210acbd506395d6ca0cfebc195a196c94b94fc2afb9ffa3b1714653e07e048804746955e2070e1e96bff58f9bc56f3862aaa5fe23a6a57b5e764666ddec9e3e5a6af063f2c150889268619d0128b3b5562d27070e58e41aadd471d92d07e":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"886c77b80f5f3a21c01932685a540b23629f6d41d5574fc527227ed0bdf2e21b":"5ec506edb1890a5a63b464490450d419":"05b8d820c9f439d7aeae5c7da0ee25fb0dad47cc3e6f3a47e8b984e856201546975f8214531fc3c2e504d2ac10fa49cb948596b9a8fab01b95c49d6f04d1589f93b77b899e803dd20e1f00a51c0b5953e85be639109b14b100e35ca26d84ea629964b0db8260dfa5a150a66261bf37e79de2ec49e9f1b082a7c58ecd3d39b6c9":"53a17d7b69f607f08676d6f6dd4e8db08e01333a8355d8c87616e84cdf10ef5b041fc6ddc3f6a245c0f534c2b167064af82f45e4702a5e8dede59579fdecf6713353392433950c9b97c38d9ee515ac97d0970ccf03981954540088567a30941bb2cca08cbed680500f8342faa7aebbc6c143e2ea57ba6b4ac1fd975dcc5d0871":"ffdf56e1c1a7252b88422787536484":"":"79ee27adfa9698a97d217c5010ec807806feda37db811e398c3b82abf698aece08561fffc6c601d2691738e279eeb57e5804e1405a9913830e3ba0d7b979213ef40d733a19497d4bb1b8b2c609a8f904e29771fa230c39a48ebb8c3376f07c8013fff6e34f10fe53988a6ec87a9296c0a7cfba769adefe599ec6671012965973":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"5231ca6d772edd9ea2d251e22d7d455928c22474b4b44130dad57e6511fed6ee":"048698a4a0feabc1f336112e2794795a":"3a81b6b0b722899ff931cb73c39222d555b83ae3f8880b982593cbc1ab8be90d1ee32fd7dfe697cf24c95b7309d82c3fed3aa6b3d5740cc86a28174ac8f17d860ebb251ac0d71751c2ff47b48bfb0b3beb4f51494464cda34feaecddb1dbbe5fa36c681ada0787d6ed728afc4008b95929a1905787917adc95f1034fedcd817a":"2767c808410ee132291585ea74a48ad3102f883f07d060c91c5f10abd37fe0996d2210dc490260238ae15f5d74c7be2a1e15d80db09079c520047f88488a7802857a3fc3b81d85a96949997430a880177880a31d4d0c9c9045247804f057a4f2756d6e40375a4a3187c4376d6bf573ce334cda1ed88d8a50db499e7cdb89d8db":"ba61edeb7b8966188854fc7926aad2":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"5a3f516a7898e04e5da4efd6c7c5989b77552d195464620c2b35b9a4fda29cce":"9310af6974890c0a0364231f9cc8103d":"2103af8356bcb9dfc2a4f1d4ed09cbcd8e1990d23865605e19f87feb50bf8d10d0257740e5557a9297f0499c01e29a1a513ca18e6f43f7406c865cbe3951a7771128f3110c8da3bd696368901944549552842a1f6fd96cc681b45da098f3c1acb3d237d2363285f520d0b6714b698790b7660c52ac84a42c9721ac7e9d38a2ef":"5cc28b61ae97557774bdcd7ff653f4aa349df68d53c7e5a65263883ef1fe224ad40e86bffc2d38f28a2ed9ae1fc08563e2a1e46246106546eb8e6064c06baa0046fa137421734b7f0f94656a4f459d9d981717557d843700d116b6e5e2dd3af5f67c34edf31b40b71fd3c6f2475f9310feb70bcb973be52d41e86792c49d54c0":"993fc8e7176557ee9eb8dd944691":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"59c9258554363d8a885fc0f5d112fee08eadfc7ce52a0e7e73e3d0d41d9a0290":"77e51e89dc47bbcac79cca21e81a61de":"25a6f8800a9b914c0ebf9a45d72355c03ee72a138eb81b2980f332645ce1d7aa4659805821866aee2b276e2c032776b4eaf36f93b5f9a72b791be24e31eff105ca6d0700e3069ee327983dd7fe1c7465d6c6d77837aff69055149988e7199847fad98605c377d997dbd40f3e2ff1a4f978a493684e401249e69540fbde96323c":"79c491411402ea7878e480519fd984dde44bce6459303bb76d4eaf97d4e345d1aafaa68ceb0590b41cfed0f411b675d9344c7e888cccfc9eb6fe6b229d198f94ba516ee850ee7f078a4f5f32a23f92f72264e3a76a31ebd042564315ac4f2ec0bb49ba6d08cfd2d3a6308688e39f28e3ecd669c588368cee8210edf5dbefb925":"ee6d85d3f3703b45adb4f9b2f155":"":"44ca68deed5478074adfddc97f06f44c08bf7bca4dee8707d621fc7396fe2efcdad0a167d1708a9ff59ce4cddb86920bf1dbdf41b2109a1815ffc4e596787319114cad8adab46cf7f080c9ef20bcf67a8441ba55eac449f979280319524c74cf247818a8c5478ea6f6770996026a43781285dd89c36212050afc88faa56135fb":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"5e9eae594cb54c8089330e4404ff79abb1c0841b0be5347a14633ad1e1ff44fa":"0917b486da754f48bb43ecc8766a7ce3":"2aa1ef2f91aeba5da10b48a882dbd4574df4e9157a18abf8cecd03e4176712ba171b6ecb0e745841ff84e35063e47b08101afc44cfd9cededb913a82f00b9d4bac922f23a22f200642270399896405d00fa5271718eefb4cd5fe7e5f32097766ebff36ff1898a1c8a1a01cc18e6121e470805c37ff298fc65ef2fb1b336d09fd":"32abc1eb6077555a85a0a6fd1c78cccca6c8b375842e2eb8eee45ee6c38dc0837443d16c647252e8124639dd01c808ac5e857a25d927c2a75e2fa8955cad5beb5c206fc050cd933fc4621f5718936f01f39dd700ae1aee7537cc595df8789c5d1a6e1e87b1c7a60e3ce5d57c80dd65dee3801798e1481b1963bcc78cc69f8c50":"92282b022e393924ab9c65b258c2":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"aaf03c3055a35362212b9b059931e7a24fc71e32bc9a533428c9dc31077f2ebc":"7dfccd077b29e6ed5720244bb76bde9f":"21edd1c6056f51fd5f314e5c26728182edcd9df92877f30498949098dcde8089eed84e76d774ef8874d77125669a302d268b99dcd66b349d0271dde6f8cc94dc4f2df3787887b1173cad94d067e346846befb108005387102854d9387d2c0fbc9636cdf73a10d145f4b612c201b46e1ff4465f6a7654ce3da5792daf9a27fb35":"c0e12cdd8233878505e025d52427536be7b6bf1887d2dd20eac7092db80b22417a3a4ca83cdf5bc5e36161be1ff9b73f7ceb297c6d07c9cb2a75035a5dc079e48283daea60596f4b356ca28c243e628cbe459f069709fe193394c9b1a31d8ccc5a3a4eba30056c415e68571a2c34bb5c32efff12e9aa483c4a68be5e76aba4cd":"6154c6799ad7cdc2d89801943a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"60c775971a9eac7950ed2bdd85bd60fe948ba04c419f6743fb67f37557e46c6e":"9b92ad7079b0de09c94091386577338b":"1f6a84b0df75bd99a2a64849e9686957c6a60932ebe898d033128be9b757e9890225925d856bfdc33ff514c63145f357730bb0435c65342bc5e025267b410af6fd388a5eca01b7efc87fd3b1b791df791bd47dfab736350d7b7f368b4100e04c939d5af957bab95ed502dac904e969876674602a0f0790da2d7351b686e46590":"8abb2e66a4d08074916056bb8e925551372f737f0e1b597c5d08ee102989743a273b29d7281013f8b3aee2934399cb427370d70370ee86eb41584b653660c633506a53cae747826bb7d93909f069d5aacf058b7f2bbdc58ea08653db857bda83a979fc22a4f126dfef7aac45177f4cdb802fab0c812fb35d12a8176ec21336d7":"1d6cd4ab3914e109f22668867f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3b426e449337a14bc0663246ab61b671b523c9a3130c21ed59c93fa6a5aa5ae3":"e6efc96acd105fe4a48d1ac931eea096":"0902cf7a0685444126369712ac47962bc2f7a3a5837f1b6190d9ab1adb4cd35e7f0892eee628b8e07fcf2b598cebe1ec07d8c4823172ae66a135bb51cc71590707b691a66b56af1ffe38772911d11685da355728eaddd83752d21c119d7b59f4c17c2403629fa55cd70cd331aed7b0de673c85f25c2e9e0267f53f0b7480c8ca":"291bd5a00d71eb7d547b7c94e7030ba4a947418eaeb378a3bacd304b08c6f92f6958eaba968ac6aa23e0512a2a8ad7c1ca2f8fcf623bfc1281f5b7b598c08d2aebcd447668b23238c5e338b4c2ac7f8fd381714c596ea3e0c17aca4317a08563e58f0f52a8af08e078dc242ae54ee0fe3869f8c9687b004a4ded0aa27d8f4c5d":"ca4bfeedcd19d301d3f08cb729":"":"bcef3f2fd101b828d36cb38530cf9a0a7a285ac1c55ee1069cc78466327e85887534c98a8891d579effd832c0f7d6e7e822fb1eea85a39317a547591def4aeed6660872859fc9d1df9725d3c40e9ccaa900e0f1426a55d20ac4f2e8e07bd3bbc687f8e059ab93e7604c97e75ac94be1c8c24f4c4da0080a4d77953fb090cbb62":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"ceaf204ff504ea8e7fade1a2097f2b527a44766860447322fa5ad346cd810217":"cfdb8183251f4b61c64e73243594fdc6":"a60f3969fd1b14793dd1425aa0b1f742a4861e0b50eaffd1525cd209ba6d1252176763bb5bee59aaa55f92341cdc0705899aba44cf0ec05cbf80274ebef65cd9507fd4224b25cac19610968d6a37e2daf9ddf046ef158ef512401f8fd0e4f95662eebdee09dd4a7894cc8c409be086d41280bd78d6bc04c35a4e8cd3a2e83be3":"1c8e4cf6018211518494d46c2e0607fa42e236abc28d58f8175c530f84b1f030572f5f6a74cb5517e1fb999a637d352afcbeadea9121e695675859b66b499a3a351ecba5226e58ebbb59fe12e359e4c89cd51c8703d4643c49921ae495801c73627df404b91e828e1d0e03ae09a39defb5aa5f2c8106953772ba0713d3261329":"9e45029f4f13a4767ee05cec":"":"5cdc66b587ed5eebb04f42b83a6ab7017093514881c598cce332d74fa3fab927493ac15bff26835296e080b5b45ef907c0529fc2f4ed2fc09db179ef598e5d193ea60c301d3f8d823404814e3e74de0e1d2417c963e9246c353201c7a42659d447376e7d05c579dd4c3ae51c2436407b8eff16ec31f592f04b8013efcfd0f367":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"15652abe38cd09777bba21d0db04637f5737d3cb3922181b9f2d07bfdafd327a":"3a5e0d223ae981efb405566264e3e776":"cd755437cb61b539908e0cfaaa36c0123f8f17d1e6539783cb61d4b56cac3bc1e971c1ea558b12669b025cb6b9ad55991c6e2f8ee8b0b7901790193e226a0fbbfff7ff0bee6a554660b9f32e061b6c04bf048484ff9ebd492f7e50e744edd72d02c8fd32f87f9421bf18a5a20ebb4d9dbe39a13c34b7296232470e8be587ba09":"1d6c153dec3b4738a09c9fbdfe31a093eb7ea79b8fa49f83e5e1f46893590f074fb171fb66e30ef887767014e3a10a3aa05da2bd50dd7b7936e1d7f6f31af9030e31e76bdf147f4396464db0f6a72511c4885c6c2305d339906e3c761a3249d7ebea3bf463e8b79c3706e684575550e964b8047979f7aed6ea05056c4b5840b1":"01a573d8e99c884563310954":"":"162430c23f7adcf98575a2d9249b4b5cec42efae33776360ebfa6a19c8eee4bd6b07cbd274deadc3292b7cdbb7803e99d9f67ccc5077f3ad5808f339a05b3213dbfd11377673d4f9b486a67a72a9ac8ea9ba699861dce0de7e2fd83d3ba2a2ec7fabf18b95a2bbe2184ff7bddd63111b560b3afe7f2c76807614ba36c1b011fb":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a43f6d07042a15cd49f6f52a2a3a67c6c2ff420d95bb94b9fe03b287c3abcaf8":"3b6fad21f0034bba8b1f7a344edf7a3c":"2e01c0523c8293fc51388281dccdb8d0a2d215d729289deb327b8142d716c2bb849e9476545b82f3882ba7961b70c5da2a925ba18b6b121e9215d52ac479c9129c9cd28f81584ff84509d5f9dcb7eaae66911b303cc388efa5020ac26a9cd9ea953f61992a306eb4b35bcd8447eea63cef37bb0c95c1e37811115cf26c53e8c5":"b67e58c8b608724fd20aa097ee483bc4c804490cc79de635170944af75c87ae0ad8261365c1dc80d852553bcba18da9fbc3fbe61d27550a03003ef0c60202054626655509a9e1ab54677e537a4e761df011d6c6dd041c795446b384161ae9eab441afd24d19b58eb4fe5116cd7b11b751ebbd0a2adba7afc380d9d775177099a":"43470bc3d7c573cb3a5230f5":"":"e1720d451fa7ab9db4988567187244b15b6fe795dd4fef579fb72e41b21aaa436d2e5d8735a4abd232a3fb9188c75c247f6034cdebb07fd7f260f8e54efefa4f2981cafa510dd5c482a27753a7c015b3cae1c18c7c99a6d6daa4781b80f18bbe6620bfc1518a32531017a1a52aadb96a7794887c11ad6bdd68187ba14f72a4b5":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1f0f0191e18db07c0501dbab4ed952c5603a4cd249d2d8d17e62e10b96ae713f":"ab8be16b4db809c81be4684b726c05ab":"a5a6e828352a44bd438ad58de80011be0408d410f6e762e3145f8b264a70c593476b41bb87875746c97de7d5fab120bd2f716b37c343608ee48d197a46c7546fafcdbe3e7688b7e9d2f5b6319c91d3881d804546b5f3dbe480996968dd046f406c11f0dc671be0421cbc8b4ea6811dd504281518bb96148dddf9f0dc4e2e2436":"aad40e7866c26e486b6f6e8eb14a130d5f88891bf0d09aa8fe32f447ab8dea7bee5d3eda4499c0103a010483f2b64fdf1155499d31decf528c77dd7627884f9995c213cf7402143dbb7561d69c86886734260ac94ffac7eb33598d25714228ef43f744ec1af2a87e789f1e5d6fff0fbd5082dcc49328f194e8f8a14a5bfc962d":"d8bd7d8773893519":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a6cf7d83137f57f2310ee6bf31e8883952bb07ccdc12f516233ed533ea967e5d":"f17e37e73a28c682366bfe619cc673bb":"0f4dd201b18e20230b6233e0d7add6f96537dd4e82d3d0704c047fab41af5faf6bd52bd14fa9a072f81d92a2ce04352f0b66f088c67102d2d127a9850b09ff6087f194a6e8ccaba24091feb303eebb65f1203b2d22af44e7be4de71f03e6f6cbadf28e15af58f58eb62e5bddfae06df773cc3f0942520de20078dda752e3270f":"83ab20698fd7573fd121976a72b45a7f03aad84702fc8ac73d6926eabd8a546895aeffe4ba81d117507e2cd37d58eeff71cc3afa8a4449be85f228ea52f6dc6395bb43c1c9f795343720841682d9b2f00602eafa4d4cbe297bfc62467e526b9d823cc8eeecd9e5f8dbc2f65610663c6f37b3d896651b254bd60215629ade3b2a":"74110471ccd75912":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b0c85ac6b3887639838ddca94c5c69f38115aa00122322c8114642d12ea1b8fe":"14f68e533ecf02bceb9a504d452e78c7":"796a46236fd0ff6572b1d6257c874038f870aa71cbb06b39046d0fb6489d6ae8622b5154292ae5c4e1d5ff706daedb2e812533ae3a635d339a7fbe53780e3e8204924a5deb4b6856618f4c7465d125a3edffe1ab8f88b31d49537791c0f3171f08dbb5ed1d9ed863dafbae4ecb46824a4922862fe0954ee2caa09ab0e77ed8fc":"0210fce418e7e2199cb8f899c81b9be74a630d00269755f882fc4db27632e99685cc12c426a7503473646df1288d0ede28408be9add5713628700f8e2b2e27d7522520ed00ac47239084651eb99e7d03e1520aae137b768f3144232c16b72158fd5da4a26a2525b9b27791bf06d1eb2e671c54daf64fddc1420bc2a30a324ba5":"6fb0b5c83b5212bf":"":"5e6c362f7587936bcb306673713a6f1fb080783a20e9bbb906456973e529cfa0298206184509c30e1d3793eaaa5d564edd4488f04311821eb652e0a1f4adaf6971505ca014788c8ce085ceb3523d70284ed2bb0aebeba7af83d484df69c87f55a93b3d87baa43bd301c4e55eb8c45dcf3e4612535ea1bd5fdb4c3b9056d0cae9":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #0 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e61b1a6b40e2ab1245ff65dcfb9948318ac4fe55e9ed600cec301dae32ae0e93":"c356244b3034d288e4d4fe901b8e27c1":"bdcfeb09d5b97bab05a7acd9849e7de2c5beb7a4dc573c7e1c1d0c0409245a6584023114fdcc6413c800ca16847bde750b27c4d590248e2ce457c19b0f614f6aff4d78d4a19b3251531e5e852fbb05d09412cc1ff8988d1955ca6f5fe2d820f20a7642e3ae69e8122b06ba0918e806400b9b615e1abe6fdd4f56a7d02d649083":"8d67fa9fcf078e421cb63abeb25dba739ab0e09a091dd06b0c616e1e888f350edb2d73a42f57f115266ea20c7f8fc143ac746649612df06a5e29b4a15934dc049be1ab49d018ab86c4f37d8c3d9c714f038029e74d8ee3dbe61d81adc63712ea413b37f7604da12107aa1695d9b0981e5a92cdfaa5fbda0e31b22c6fd6f3b499":"86acc02f":"":"7c73182eca97d9617abb478a6ce62e3491a7e9951981c89c3071b161a4c80440614c3f24d0155073e28dcccee96bc8303dab4901ef77318df522d16d9da47770ef022395d6104cd623d93d67090a27507fc8ca04157e7939e639c62cd0e7d8a472314833c0eaa9ba2fd54a25b02854e3bff25cccd638885c082374ae520ed392":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #1 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"4f5a02e9843d28c8c226ed70d44b8fced8fb757ab6ece4d4f06e3c3cec79e44f":"099e5d9aae89fb6391a18adf844a758e":"ad93e8662c3196e48cfdb5aa3bc923cd204151aa980cbec78f0d592b701f779c1c49f9e8686d7e2385a4146b21a643a59c18c8b82214f42560bcd686fad7c7c8e8c1944ce6b20ec9537dd14b6cf2592740ca112f4cd582250d69f240d3e957040e1f7e19c60b3c8f2bd00cb666604c38946eb9b2f17336d281b4794f71e538a2":"3ec13950d329f24074714c583bdc35686b811f775b76b0a8fcfa66fc56426c9d022f8ab0af38f8d2f71a068548330cdbe891670181ed7491bf40c739ef4dd93689fd35929b225089d2b151f83d9b3cd767300611144586767354c0491112c205409f3168092d27f9b9f433afb79820a2811984d48e70c1fb2a13bbb3ddbc53fb":"30298885":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #2 [#1] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1cdb218e0bd0e02156e5b48182990f778889793ef6018a8928e61164ac047c8e":"d2ffbb176f86bee958e08e5c7c6357c7":"bc580c4223f34e4f867d97febf9b03629d1c00c73df94436852cafd1408c945c5474c554cb0faf2bae35d3160c823d339a64ebd607cf765fa91f416fc6db042bc2bd7445c129b4a0e04b6f92a7b7b669eb70be9f9b2569e774db7cb7ae83943e3a12d29221356e08e5bf1b09e65f193d00d9fe89f82b84b3b8b062e649163dc8":"4d039618a0eb640329f90fe97de18bc928fc3fc7a0db42c97774bec2e882e872fc1097c8319f7837a16516bf387b1bae321c565e8fc1cb8480f051158e4685f0adba310d2c6253bc1300403cbd3f7ddcb2796a69f8bf9e73d47aada9a02673c1a3d5ecdac838abf22b385906236529a1b7dd5b8af2611a04cf4f83b15ba41cfc":"1997daa9":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"dc1a145c18bdbca760f35eea0d4a5992de04a0615964ec8b419c8288ab1470f0":"7f8368254955e1b6d55b5c64458f3e66":"":"":"8ddaa2c3ed09d53731834fa932d9d3af":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7b4766d3a6615ee58b390daa228ae7a541c46ce80a1efe227cc43cb777df3232":"274367f31ec16601fe87a8e35b7a22dd":"":"":"5f3a757b596e06e9b246ed9bac9397f9":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d19b04055bf6e7ff82e89daef66c9d8319ab25f9197e559444c5729b92c4f338":"796efaff4f172bef78453d36a237cd36":"":"":"3b445f38bf4db94f1a9ec771173a29e8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7ca68e300534a90a7a87ca9906e4ac614a6aa51f769b6e6129753a4f83d10317":"45e6b23f8b3feefd4b0ea06880b2c324":"":"":"6c0a1c9c2cf5a40407bfa1d5958612":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a2b7cd693239bbc93599d3d12c9876e7303b227b8ae718e2c62e689e1fd62903":"548c9c8fcc16416a9d2b35c29f0dacb3":"":"":"3aa21f221266e7773eeba4440d1d01":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"156b854beb0c276a5e724f5da72f0d1ca4ae7cbd5f93a2257d95c2e5bfd78ad4":"a5129e2530f47bcad42fc5774ee09fe7":"":"":"6bb09ed183527c5d5ed46f568af35f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d824330c60141264e1f709d63227a9a731bcc42b4adec1d8f0161b10b4fdb2ab":"c5afaa45312c64ab3c3cf9d6c4e0cc47":"":"":"55952a01eee29d8a1734bbdf3f8f":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b5517589948d8aea778df6fd66c17a170d327f69e504f0a4bd504c4286a9f578":"6404b111c6289eefa0d88ed6117bb730":"":"":"637f82e592831531a8e877adfc2c":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"f6137b2bcbd327fbcc7f313efa10f6ffaed30e4782e222e1225c87103fcae905":"3b87b08337a82272b192bd067e3245ec":"":"":"1f2dda372f20ffddd9dd4810e05f":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b5e70d1b78e931abf44bba3f937dbc344858516a8a8afe605818dc67d0c3e4c4":"58e70095c6f3a0cda2cdc7775e2f383d":"":"":"1763573f7dab8b46bc177e6147":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"90de0c047d1dd01d521f2dedec7eb81bc0ace7a5a693a7869eaafbb6e725ad7b":"d565c9cdfb5d0a25c4083b51729626bd":"":"":"78738d3e9f5e00b49635ac9a2d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c43e8dbeafb079692483a9fcbab964b76fccca6ca99e1388a1aa9bf78dfd2f02":"f2bd4fe0d30c0e8d429cac90c8a7b1c8":"":"":"ea7b52490943380ccc902ca5ae":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"13540919fdb95559e37b535a427efeee334309e34c4608459e204d931b8087e7":"c993c1802df0f075ce92963eb9bff9bd":"":"":"edfab013213591beb53e6419":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2a7b2e07c148ff0f627ae28c241a395876bbed0c20f3fd637330e986db025714":"8f7e1621c2227839da4ea60548290ffa":"":"":"f9da62f59c080160ec30b43d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b3e7837a75b38ae6d4299a1ae4af3c2460dfca558708de0874d6b1a5689b8360":"05d363b2452beff4b47afb052ac3c973":"":"":"6b4a16d1ea1c21b22bdcb235":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"9df3ccd95f7570f6ecf5e5329dcb79bcd46cbcf083fe03aa8f5bd0f645c6a607":"774f4e70a7577b5101c0c3d019655d3e":"":"":"98ff89a8e28c03fd":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1c7123e2e8d3774c8f1bdbb2272f19129e04f29b4351ae19c3b9d24e6ea1fe87":"99f25cebd6cfa7f41390b42df6a65f48":"":"":"8e14a0a4853a156a":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"490090323e9257517e2453469caa3414045cacb4d05d5cebc6b9c06fa6d19291":"c1beff1ff6cdd62339aa21149c4da1e6":"":"":"f998d7c08d609b3a":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"360e48dd38d9e7f5bf29a2994ab5b3c9c70247102d94049ae791850807a4c845":"88126c350dfc079c569210ee44a0e31a":"":"":"f2ebe5e4":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1562b32e4dd843edaf4474b62cadd8f46d50461f5b22c9f1a8eae7367d35d71b":"af29fdb96f726c76f76c473c873b9e08":"":"":"13fd6dfd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d5160d0c98ffcb1c26aad755f67589000e2bb25fa940e6b1d81d780f421353d9":"1552604763453b48a57cea1aed8113f4":"":"":"660c5175":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c3a3ea3a097c0c2b3a4cb78462d87fd5a8f348687c4150e9d3354b388ab13d17":"f77945979241fb3a454d8e3da193e169":"a69bac31241a2c07d3f7e331b77f662b1e67ccb81c07f52578b01f5785de9437f02eb7627ca7b9af09c1cb428fe93d6deb31f4d6dd2f0729f87480bdeb92d985de1aaad4bcebc6fbad83bede9a5dd1ca6a15bf5d8a96d4edb5bee1f7d195e9b2e5fb2221a596d69f257c18a143eda870e22d3f2ed20c9b3b0d8c8a229c462fff":"":"6b4b1a84f49befe3897d59ce85598a9f":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e1626327d987342cba5c8c63b75b4ed65463a2b9c831f4f9f80325fa867d1d73":"4e25800deab7ecec2a2311f8fb44eb7d":"ebaffd558f24dae03117c69ac4b2b4aaeaffe7e0e7599eaba678bfce23a9914dc9f80b69f4a1c837a5544cba08064a8f924064cba4d783623600d8b61837a08b4e0d4eb9218c29bc3edb8dd0e78c1534ab52331f949b09b25fbf73bece7054179817bc15b4e869c5df1af569c2b19cb6d060855be9a15f2cf497c168c4e683f2":"":"8faa0ffb91311a1a2827b86fec01788d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"938da64b837275b0c80c442bdf2301aa75e387fe65a775d10a8ec840f62ff429":"dec6adeb60216cbb8a6c3afba49fa201":"4ac144bd95f405649444f01ab67ef3e4c0a54fdbd933b6ba00518c79db45c22c90030c45aadcfdb53ec8199be0cbb22dbb9ab938a871f4b3b0c98ed32590a051abb946c42726b3e9701f183b2092985e3457943a6350fbcaece2e6b111b179ea3fd10ac080a577a1481785111d5f294bc28519c470ff94392a51a2c40a42d8b5":"":"2211ca91a809adb8cf55f001745c0563":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e2436484ea1f454d6451ad8dbd1574b208d7a3ab4fa34869299b85c24348b43d":"97040d2ec094fe1c64fa35b35b7451a7":"bc198677513ce0e66697dfe52b22315fa5d8f92042f34cc9f373a01f94607df1a599132f60af010ed9b5e52162dd7b162912b68b11700e08f5fdafd84d10f760fc05ec97c05b83e55155194f399594015b90a19c04fb992e228940fe1b54ba59c4bb8318b33cc0df1cb1d71c389473dfb3eefabfe269ca95db59a7bc0201c253":"":"2e080ba16011e22a779da1922345c2":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7fb3fc72eb8a3aa5b102f90039f852cc3fd64f46915f5e49f1d9e02fe9cc13b1":"f6120fea313362524917c53d90bafb4f":"60c2be7fbd15faf895fd19a9ce775fe2b183b45cffafe4fcbf50d421bea97347e41a9418cfa129b2dda63b889a70063010215dbe38c37feae18bc31b34f31b726f22177f2b4b9d648dd4aa80edfd12dafaee10baa83224354432d1cb62ccabe38bb8448d162cd0d30e988d2e1a2458ffdafaacbdff928756390f66dc60d7ea45":"":"83de3f521fcfdaff902386f359e683":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"697c96d80d0a3fa9af35b86f31fb71a17aed30ce841c79896bbc8863b3b3ee04":"3a5163ec7e007061838d755ac219855e":"de50c12da63232768d5eb9920d49683b5b7114cb77448fa10b9d63552ec5d9c2eac94b375d11f944959f903bb20c696639b6e7f108ec1e873870098c631ddacb2c25268cfc26d2a4cacfb7dda7383374c5456bcf4daa887a887f4293f8caa14419472a8bf7ffd214dfb2743091238b6d1142b116c2b9f4360c6fe0015cd7de81":"":"cd4542b26094a1c8e058648874f06f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"66c1d9ce3feb0e966c33e3fd542ec11cc32f18c2514b953103d32abcdc72633a":"46fdb88fdde9b7d74e893802a0303256":"55d2f263d2e3cf0b390fce1dd1ebd5f666086f26e1ce2f08002bedbb810ada3922c6bfcf6a6adaa556e9e326c9766f02b3eb6e278da2fa3baa7dbdb6373be3c6ecfbe646b1a39e27c5a449db9b559e7ea3496366b8cdbca00ee7a3dea7fdfbea1665bbf58bd69bb961c33a0fd7d37b580b6a82804f394f9d5d4366772cee3115":"":"96ca402b16b0f2cd0cdff77935d3":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d7c949420dc9497232cd5810f316d11f9e85d36c430b5943ba79836d88c1eb92":"7ef9788ff09cbeedd9569d49083a4097":"ca1de5cc3fcde2638eb72210e551e9c0e0a3f5570d5be83a9a4406b545d854bf17e75b9cd0f4c45722fbd71319a317b72a8798485e9316a1c8102432b83bc95af42f6d50700ba68f6f2e19b6af609b73ad643dfa43da94be32cc09b024e087c120e4d2c20f96f8e9ddfe7eae186a540a22131cedfe556d1ebd9306684e345fd1":"":"8233588fca3ad1698d07b25fa3c4":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"6fe7c70815aa12326cdcbb2d2d3e088bbaaef98b730f87fe8510b33d30e12afe":"e0253bd1f19e99a7f8848206fb8ac4a4":"397897eca4856f90d14c3cdfe1ad3cba47e23174ae2dab7d2a6320898584e03bffa3ffd526f416d7b3c579b0f3628744e36eebb5df519240c81d8bbbf5c5966519c5da083ab30a7aa42deae6180e517cdd764b7f77d19cc1a84141817758887a8d7265e7e62279b9d33cd2f1ba10fd54c6c96d4b8a5dbe2318fef629c8e2af0f":"":"477b0a884d788d1905646bd66084":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"cbeefb3817cb02d617f385cf2371d52c8bcbc29e5e7a55cd2da131ca184c6e89":"f74156d6400ae46b612531848bffe18f":"1abe2ab05ceccf2391273126fe4a4426b94d2c3b97a7f1cd2ee6bb952bf4a546e972b5a1701d5ddb0e5bb7a248fcb47107a9fc77e4b9806b68a11850119aa239fa8be1370e3a2e1a8b168f7323afdfc4b8917d92570167848a56132d68876abc386c258a9233dc8a9eb73443b052e842c3d63e8b5369acdd038404e4e9a4b038":"":"0cb67cec1820339fa0552702dd":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e6f5f65ce2fc8ec3f602f5df90eb7d506dd771337913680ac16bdcd15c56583d":"9212a548c597677d1747e98ce6fb18a4":"55ca486c0183d0134925880d2e21dde0af51c4c77c6038a5a9c0497884e0aa4715bdb5b4bb864acc708ac00b511a24fa08496df6a0ca83259110e97a011b876e748a1d0eae2951ce7c22661a3e2ecf50633c50e3d26fa33c2319c139b288825b7aa5efbd133a5ce7483feecb11167099565e3131d5f0cb360f2174f46cb6b37c":"":"08d7cc52d1637db2a43c399310":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0e9a0391435acb57eae2e6217e0941c79a3ff938ec6a19b8a7db2ea972e49f54":"27cd1d7af7e491e30c8110cc01392529":"79140d32bb32dace0779e2d37a0f744d6d973e99a279962b43a6c0af63772e8a0a21d5d9dd3c33d4b218cb2f6f24dd8d93bb4e1e6a788cb93135321ecfed455e747fa919b85b63b9e98b4980a8ccb3b19d50d735742cb5853720c2ad37fa5b0e655149583585830f8d799c0d2e67c0dc24fc9273d9730f3bb367c487a5f89a25":"":"fbb477dd4b9898a9abc5a45c63":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"55a12eeca637654252e3e40b371667e3f308b00f2fd2af696223e4cd89e3fd4e":"8a3793b6441258360f7f4801b03d0b26":"f5810dc5f25e49bd6d94bc63c2494aa7a579a4056a25f1dd9b2734d0b8731ee52523edd54ff475651d45c213e1bf254327fb0e2c41a7d85345b02bcc9d27b08915d332e1659671991a4bb74055967bebbba6ecceb182f57977130623d5a7b2175fa5a84b334868661c1f450b95562928b4791759796a177d59ed18bbf141e2ad":"":"99230019630647aedebbb24b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3d353f870a9c088de5674efd97646b9c5420b2bcdfcffefcadd81682847e5331":"f267fa982af5c85359b6447f9b7715ea":"7cf55630867af5dff747c8dd25bcc531d94a7730a20b6c03d46059ea93fcaa00d07ee17dad0e0dff814b02dfef0cbe00b37fd2f5f95ead7c72be60016f2934d7683fc1e47185c7211c49cb03e209b088edb14e533dbcb792ab7033728904f7ff12381a236dba97894ec1fafcf853ab15fff343f9265d0283acef10168ffd1271":"":"9553b583d4f9a1a8946fe053":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d227c9ff5d17a984983056fb96f3991932ae8132377529c29238cf7db94a359d":"b8f6536f376a7efe0e684acf350bae70":"1cc25da31f90de7fa47ebce92754d3faa99f88d4e25ccab45645c1acdf850d55d7f02f61a0bfdc3125f29259d7da8abef532fe0966c63d3486753c8a2cb63a39349a0641b2f2b9526a03b97d58ca60fbb054c6c164ff2836688b0cad54df2b165bc082eeae660e768dde5130e30f8edc863446661c74da69b9e56de8ae388da0":"":"44b95a37fab232c2efb11231":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b2a57ef85ffcf0548c3d087012b336c46f6574cf1d97ca087bfad042ee83eec2":"3d580402d2a8dc4d7466e5dcb456be7a":"c2b9e95c16e55028794a63ef82d11fb83a2a75dc34a81f238e472c33264534bdd54cd07d02a0ecf9019ad1a6d6c779f339dd479e37940486950f183bade24fca2f24f06d4037b3555b09fc80279ea311769473eb0630b694a29823324cdf780d7d1a50d89f7a23b05f7a8c3ad04b7949aa9e6a55978ba48d8078b5a2fd3c1bbb":"":"072d4118e70cd5ab":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"63889ed5bf2c27d518a696b71c0f85592e3337aae95b5bf07289e4c5dfdc088d":"1ad534280a0fac7dce31f2ae4fb73f5a":"be1b9dabea33bb9443e27f674b27931c0fba699a33dc86fab29e50b76a9441030444b465317bbf2949faf908bc1b501d11a5ea2042e4b460a85f3be5836729e523d99b56ef39231d5c6d8ae2c2ab36ef44e2aa02a1f2c559c6e333216c7f9ed5f9b880a88e920219204c99a3ae8f90afd1396563bc59a691a93e0070b0b5fd90":"":"1bcea0ac2c1a0c73":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"94e3e2c17cfb6f52d4fdba3ba6d18bba891b6662e85df14d7e61f04adb69e0e5":"8a80efb3bfe220526997543409fddb4d":"05da1b0f7ac6eef488d3f087ecae7f35abe3ef36d339709dc3fcb5b471979268ee894c3b6c7f984300d70bc5ea5fba923bfb41d88652bdaecc710964c51f3e2ae2c280b7d6c8e3b9a8a8991d19d92d46c8a158123187f19397ad1ad9080b4ffd04b82b5d68d89dacd3e76439013728c1395263e722b28e45dabf1ef46b8e70b5":"":"faa5c13d899f17ea":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"fe5e479ad0d79dbf717a1f51f5250d467819e444b79cb3def1e0033c80ddadd8":"47ce838083fd070d8544c0ad5337cdc6":"98476bf05a18c4ff1b6024dd779c1ac06d838705a0a83fe42bee5fc6ebf3b2a1a5049b67f4aabc8239cd6ff56504bcbad1e2498c159bbec2a6635933945f6ea49e5bc763dcf94f4b3643d3888f16105abb0965e24f51cb4949406124145e9ae31cc76535b4178492f38b311099df2751f674363ae7a58f6f93019653b7e6a6f0":"":"a3958500":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"27d4dedb71a8f68ca5ce2b9e56da772bf5a09b7981d41cd29f485bd2d1adb8d4":"7e6f0343c54539717a97b6c8b9f7dec4":"d386db78043f719b7e137cbf79a7f53dda2fe3baccbebb57d499f6eb168e5151f10081d76b72ae0f30165efbdda469e826f9246e59dbcad5c0b27691c00d6c192c24073e99c19cf8c142087c0b83c4ce2fc7ba1e696394e5620ab2d117d5dcd2ac2298997407fd5de07d008de8f9941a4a5f8074736a59404118afac0700be6c":"":"50fd1798":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,0,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"5a7aa836a469d28542d0d24d3232fad266da8fc889c6b6038b726d3da25f7b20":"9faf7cd805803e143ec8f3f13475efd2":"1006c707f608728b2bf64734062b12a5625062bcdcb80a3ce2058352a2922d5e6fbe19681b4f0d79ad3c837f81e72f2fbf8df669894e802a39072b26c286f4b05188c708f7c6edd5f5bb90b87ffa95b86d84d6c1c4591b11d22c772a8ad7f2fe6bd8b46be0e93672df2e8bff8ba80629e1846cfd4603e75f2d98874665c1a089":"":"07764143":"":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a9444fd176acbe061d0221fde3ddfcc4ff74e995d981a831297c4cbda51c22a1":"5714732145470da1c42452e10cd274b5":"":"c146ff5a988496cad7eced7a2ea471e0117d5d6bd2562c23ce9db4bf36d83ba3fc22e90486ec288a627d208e0b2fd3b65f8301cf7fc41d97959981a95cd1cf37effc46db99b94b21c941c3613c26a10b1a6b7793f467d58ff5134612230f1c49d7e1fcf664fe52fc6eca46273982f6fe729b009d90eb8d8e4a0b0dbe907b76da":"db85b830a03357f408587410ebafd10d":"":"a3cad9a57fa28e6f6aaa37150a803bf8b77e765f0702e492c4e5ebb31ae6b12d791149153e469a92bb625784a699fd7ca517500ee3f2851840ba67063b28b481e24ba441314e8b7128f5aaccaf4c4e2c92258eb27310bf031422b7fc2f220f621d4c64837c9377222aced2411628018a409a744902c9e95c14b77d5bb7f5846b":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"686d3bd071e3f46f180611bc4ec8d7726fe72b6c617e7d42b3339f53918c9e36":"a714e51e43aecfe2fda8f824ea1dc4b7":"":"21983ad66449c557263aef299da6eef8f31d576fc17ed2dac3e836f7c2ceaff3094b2695452680e188df10c174810efd1fbaa6c832baedce0b92e4c7121447f6461ac909b4302cdf658095b1de532b536faa4fb38cfdf4192eb5c3fe090d979a343492f841b1edc6eb24b24bdcb90bbbe36d5f8409ce7d27194a7bb995ecc387":"cd30c3618c10d57e9a4477b4a44c5c36":"":"9610908a0eb2ee885981c9e512e1a55075a212d311073bbb2fb9248cce07af16ee4c58bdc8dbe806d28480f9065838146f3e1eb3ae97012cfe53863a13d487f061a49a6c78ca22a321fa25157dbe68c47d78f2359540cc9031ee42d78855ed90e6b8ea3d67725bfffcb6db3d438c982b5f88d9b660f7d82cb300c1fa1edebb6b":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"6fe81f15a02e2ecf46e61199c057102d160e6b5d447d4a275972323fff908c3e":"91d55cfdcdcd7d735d48100ff82227c3":"":"0b4ee0385e6665da8fd2ae47f2d0cf1c5bd395a3bb447047ab5a3ae0b95355bf83d0381119a8d4c01acbe60cd7885da650502f73498a682fdc94f7b14f4c753226064fa15e3a90a6083e053f52f404b0d22394e243b187f913ee2c6bb16c3033f79d794852071970523a67467ce63c35390c163775de2be68b505a63f60245e8":"cd7da82e890b6d7480c7186b2ea7e6f1":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"4c2095e1379389dc3810e8819314f5a2f87d1494213c5b1de1a402f7f4f746c4":"19788b2e0bd757947596676436e22df1":"":"26ec8ebac0560538a948afbc18fb730e9a91f21392bde24b88b200f96114b229a5b57fa9d02cf10e6592d4dfb28bf0f00740c61157ce28784e9066ea3afd44ecf3a494723610cb593c0feffc6897e3435c6f448697ad3e241685c4e133eff53bdd0fe44dd8a033cfb1e1ea37a493934eb5303ae6ef47ce6478f767ef9e3301ab":"f26a20bea561004267a0bfbf01674e":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"be5351efc0277afc9759ec2464a22cb4401f7a17efd1a205e7af023c7ed30ee1":"c6b26117d9dbd80c1c242ad41abe2acc":"":"1eca91406f338fc09c2988b1d7dc8c409d719300c03840a497d7b680cdd5e09b144903477f7116a934e1d931cf368af1fc2a0a0e7caa95475a3cd7bf585a16fda31eb3f8201db0216b37a1635c1c030836b3dd05ca5b0194388fa198e717822131d5d4318690ef82d35ac80b27fff19aec8f020dc6c6ce28f0813bbbf8230ad9":"61051d6c0801b4a6b6ca0124c019f3":"":"95447aded336d6c20d483a6f062d533efed0261ad321d37bf8b7321b98f55c0f0082ce7f3d341b18fea29a72fc909d30cd8c84a1640227227287674a9b2f16a81b191ecf3b6232d656c32d7b38bea82a1b27d5897694a2be56d7e39aa1e725f326b91bad20455f58a94a545170cb43d13d4b91e1cee82abb6a6e0d95d4de0567":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"814c2cdfdeecf39d43bb141fbfc62dac44f7552c5e5dac2d4913303fc860119b":"0db3ade15cb0dea98a47d1377e034d63":"":"0d3013a1d7132f685d001420daa6c7b643bc36b887511acc4588237d3b412c79e4ebba29c08248ad46c7239e8daa232b7483c9c4e3d1c0bbebc696401efe21f7fd6fc0525a4ab81bd9a893d5f7ab23b70ed07c00f33649b8a996a006de6c94f7793f72848793f4d5b31311c68aae1e715b37409fbe506dac038a0950f05fe82b":"e62f910b6046ba4e934d3cfc6e024c":"":"374d03cfe4dacf668df5e703902cc784f011f418b43887702972dcc3f021bcb9bdd61ed5425f2975b6da7052c4859501eb2f295eb95d10ba6b2d74e7decc1acacebf8568e93a70a7f40be41ac38db6f751518c2f44a69c01c44745c51ad9a333eda9c89d001aa644f1e4063a8eb2a3592e21c6abc515b5aacaec8c32bcf1d3c4":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1ae4541110f2bc4f83cd720b5c40c8315413d896e034b75007f172baa13d29ec":"83f98eec51ee4cae4cb7fe28b64d1355":"":"5ea811e7fbfc0e00bf2a6abfac50cad9efd90041c5f7fb8f046a0fecbd193b70a2de8a774d01dd3cd54f848cb3e9f5152ee1b052ba698bebfba1fbbdae44a260447d6e6482640ae4d01c9cac3d37d4ffe9a0de0b6001de504a33ef7620efe3ce48ecd6f5b1b3a89185c86d4d662a843ff730e040e3668d6170be4cced8a18a1c":"df47eef69ba2faab887aa8f48e4b":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"20c9b662ec4bd13bf58d64cb0a7159b0e7fee4703af66292bf75c8bd6e42e8dc":"2bc0847d46f3d1064bbf8fe8567f54a2":"":"45b64f2ed5ac707890c0c1726adf338770ce6a728fe86bb372c4c49409a32705f881bc4d31a27c455c7c7df9dd2c541743523e7d32f88930d988857847f011be5f5f31a31e8812745147cbff5c1294d0fd4a7285db4833f22bf1975250da99c4d0dd2c9688d7f8001bb6ef2bc898ce4d42c5b78e74645b56ce992338f49d4183":"5a1bf25aa8d5c3fe5cf1be8e54a1":"":"9079d6275db076625e8474c2914fe483d413d5339202f98f06c3b0ef063d8f3d31029deaf7f9349bfec57e5cf11f46f02d5a6520c7992efc951adbbea6d08e53faeb10dfe8b67ee4685da9ea4fe932551a65821147d06d4c462338e6ddda52017c2bc187fd6d02b7d5193f77da809d4e59a9061efad2f9cadbc4cd9b29728d32":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0a1554db37f2e275732a77e521cbd8170729d8677a85db73feacf3c66a89d689":"b9194a4d42b139f04c29178467955f1d":"":"5421d93b7e6e0091978c673df4f3a406aef5f13eb5e6f95da19b0783308cbe26d4fd6c669cc4a9f069d7e62e4c6fad14b80e918fe91556a9a941a28b3dbf776a68ac7c42df7059b5ed713e78120aec84e7b68e96226c2b5e11a994864ed61b122e7e42ef6cfdae278fadbae1b3ea3362f4e6dc68eef6a70477b8a3ffcfba0df9":"05949d591793ca52e679bfdf64f3":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"3ab1d9bb571c4bdc9f3ef340914bddcfe0c8e7718d4a2530334372cec86e5fcb":"6a5335901284dd3b64dc4a7f810bab96":"":"80bcea307e009745724d5f15d21f3b61a5d5a8401530346b34a2adfa13e3e8c9c9327d6fad914b081e554fbe6c1c6fe070b566620e559555c702c0ab5becf61ea1d9de64351ce43b2276ef4e20b5af7ce43db6d21286af4e740ef00c6d790705afcf0ee4850fffc12c662f2bd8212feb21db31065ab8f717a7509c213352b869":"04b8e5423aee8c06539f435edd":"":"36b9602eee20b8f18dce0783cd1e01a799f81ae0a1ce6d293a26c62f47e7dad85c8446697cc09c81d3d9ead6f9e55c4147211660c8aea9536cc5516e9883c7d6854be580af8cd47ba38fa8451f0dad9c904e0e7f9997eff7e29bf880cd7cedd79493a0e299efe644046e4a46bf6645dfb2397b3a482a346b215deb778c9b7636":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7dddbd5657e22750bfe6baa70a1f4ac46c1ef8bee573a57cfcef50b66f85e593":"fcb962c39e4850efc8ffd43d9cd960a6":"":"2bf5aba83a8161b9d21ff29251fb0efa697b1ea9c1b3de8481d5fd4d6b57afda0b098decdc8278cc855f25da4116ed558fc4e665a49a8fff3aef11115757a99c10b5a73b1f794f9502186c13dc79442f9226bbf4df19a6440281f76184933aeae438a25f85dbd0781e020a9f7e29fb8e517f597719e639cbd6061ea3b4b67fb0":"1d8cdadcf1872fb2b697e82ef6":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"6916b93b2712421f1f4582de7ec4237c4e42e2b32c7dced2f8bb5bd2e0598312":"b4d9248bb500e40de99ca2a13e743f1c":"":"3739cca20279a36ddb857ac22beae901a49529b3182463ab81a7c46e437eb0b0571e8c16f7b626ecd9f2ca0cd83debe3f83e5d58ed3738899f4b616755eb57fb965208f261736bdf7648b1f8595c6b6a779768115e3077dfee7a42d44b555a51675fb1ce9961d0e21b2b9b477c0541184350e70decf7c14a4c24b8a6cd5fed8e":"090d03446d65adcc0a42387e8e":"":"0255be7ac7ac6feb3a21f572f6a593cc8a97f17af7064c80e478f4a6c469cf94d604bc014b003bf284d216161a9c8a493af43c6a0d8caf813a9e6f83c7ed56dd57543876b11f76aa2be80dcd79d19ac61f00fa423ac2f52fae7a8327cd91494ca4116feb735980ad0a4b1445cb7f38cc712b8aee72179e65b97fca38694e3670":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b751c8b724165009a8bd97a9d2a0e22cae5a95c4743c55eeeef0a6fe7d946bec":"160c50c0621c03fd1572df6ba49f0d1e":"":"e8546a5af1e38114822e60e75563a9399c88796f303c99c69d1f3c50379da81e1cd5b5a4a721e23c59da58ea4361b7ff58408e506a27fea24f9a235c6af7f7a5bd93fa31e90edfc322821c08d6324134830b7fe160b4a3e6d27866a10e6e60762a31618ef92f5c67ccb1deb1f1b188f0e687165e7c366c7418920df4f4fcdcae":"9fef9becf21901496772996f":"":"175fa6b7cd781ec057ff78ba410f2897a920739b5fc4f04bc9b998fbc7cc18e327ad44d59b167e4627256aaecd97dc3e4a7c9baaf51d177787a7f4a0a2d207a855753c4754d41348982d9418b6b24b590632d5115dc186b0ba3bec16b41fa47c0077c5d091ec705e554475024814c5167121dd224c544686398df3f33c210e82":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0faf32c22c2a4ee38fe4b5ce08f98fdf6f83b5038dcba5ec8332b3eeb5c710c7":"04885a5846f5f75a760193de7f07853c":"":"8a556cc30075753c6e94c2f669bca2058ff6abcbffffc82da7cfca0a45af82dfb4cf487ceb4ede72be87ee4c8b72db1e96459de1dc96721464c544c001d785f2188b9fccaec4b1a37970d38b326f30163d2fdfdf8a2ce74aec55abcd823772b54f8081d086a2e7b17b4086d6c4a5ea67828ef0b593ea1387b2c61f5dfe8f2bb0":"0c13506ed9f082dd08434342":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0dddc3d2f82bdcdbc37648a6b9b416af28753740f8e998cd1a52a0b665369f1c":"0a93b883cbd42998ae2e39aab342cb28":"":"07bf84b15b21951fd22049be6991a672503ae243b8d285fb1e515e1d2c36bfd5b0d0bcce85791f2cea8f616aed68a7d9cf4eaf76418e8b1ec27751de67cbfd9d9f7905b2667904f10d598503f04c04ea00a681ff89a9c446d5763898430bd7a9dfebfe544e3ed3e639b362683a651e087626ffa63c0c2b3e0dd088b81b07f75e":"5c37918edb7aa65b246fd5a6":"":"ff7b7b2f88b8c6f9f9bad7152874e995eea0ff1ce1ecd9b8d563642a37a31499f14d70f0dd835b7adf80928497f845fd8c2786cd53af25f8c9fe1bba24e3c3860162635bbed58f06cf6c9966bb9b570987a48329279bb84afb9e464bb4ad19ae6600175086e28929569027c5285d2ed97615e5a7dada40ba03c440861f524475":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"a0b1a62e46e7712277fc711e19d0c0c865ee77b42ac964b7202dbcaf428086c2":"e20957a49a27e247d00379850f934d6c":"":"7dd7c0787fdbea4aacf929341659dcf4b75cbca8f92001e8b62a4d7b40272c5755fa9c445857db05328dc11ce5221f044f4b3dafbf0e2d72a1ad0d3e4c804148db578218690ccc620d8b97b4450ff83400a6caaa959617611446a6627138a4067be9ea410d4b0581022ab621928205b4a4480560fc4c2c3b39a2805684006f35":"c99751516620bf89":"":"9307620479f076c39f53965c87d20c2aff11c736c040dba74cd690d275591a5defc57a02f6806de82eb7051548589484364f6c9b91f233a87258ede1ee276cb2c93b4fc76f4d7e60cbd29ba2c54cb479c178fa462c1c2fb6eeb3f1df0edfb894c9222b994c4931dedf7c6e8ddecbde385ddf4481807f52322a47bf5ff7272991":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"ffcc1c88fba1723b3ab57b458d9bffb98b878c967fb43b9db2ae0753d32a3bb1":"d533c2170c5dc203512c81c34eff4077":"":"19b6dec86d93c466307de3a36c0791ed1010b1b9cf8d30347ae46e0f9283c9fda43da8cb491dd17cc4298b1f0b876d6a0f4bcbc9667fe34564bc08f8f7b67045057d19f4bf027bc839e590822fa09a5cef1af18e64a0116aa2a01a3f246c2b5272c18c9aa23efe674ba53d533ae8f0695cb78c1155cdc7a9d7fae2c4567dc07c":"167ec8675e7f9e12":"":"0539287ac546fe5342e4c3c0ec07127dcd22899abfe8cdd6e89d08f1374d76e877bec4844d06e0a9f32d181c8d945ba16a54ce3725fae21d8245c070a4da0c646203d6b91325b665ab98c30295851c59265b4ab567b968b6e98536b7850738d92e9627b4c9c6f5d9ae2520944783d8f788a1aa11f3f5245660d41f388e26e0a1":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"55e94b339c3bafe068ef9cc30787cc6705850114976843777c92b4b331801650":"2e2b31214d61276a54daf2ccb98baa36":"":"147cc7bc4008dadf1956520b5998d961499bdf3d8b168591adbfd99411ad7b34eb4b2a5c1bb0522b810fec12dd7c775784d7ecdc741e6dec8191361e6abf473b219221801951b4d5ffe955ab50eef9cffdfee65ba29ddfa943fb52d722825338c307870a48a35f51db340aa946c71904d03174b1e4a498238b9d631a6982c68d":"5266e9c67c252164":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"13c9572bdef62510d84f2d415cc481cd1e71b9c1132b43e63b21ba4e16de9b39":"a8339ba505a14786ad05edfe8cebb8d0":"":"7c78e634dec811173ff3c4a9a48ae3ae794fbd2aefd4b31701777ff6fcb670744c592a1d298d319717870dca364b2a3562a4ffa422bf7173c4f7ea9b0edf675e948f8370ffd0fd0d5703a9d33e8f9f375b8b641a1b1eecd1692ad1d461a68d97f91f9087f213aff23db1246ee16f403969c238f99eed894658277da23ced11ee":"df3cab08":"":"91f9780daefd2c1010c458054ac6e35baa885cdd2c95e28e13f84451064e31e0739f27bf259cb376ab951e1c7048e1252f0849ccb5453fc97b319666ebbfbc7ef3055212a61582d1b69158f3b1629950a41bc756bded20498492ebc49a1535d1bd915e59c49b87ffebea2f4ad4516ecdd63fa5afda9cce9dc730d6ab2757384a":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"30a14ca53913acbb215b4e4159083106db3fff83cbedd1e5425f65af1e94f5dd":"4f23f04904de76d6decd4bd380ff56b1":"":"8c5f73ee1544553b712ad7a14f31379c8d54a4e432fb6c5112436988d83c4e94954b0249b470538fb977b756fbee70b811d4dc047a869e207bb0b495f1e271d0034e912000e97594033e0dedde0591b297f8a84bafcc93a46268a5bba117b558f1c73513e971c80a7083e1718fc12d0cc0d996a8e09603d564f0b8e81eea28bc":"18e92b96":"":"bb4b3f8061edd6fa418dd71fe22eb0528547050b3bfbaa1c74e82148470d557499ce856de3e988384c0a73671bf370e560d8fda96dabe4728b5f72a6f9efd5023b07a96a631cafdf2c878b2567104c466f82b89f429915cf3331845febcff008558f836b4c12d53e94d363eae43a50fc6cb36f4ca183be92ca5f299704e2c8cf":1 AES-GCM NIST Validation PSA (AES-256,128,1024,0,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"e69f419140289ac25fb0e2ef9cc4f7e06777ac20f7d631918d1af0c8883b7d6a":"531248afdaaf1b86cf34d2394900afd9":"":"ff8dfa4e70490ea9c84cb894dc5d7e1b935ebcdea80a39c4161d4db42cbb269cc86abd381af15ec9a4a42ed18c1eed540decec19722df46f22aa06883297cb393fb23e4bb31a817e88357aa923c7ecbcf24c28a09f622dd21fa70c0a02193024fdcefeaa96cc1b50f81a65dfa9e1bb5126f0c9766a861eed096ec15fb07b0f81":"c6885cdd":"":"f75299e0ead3834fc7ebd4b2051541b598ad57cc908fdcd4324cf4ccf7dcf7b3f0737ad6c026399a8b1b6d3d50011b3c48ea2c89833b4b44c437677f230b75d36848781d4af14546894eecd873a2b1c3d2fcdd676b10bd55112038c0fdaa7b5598fe4db273a1b6744cba47189b7e2a973651bfc2aaa9e9abea4494047b957a80":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"404a5d1ac9e32f9caabffbfa485ce9c27edc9e5cde0f2aab4f32ce3121449b88":"b6e6c078e6869df156faa9ac32f057c3":"6ebc75fc9304f2b139abc7d3f68b253228009c503a08b7be77852da9e1afbe72c9ab374740b0dc391fa4d7e17de6a0aa08c69e6f5c5f05411e71e70c69dfbcf693df84c30f7a8e6c7949ea1e734297c0ea3df9b7e905faa6bbdcaf1ff2625a39363308331d74892cf531cb3f6d7db31bbe9a039fca87100367747024f68c5b77":"b63ec4d28854b7fe2d4d13973f5bcb16f78494ce25cc2820de9d0dc1d8d91db1f19bc9e01cee8418c9e88a69b2f30cdbb0dbdbb50be71e1e666c111c126f2b7197c02f69a1b2ec5e1bf4062b2d0b22fb0fa1585b4e6286b29f6ac98d1b1319dd99851fa6921607077d2947140fdeeea145b56ea7b6af276c9f65393bc43ede33":"94c1b9b70f9c48e7efd40ecab320c2d3":"":"56a0ac94f3ec7be2608154f779c434ee96db5ed4f5a6e1acfb32361ce04e16e1337be5978df06d7c4f6012385fb9d45bb397dc00f165883714b4a5b2f72f69c018ffa6d4420ad1b772e94575f035ad203be3d34b5b789a99389f295b43f004de3daaef7fa918712d3a23ca44329595e08da190e3678bc6ad9b500b9f885abe23":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"b56f0c980acf7875cf7f27d53ad4a276adc126d0b93a5774ac4277eecad4309e":"b004c049decfb43d6f3ec13c56f839ef":"b2045b97fbb52a5fc6ff03d74e59dd696f3f442c0b555add8e6d111f835df420f45e970c4b32a84f0c45ba3710b5cd574001862b073efa5c9c4bd50127b2ce72d2c736c5e2723956da5a0acb82041a609386d07b50551c1d1fa4678886bac54b0bd080cc5ef607dca2a0d6a1e71f0e3833678bf8560bc059dae370ec94d43af6":"2c94299e36b7c4a825ecbc5a7809061e0a6761764a5a655ffdb0c20e5c3fcb10f4e93c68aa0a38c2acc5d06f2b7c4ff4fcf814b551bfefa248dbe06a09a0f153213538a31fa7cf7d646b5b53908d8978f514c9c4d6d66f2b3738024b5f9c3fd86b6da0c818203183f4205f186ea44a54edb911b1a17c424c95852c8d271b2e93":"fce7234f7f76b5d502fd2b96fc9b1ce7":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,128) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"1c5027c36e6caa1b3e5e45fead32b5e3126ac41f106c491b0b3a7c16502f4fe6":"3ee660f03858669e557e3effdd7df6bd":"93e803c79de6ad652def62cf3cd34f9addc9dd1774967a0f69e1d28361eb2cacc177c63c07657389ce23bbe65d73e0460946d31be495424655c7724eac044cafafe1540fcbd4218921367054e43e3d21e0fa6a0da9f8b20c5cdbd019c944a2d2ee6aa6760ee1131e58fec9da30790f5a873e792098a82ddf18c3813611d9242a":"58f0ceaa31c0025d2e6bb58720cce4b64f5f6c657c847ae42936eb1e343fea397c8a8cf2f5ef02ffaec25f431900dcb0910cf32cea9eca3b78aed1c451c7af51066489f87b2a5f8cf28d6fdb6ce49d898b6167b590a3907be7618be11fb0922a3cfd18e73efef19e5cdc250fa33f61e3940c6482ae35f339e8c0a85a17379a4e":"ac33f5ffca9df4efc09271ff7a4f58e2":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"34c3019810d72b5e584f0758f2f5888a42729a33610aafa9824badade4136bbd":"f315ea36c17fc57dab3a2737d687cd4f":"f33c5a3a9e546ad5b35e4febf2ae557ca767b55d93bb3c1cf62d862d112dbd26f8fe2a3f54d347c1bc30029e55118bab2662b99b984b8b8e2d76831f94e48587de2709e32f16c26695f07e654b703eba6428f30070e23ed40b61d04dd1430e33c629117d945d9c0e4d36c79a8b8ab555d85083a898e7e7fbeb64a45cc3511d99":"22deef66cbb7db240c399b6c83407f090d6999ba25e560b2087fed0467904bb5c40cbaa05b8bf0ff5a77c53fa229478d8e0736414daf9c420417c391c9a523fd85954533f1304d81359bdcc2c4ac90d9f5f8a67a517d7f05ba0409b718159baf11cd9154e815d5745179beb59954a45a8676a375d5af7fae4d0da05c4ea91a13":"0bae9403888efb4d8ec97df604cd5d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"29397d98fc5a7f04b5c8b6aa3a1dd975b6e4678457ae7f0691eee40b5397503a":"885543a45fd1163e34ef9276145b0f8c":"d88beaa0664bcef178cbdbfab17ff526b5c0f8ad9543c6a312d93c336707fbf87c0448b07a550580953279f552f368225cc6971f1eecc718d6aad1729c8d8873081357752bd09d77075fa680cb2dc4139171e4a0aaa50b28c262c14fd10b8d799ca1c6641bb7dfdfdf3dea69aa2b9e4e4726dc18b0784afa4228e5ccb1eb2422":"0bbf1079cb5569c32257bc7e52371db46f3961b457402b816588243b4523543430d5ca56b52de6632724c51e6c3af310b28822c749a12bdd58dee58bbc3266631562a998ec3acdc8a2567a9f07f7f9759c3f50b1d1dcdd529256b80c0d227fc1fe8b58c62d1c643f1ac2996809fd061afcf4a9af184c14db9e63ec885c49de61":"7b334d7af54b916821f6136e977a1f":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,120) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"7555dfcf354da07fd70f951d94ec1d86a635edfdb7929460207b2a39cc0cf4a3":"e1b30b6a47e8c21228e41a21b1a004f0":"bf986d3842378440f8924bb7f117d1a86888a666915a93ba65d486d14c580501e736d3418cebee572439318b21b6e4e504a7b075b8c2300c014e87e04fa842b6a2a3ebd9e6134b9ddd78e0a696223b1dc775f3288a6a9569c64b4d8fc5e04f2047c70115f692d2c2cefe7488de42ff862d7c0f542e58d69f0f8c9bf67ef48aea":"a1351cfffd1b0cbf80c3318cc432d3238cb647e996b7b53c527783594683f535950cd08788687c77226b2d3f095955884adc2e475ca1e1eab04e37d5e901ae8934a9d3a0cb37b80612ca25d989856dfa7607b03039b64d7dcd468204f03e0f2c55cb41c5367c56ca6c561425992b40e2d4f380b3d8419f681e88ebe2d4bdad36":"d8ef5438b7cf5dc11209a635ce1095":"":"95e8db7c8ecab8a60ceb49726153a7c5553cf571bc40515944d833485e19bf33cb954e2555943778040165a6cfffecef79eb7d82fef5a2f136f004bb5e7c35ae827fac3da292a185b5b8fc262012c05caeda5453ede3303cfeb0c890db1facadaa2895bdbb33265ada0bb46030607b6cf94f86961178e2e2deeb53c63900f1ec":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"bbeafe86c72ab0354b733b69b09e4d3462feb1658fe404004d81503f3a6e132f":"ee1caba93cb549054ca29715a536393e":"e44b0e0d275ae7c38a7dc2f768e899c1c11a4c4cb5b5bd25cd2132e3ecbaa5a63654312603e1c5b393c0ce6253c55986ee45bb1daac78a26749d88928f9b9908690fc148a656b78e3595319432763efbcf6957c9b2150ccabfd4833d0dcee01758c5efb47321a948b379a2ec0abcd6b6cbf41a8883f0f5d5bf7b240cb35f0777":"a033c2051e425d01d97d563572e42c5113860e5dedcd24c76e3e357559ba3250f1fc5d4a931a9d0900ac025400f0158621f0b1215b2907467bfc874bcabbb28e28de81fe1ee5b79985261c512afec2327c8c5957df90c9eb77950de4a4860b57a9e6e145ea15eb52da63f217f94a5c8e5fcb5d361b86e0e67637a450cdbcb06f":"a4809e072f93deb7b77c52427095":"":"e62adf9bbd92dd03cc5250251691f724c6ece1cb89d8c4daf31cc732a5420f6bedab71aab0238ba23bd7165ed1f692561ef457fd1d47413949405b6fc8e17922b17026d89d5830b383546ea516a56f3a1c45ec1251583ae880fa8985bd3dcc1d6a57b746971937bf370e76482238cc08c2c3b13258151e0a6475cc017f8a3d0e":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"6ad06c88dd4f3becf35eed95bb859be2406a1803a66e4332a74c5f75c09b9a01":"07d8b4a6e77aef9018828b61e0fdf2a4":"cca1fd0278045dda80b847f0975b6cbf31e1910d2c99b4eb78c360d89133a1c52e66c5c3801824afc1f079d2b2b1c827199e83f680e59b9a7de9b15fa7b6848b5bf4e16a12ac1af4cf2b4d7bb45673c5e1241e9996440860a9204fc27cae46a991607bc5e7120d6c115ddcbdd02c022b262602139081e61eee4aba7193f13992":"2219c11672884b93d0290b6a7140feafe416461f1cdaf0b3aa64693d7db2eb10feae46aac7af549fa1b0abc78c11f8df7ee803ef70310fc3e67769f8b4bc64f81143a6ebf8bee9d386a8ede5d2cc0ed17985a3b7bb95191ef55e684690ccdc5ca504bc6eb28442b353861a034a43532c025f666e80be967a6b05b9dd3a91ff58":"e3ede170386e76321a575c095966":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,112) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"87bbf7c15689e8c99a5a32a8ba0dfebcfe1989159807428cdd1f382c3ea95178":"2f19aa1f3a82a7398706953f01739da7":"590dbd230854aa2b5ac19fc3dc9453e5bb9637e47d97b92486a599bdafdfb27c3852e3d06a91429bb820eb12a5318ed8861ffe87d659c462ef167be22604facfa3afb601b2167989b9e3b2e5b59e7d07fda27ffccd450869d528410b0aff468f70cc10ef6723a74af6eebc1572c123a9b5a9aab748a31fa764716d3293ff5de7":"b77d3bf3b30b3e6e5c86cbfb7e5455f6480f423cc76834b4663d28d9f1eb5c40212634e3347668427f7848352ab789886f96682a568260bdaeb7de0aae2af36f5ae04f06c332b158d923706c1c6255c673feeadb6d30bfc901e60b92acd9ddd83ef98686c4d492f4a60e97af2541d470a6a6b21903441020ea7619cf28a06986":"5c43fc4dc959fabeebb188dbf3a5":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"24095a66b6eb0320ca75e2ab78e8496a45f4b000fc43436904c3e386fb852ed2":"0955c1f0e271edca279e016074886f60":"f5160c75c449e6bb971e73b7d04ab9b9a85879f6eb2d67354af94a4f0ca339c0a03a5b9ede87a4ff6823b698113a38ae5327e6878c3ccc0e36d74fe07aa51c027c3b334812862bc660178f5d0f3e764c0b828a5e3f2e7d7a1185b7e79828304a7ad3ddcd724305484177e66f4f81e66afdc5bbee0ec174bff5eb3719482bd2d8":"4690edc843e23d9d9b9a4dab8fa8193f8bf03897d3d29759e9dc9e0f8a970c0f5d4399b9f60461fe5cf439f9b0d54bbc075695e4d76b76298cc2b75bb3e0b516ee9ada93f77c4c002ba9fd163a1e4b377befb76c1e5ab8b3901f214c0a4c48bd2aa2f33560d46e2721a060d4671dc97633ff9bcd703bb0fbed9a4a2c259b53f3":"75a31347598f09fceeea6736fe":"":"0dd2dca260325967267667ff3ccdc6d6b35648821a42090abba46282869bac4bdc20a8bee024bea18a07396c38dbb45d9481fedcc423a3928cfa78a2f0ae8eedb062add810bdbee77ddc26c29e4f9fda1ab336d04ef42947b05fbdb9bc4df79e37af951d19d6bf5e5cb34eef898f23642a9c4a9111ed0b7a08abeeefbbd45c23":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"086b77b5731f971f0bf5b8227361b216746daf8b08c583ad38f114a64aa7877b":"164058e5e425f9da40d22c9098a16204":"6633eae08a1df85f2d36e162f2d7ddd92b0c56b7477f3c6cdb9919d0e4b1e54ea7635c202dcf52d1c688afbbb15552adda32b4cd30aa462b367f02ded02e0d64eeee2a6b95462b191784143c25607fd08a23a2fbc75cf6bee294daf2042587fdd8fe3d22c3a242c624cf0a51a7c14db4f0f766ec437de4c83b64f23706a24437":"629317212ff8bd8a7676e4c00b81a9577de6397c832f99ac974fa2bbbccb6e3b8aa776db6922eed0b014bf3923799da7d9d0854c8817470e1e2f7fc7a572f9d0316ee60cde7ef025d59b897d29a6fee721aeb2f7bb44f9afb471e8a7b0b43a39b5497a3b4d6beb4b511f0cefa12ce5e6d843609d3e06999acfbee50a22ca1eee":"2eb6eb6d516ed4cf1778b4e378":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,104) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"0f9e806b0d937268561c0eafbbdd14ec715b7e9cef4118d6eb28abbb91266745":"8657996634e74d4689f292645f103a2e":"2ca253355e893e58cb1a900fbb62d61595de5c4186dc8a9129da3657a92b4a631bbdc3d5f86395385a9aa8557b67f886e3bb807620e558c93aea8e65826eadeb21544418ee40f5420c2d2b8270491be6fc2dcbfd12847fa350910dd615e9a1881bc2ced3b0ac3bde445b735e43c0c84f9d120ca5edd655779fc13c6f88b484f7":"2ae4baef22ace26f464a9b0c75802303f2d7c0f9a1ed1d0180135189765bdd347fea0cc2b73ee7fbbf95ea1fda22597b8aad826f63e744069a9c349488b2cc1cf9372f423cc650302082125724730ae5a4d878e07385ddc99034c6b6b46748f02c80b179fe6406b1d33581950cb9bcd1d1ea1ec7b5becfd6c1f5b279412c433a":"83155ebb1a42112dd1c474f37b":"":"87d69fc3cbc757b2b57b180c6ba34db4e20dde19976bfb3d274d32e7cea13f0c7d9e840d59ce857718c985763b7639e448516ddbbda559457cd8cb364fa99addd5ba44ef45c11060d9be82b4ebe1f0711ac95433074649b6c08eeab539fdfc99c77498b420427e4d70e316111845793de1f67fb0d04e3389a8862f46f4582dc8":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c24c17911f6db4b3e37c46bcc6fa35efc1a55f7754f0bb99f2eea93398116447":"5098cc52a69ee044197e2c000c2d4ab8":"9ad4dee311d854925fc7f10eca4f5dd4e6990cb2d4325da2ef25a9a23690f5c5590be285d33aaeba76506c59edec64b8c3ff8e62716d1c385fbce2a42bc7bd5d8e8584de1944543ab6f340c20911f8b7b3be1a1db18a4bb94119333339de95815cae09365b016edc184e11f3c5b851f1fa92b1b63cfa3872a127109c1294b677":"0bd92cb106867e25ad427ff6e5f384d2d0f432fc389852187fcc7b0bf9f6d11a102a872b99ed1ad9a05dab0f79fa634745535efed804ff42b0af8dad20ba44709391fb263f245e5a2c52d9ce904179633282f57a1229b0a9c4557a5c0aeda29bbc5a7a871fa8b62d58100c3722c21e51e3b3e913185235526e7a5a91c559717d":"f7930e3fab74a91cb6543e72":"":"6124ede608d416baa5e653a898ca76e9f47f08403c1984feec112e670ded2226e0073f8881ab2161cfda541dccae19691285f7391a729f07aba18f340bb452c1da39cbe83cf476cfc105b64187e0d2227dd283dcba8b6a350f9956b18861fa131d3f00c034443e8f60e0fdfcfaabbed93381ae374a8bf66523d33646183e1379":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"d267a8379260036ff3d1ec07a7b086ff75706bad12d37d9656f04776f3d8b85c":"674dc34e8c74c51fa42aacd625a1bd5b":"6a9a8af732ae96d0b5a9730ad792e296150d59770a20a3fdbbc2a3a035a88ac445d64f37d684e22003c214b771c1995719da72f3ed24a96618284dd414f0cac364640b23c680dc80492a435c8ec10add53b0d9e3374f1cf5bfc663e3528fa2f6209846421ea6f481b7ecf57714f7bc2527edc4e0466b13e750dd4d4c0cc0cdfc":"80c68a330ef50e3e516681f1e535868b03466e7edbb86cb385d01db487da3dd3edad940fdc98d918b7db9b59f8d61369eee2928c88557306c4a13e366af0708d94cb90a15f1c3bc45544bdb05ff964da5e06c5ae965f20adb504620aed7bce2e82f4e408d00219c15ef85fae1ff13fea53deb78afa5f2a50edbd622446e4a894":"bea660e963b08fc657741bc8":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,96) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"c86cb637753010f639fa3aa3bff7c28b74f012ad6090f2a31b0801d086f183ad":"87ff6e0bb313502fedf3d2696bff99b5":"2816f1132724f42e40deabab25e325b282f8c615a79e0c98c00d488ee56237537240234966565e46bfb0c50f2b10366d1589620e6e78bd90ade24d38a272f3fff53c09466aa2d3ef793d7f814a064b713821850a6e6a058f5139a1088347a9fa0f54e38abd51ddfc7ef040bf41d188f3f86c973551ced019812c1fc668649621":"6b7858557e0fd0f957842fb30e8d54dedbc127eb4bbf9de319f731fa28a606df2c046a0bce8ecda4e75d3596e4e988efd6bc279aa005bc52fad92ba07f5b1dfda4cc417029f9778c88d6fe5341a0fd48893dcb7c68d0df310a060f2a5235aee422d380f7209bc0909b2aa7e876044056f0b915dab0bc13cbea5a3b86d40ca802":"7859f047f32b51833333accf":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2c31ca0cac3efe467168198f06beacf39565a6f57f82e1048a5c06a231315882":"95cae6e85f33f3043182460589be3639":"67523751a9b1b643d00de4511b55e4268cb2d18e79e01a55fc7b677d529bd6400940fb25ea6ae135c1a816e61b69e90b966981aeda685934b107066e1467db78973492ad791e20aef430db3a047447141def8be6e6a9a15089607c3af9368cdb11b7b5fbf90691505d0c33664766945d387904e7089b915a3c28886ba1763bb5":"65261d6e29b2369b1828a7cef2df9873d6e6057c499301afedd6cb65b5036ddb95f9e353fbf38e54c4f46f88164325b33620ce183beb2e411fbb89a0e0002e542fc161cad32a61ee6f1e1717e0b4dcd0340b116f795bc1009dbbc65bc31c9b549bf03c40bc204cd0d02ec884be907777ebeed8b527ec3af7cbb508193c0745de":"21309d0351cac45e":"":"1d5f2cb921f54aeb552b4304142facd49497837deb1f00d26fbeddbab922fd80b00dba782961f8fce84f1f7973e81eed6ee168b1760c575c891f40a1dae0fa1a08738025d13ef6e0b30be4f054d874f1b8a2427a19ebb071d98365c32316a88a68c2b40daf1ea831a64519ac3679acb4e04986ecc614ec673c498c6fee459e40":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"ca9fa36ca2159dff9723f6cfdb13280446eb6bc3688043c7e2e2504184791596":"d13ca73365e57114fc698ee60ba0ad84":"2aa510b7f1620bfce90080e0e25f5468dbc5314b50914e793b5278369c51ac017eace9fd15127fca5a726ad9e67bdee5af298988d9a57ec4bbc43d4eb849535eb10521ac7cd7ed647479a42876af2ebc9e2108b539febdaa9127c49bda1bda800f6034050b8576e944311dfbca59d64d259571b6d2ed5b2fc07127239b03f4b7":"ac04c4293554cd832aa400c811cb202d815d6178aa1343b4628592b7f3ae45dc5f12ea47be4b43e1865f40b06ab67b3a9fb3644248a9b3efe131a8addb7447978bb51ccf749e75574fea60e8781677200af023b2f8c415f4e6d8c575a9e374916d9ec3a612b16e37beb589444b588e0b770d9f8e818ad83f83aa4ecf386d17a7":"2111d55d96a4d84d":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,64) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"2f802e838250064c15fdee28d7bd4872850355870847701ad9742b2d6eb4b0c0":"2dd550cfd97f8e1d8d31ba5537ae4710":"72b9630dda40306e785b961934c56e20948f8eac0e981f49787eb3dbd6e4607f7d08d10ca643746bf1efa7e5066993683d527a90f2d45ec9cf73113f1f17bb67958be669acd4e2927f1dacfde902cd3048056d7f6dfdd8630ff054efce4526db7c9321d6d2be2236f4d60e27b89d8ec94f65a06dc0953c8c4533a51b6a29bd2c":"e2ca8c8d172ff90232879f510d1225af91bc323bdf636363c2903fcd1790692c8bcb03a1cccb18814678852c6b3a441552e541b843ee5e4f86a152fa73d05aea659fe08aa6428bb257eaa2a7b579fdc4022c1dec359a854253c1aefc983c5ede8c97517ea69fc4606e25f13ffb0f5f49160691454fbb74e704326738353525f7":"bd6c8823c9005c85":"":"f6dd0b5f3d1a393a1837112962dba175a13c2d1e525ef95734caf34949d8b2d63b4fe5603226b5f632f2d7f927361ba639dc0e3c63414f45462342695916d5792133b4a24c7c4cbe2b97c712bf27ab62d3d68b3875d58ffe4b7c30a8171bff1a9e2f3995768faacda2ea9213ff35798b9e4513f6a87bd3f5a9d93e847e768359":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #0 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"84dd53ce0146cb71c32776033bb243098d78a22ac17f52a62a122f5653fb4e33":"f0c90a1bca52f30fab3670df0d3beab0":"a3ea8032f36a5ca3d7a1088fd08ac50ae6bdc06ad3a534b773ac3e3d4a3d524499e56274a0062c58c3b0685cc850f4725e5c221af8f51c6df2bbd5fbcff4a93ba4c1054f7f9c67fd9285511a08d328d76a642f067227d378f95a1e67587b90251f9103ed3cacdb6bf69e0794e366d8b92d8de37b4e028de0778841f356ac044d":"68222bffa782dcfe4f328fc20eb520e75a9a5fedbe13ec7fcf0e82fba08bb87a8a8e02902638e32fe0e2294344b380797f8028426ffcc0531c739c884892394c48ff0779c5f5edf0a36a3fb8aa91213347774ec4bf0fe1049bd53746b13beef3c637169826c367056cb1aa0a3868e23f886a9c7b8015c26af9e40794662f6b21":"b1ece9fb":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #1 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"9bb36fe25e966a075ae2c3bb43b5877679ebc379d5123c8eda3fa0e30b95cae0":"59869df4ef5754b406478a2fb608ee99":"ecd125682e8a8e26757c888b0c8b95dec5e7ed7ac991768f93e8af5bcf6f21ed4d4d38699ee7984ed13635fff72f938150157c9a27fcda121ffced7b492d2b18dad299cb6495ed5f68441aefc8219d2cf717d15d5cd2dbce4606fcf90fe45f3601127cf6acee210bd7df97309f773974a35bef1d33df984101c2fc9d4b55259e":"fb3a4be643c10343251c6f0745aaa54349463f622ca04a792e9b4780866844b30aeef3269fc60cac0ea031c5f3780b535e15154f7c76eb4a371b8ae368550f3fa2ce693c34511ec96b839cac567f1b0de0e7e3116d729b45d1b16e453703a43db73f5d0c3e430f16b142420b5f0d26d72ac3dba543d7d813603b0bfdca3dd63e":"cb3f5338":"FAIL":"":1 AES-GCM NIST Validation PSA (AES-256,128,1024,1024,32) #2 [#2] -depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:MBEDTLS_GCM_C:MBEDTLS_AES_C +depends_on:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_TEST_DEPRECATED:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES auth_crypt_tv:MBEDTLS_CIPHER_AES_256_GCM:"ca264e7caecad56ee31c8bf8dde9592f753a6299e76c60ac1e93cff3b3de8ce9":"4763a4e37b806a5f4510f69fd8c63571":"07daeba37a66ebe15f3d6451d1176f3a7107a302da6966680c425377e621fd71610d1fc9c95122da5bf85f83b24c4b783b1dcd6b508d41e22c09b5c43693d072869601fc7e3f5a51dbd3bc6508e8d095b9130fb6a7f2a043f3a432e7ce68b7de06c1379e6bab5a1a48823b76762051b4e707ddc3201eb36456e3862425cb011a":"8d03cf6fac31182ad3e6f32e4c823e3b421aef786d5651afafbf70ef14c00524ab814bc421b1d4181b4d3d82d6ae4e8032e43a6c4e0691184425b37320798f865c88b9b306466311d79e3e42076837474c37c9f6336ed777f05f70b0c7d72bd4348a4cd754d0f0c3e4587f9a18313ea2d2bace502a24ea417d3041b709a0471f":"3105dddb":"FAIL":"":1 diff --git a/tests/suites/test_suite_cmac.data b/tests/suites/test_suite_cmac.data index 70b7609e48..3ca5e542d0 100644 --- a/tests/suites/test_suite_cmac.data +++ b/tests/suites/test_suite_cmac.data @@ -2,6 +2,7 @@ CMAC self test mbedtls_cmac_self_test: CMAC null arguments +depends_on:MBEDTLS_AES_C mbedtls_cmac_null_args: CMAC init #1 AES-128: OK @@ -16,49 +17,59 @@ CMAC init #3 AES-256: OK depends_on:MBEDTLS_AES_C mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_256_ECB:256:0 -CMAC init #4 3DES : OK +CMAC init #4 3DES: OK depends_on:MBEDTLS_DES_C mbedtls_cmac_setkey:MBEDTLS_CIPHER_DES_EDE3_ECB:192:0 CMAC init #5 AES-224: bad key size depends_on:MBEDTLS_AES_C -mbedtls_cmac_setkey:MBEDTLS_CIPHER_ID_AES:224:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA +mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_128_ECB:224:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA CMAC init #6 AES-0: bad key size depends_on:MBEDTLS_AES_C -mbedtls_cmac_setkey:MBEDTLS_CIPHER_ID_AES:0:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA +mbedtls_cmac_setkey:MBEDTLS_CIPHER_AES_128_ECB:0:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA CMAC init #7 Camellia: wrong cipher depends_on:MBEDTLS_CAMELLIA_C -mbedtls_cmac_setkey:MBEDTLS_CIPHER_ID_CAMELLIA:128:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA +mbedtls_cmac_setkey:MBEDTLS_CIPHER_CAMELLIA_192_ECB:128:MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA CMAC Single Blocks #1 - Empty block, no updates +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"":-1:"":-1:"":-1:"":-1:"bb1d6929e95937287fa37d129b756746" CMAC Single Blocks #2 - Single 16 byte block +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"6bc1bee22e409f96e93d7e117393172a":16:"":-1:"":-1:"":-1:"070a16b46b4d4144f79bdd9dd04a287c" CMAC Single Blocks #3 - Single 64 byte block +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710":64:"":-1:"":-1:"":-1:"51f0bebf7e3b9d92fc49741779363cfe" CMAC Multiple Blocks #1 - Multiple 8 byte blocks +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"6bc1bee22e409f96":8:"e93d7e117393172a":8:"":-1:"":-1:"070a16b46b4d4144f79bdd9dd04a287c" CMAC Multiple Blocks #2 - Multiple 16 byte blocks +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"6bc1bee22e409f96e93d7e117393172a":16:"ae2d8a571e03ac9c9eb76fac45af8e51":16:"30c81c46a35ce411e5fbc1191a0a52ef":16:"f69f2445df4f9b17ad2b417be66c3710":16:"51f0bebf7e3b9d92fc49741779363cfe" CMAC Multiple Blocks #3 - Multiple variable sized blocks +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"6bc1bee22e409f96":8:"e93d7e117393172aae2d8a571e03ac9c":16:"9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52ef":24:"f69f2445df4f9b17ad2b417be66c3710":16:"51f0bebf7e3b9d92fc49741779363cfe" CMAC Multiple Blocks #4 - Multiple 8 byte blocks with gaps +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_blocks:MBEDTLS_CIPHER_AES_128_ECB:"2b7e151628aed2a6abf7158809cf4f3c":128:16:"":0:"6bc1bee22e409f96":8:"":0:"e93d7e117393172a":8:"070a16b46b4d4144f79bdd9dd04a287c" CMAC Multiple Operations, same key #1 - Empty, empty +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_operations_same_key:MBEDTLS_CIPHER_AES_192_ECB:"8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b":192:16:"":-1:"":-1:"":-1:"d17ddf46adaacde531cac483de7a9367":"":-1:"":-1:"":-1:"d17ddf46adaacde531cac483de7a9367" CMAC Multiple Operations, same key #2 - Empty, 64 byte block +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_operations_same_key:MBEDTLS_CIPHER_AES_192_ECB:"8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b":192:16:"":-1:"":-1:"":-1:"d17ddf46adaacde531cac483de7a9367":"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710":64:"":-1:"":-1:"a1d5df0eed790f794d77589659f39a11" CMAC Multiple Operations, same key #3 - variable byte blocks +depends_on:MBEDTLS_AES_C mbedtls_cmac_multiple_operations_same_key:MBEDTLS_CIPHER_AES_192_ECB:"8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b":192:16:"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51":32:"30c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710":32:"":-1:"a1d5df0eed790f794d77589659f39a11":"6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51":32:"30c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710":32:"":-1:"a1d5df0eed790f794d77589659f39a11" diff --git a/tests/suites/test_suite_cmac.function b/tests/suites/test_suite_cmac.function index cabf1070c1..c3d7da43d8 100644 --- a/tests/suites/test_suite_cmac.function +++ b/tests/suites/test_suite_cmac.function @@ -77,7 +77,7 @@ void mbedtls_cmac_null_args( ) test_data, 16, NULL ) == MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); - +#if defined(MBEDTLS_AES_C) TEST_ASSERT( mbedtls_aes_cmac_prf_128( NULL, 16, test_data, 16, test_output ) == @@ -92,7 +92,7 @@ void mbedtls_cmac_null_args( ) test_data, 16, NULL ) == MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA ); - +#endif exit: mbedtls_cipher_free( &ctx ); } diff --git a/tests/suites/test_suite_constant_time.data b/tests/suites/test_suite_constant_time.data new file mode 100644 index 0000000000..4504aa4d67 --- /dev/null +++ b/tests/suites/test_suite_constant_time.data @@ -0,0 +1,11 @@ +# these are the numbers we'd get with an empty plaintext and truncated HMAC +Constant-flow memcpy from offset: small +ssl_cf_memcpy_offset:0:5:10 + +# we could get this with 255-bytes plaintext and untruncated SHA-256 +Constant-flow memcpy from offset: medium +ssl_cf_memcpy_offset:0:255:32 + +# we could get this with 255-bytes plaintext and untruncated SHA-384 +Constant-flow memcpy from offset: large +ssl_cf_memcpy_offset:100:339:48 diff --git a/tests/suites/test_suite_constant_time.function b/tests/suites/test_suite_constant_time.function new file mode 100644 index 0000000000..a3673b7179 --- /dev/null +++ b/tests/suites/test_suite_constant_time.function @@ -0,0 +1,49 @@ +/* BEGIN_HEADER */ +/** \file test_suite_constant_time.function + * + * Functional testing of functions in the constant_time module. + * + * The tests are instrumented with #TEST_CF_SECRET and #TEST_CF_PUBLIC + * (see tests/include/test/constant_flow.h) so that running the tests + * under MSan or Valgrind will detect a non-constant-time implementation. + */ + +#include +#include +#include + +#include +/* END_HEADER */ + +/* BEGIN_CASE depends_on:MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC:MBEDTLS_TEST_HOOKS */ +void ssl_cf_memcpy_offset( int offset_min, int offset_max, int len ) +{ + unsigned char *dst = NULL; + unsigned char *src = NULL; + size_t src_len = offset_max + len; + size_t secret; + + ASSERT_ALLOC( dst, len ); + ASSERT_ALLOC( src, src_len ); + + /* Fill src in a way that we can detect if we copied the right bytes */ + mbedtls_test_rnd_std_rand( NULL, src, src_len ); + + for( secret = offset_min; secret <= (size_t) offset_max; secret++ ) + { + mbedtls_test_set_step( (int) secret ); + + TEST_CF_SECRET( &secret, sizeof( secret ) ); + mbedtls_ct_memcpy_offset( dst, src, secret, + offset_min, offset_max, len ); + TEST_CF_PUBLIC( &secret, sizeof( secret ) ); + TEST_CF_PUBLIC( dst, len ); + + ASSERT_COMPARE( dst, len, src + secret, len ); + } + +exit: + mbedtls_free( dst ); + mbedtls_free( src ); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_constant_time_hmac.data b/tests/suites/test_suite_constant_time_hmac.data new file mode 100644 index 0000000000..abf90f0f67 --- /dev/null +++ b/tests/suites/test_suite_constant_time_hmac.data @@ -0,0 +1,15 @@ +Constant-flow HMAC: MD5 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +ssl_cf_hmac:MBEDTLS_MD_MD5 + +Constant-flow HMAC: SHA1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA +ssl_cf_hmac:MBEDTLS_MD_SHA1 + +Constant-flow HMAC: SHA256 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +ssl_cf_hmac:MBEDTLS_MD_SHA256 + +Constant-flow HMAC: SHA384 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA +ssl_cf_hmac:MBEDTLS_MD_SHA384 diff --git a/tests/suites/test_suite_constant_time_hmac.function b/tests/suites/test_suite_constant_time_hmac.function new file mode 100644 index 0000000000..f8c1bfc0cb --- /dev/null +++ b/tests/suites/test_suite_constant_time_hmac.function @@ -0,0 +1,160 @@ +/* BEGIN_HEADER */ + +#include +#include +#include +#include +#include + +#include +/* END_HEADER */ + +/* BEGIN_CASE depends_on:MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC:MBEDTLS_TEST_HOOKS */ +void ssl_cf_hmac( int hash ) +{ + /* + * Test the function mbedtls_ct_hmac() against a reference + * implementation. + */ +#if defined(MBEDTLS_USE_PSA_CRYPTO) + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + psa_algorithm_t alg; + psa_mac_operation_t operation = PSA_MAC_OPERATION_INIT; +#else + mbedtls_md_context_t ctx, ref_ctx; + const mbedtls_md_info_t *md_info; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + size_t out_len, block_size; + size_t min_in_len, in_len, max_in_len, i; + /* TLS additional data is 13 bytes (hence the "lucky 13" name) */ + unsigned char add_data[13]; + unsigned char ref_out[MBEDTLS_HASH_MAX_SIZE]; + unsigned char *data = NULL; + unsigned char *out = NULL; + unsigned char rec_num = 0; + + USE_PSA_INIT( ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + alg = PSA_ALG_HMAC( mbedtls_hash_info_psa_from_md( hash ) ); + + out_len = PSA_HASH_LENGTH( alg ); + block_size = PSA_HASH_BLOCK_LENGTH( alg ); + + /* mbedtls_ct_hmac() requires the key to be exportable */ + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_EXPORT | + PSA_KEY_USAGE_VERIFY_HASH ); + psa_set_key_algorithm( &attributes, PSA_ALG_HMAC( alg ) ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_HMAC ); +#else + mbedtls_md_init( &ctx ); + mbedtls_md_init( &ref_ctx ); + + md_info = mbedtls_md_info_from_type( hash ); + TEST_ASSERT( md_info != NULL ); + out_len = mbedtls_md_get_size( md_info ); + TEST_ASSERT( out_len != 0 ); + block_size = hash == MBEDTLS_MD_SHA384 ? 128 : 64; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + /* Use allocated out buffer to catch overwrites */ + ASSERT_ALLOC( out, out_len ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + /* Set up dummy key */ + memset( ref_out, 42, sizeof( ref_out ) ); + TEST_EQUAL( PSA_SUCCESS, psa_import_key( &attributes, + ref_out, out_len, + &key ) ); +#else + /* Set up contexts with the given hash and a dummy key */ + TEST_EQUAL( 0, mbedtls_md_setup( &ctx, md_info, 1 ) ); + TEST_EQUAL( 0, mbedtls_md_setup( &ref_ctx, md_info, 1 ) ); + memset( ref_out, 42, sizeof( ref_out ) ); + TEST_EQUAL( 0, mbedtls_md_hmac_starts( &ctx, ref_out, out_len ) ); + TEST_EQUAL( 0, mbedtls_md_hmac_starts( &ref_ctx, ref_out, out_len ) ); + memset( ref_out, 0, sizeof( ref_out ) ); +#endif + + /* + * Test all possible lengths up to a point. The difference between + * max_in_len and min_in_len is at most 255, and make sure they both vary + * by at least one block size. + */ + for( max_in_len = 0; max_in_len <= 255 + block_size; max_in_len++ ) + { + mbedtls_test_set_step( max_in_len * 10000 ); + + /* Use allocated in buffer to catch overreads */ + ASSERT_ALLOC( data, max_in_len ); + + min_in_len = max_in_len > 255 ? max_in_len - 255 : 0; + for( in_len = min_in_len; in_len <= max_in_len; in_len++ ) + { + mbedtls_test_set_step( max_in_len * 10000 + in_len ); + + /* Set up dummy data and add_data */ + rec_num++; + memset( add_data, rec_num, sizeof( add_data ) ); + for( i = 0; i < in_len; i++ ) + data[i] = ( i & 0xff ) ^ rec_num; + + /* Get the function's result */ + TEST_CF_SECRET( &in_len, sizeof( in_len ) ); +#if defined(MBEDTLS_USE_PSA_CRYPTO) + TEST_EQUAL( 0, mbedtls_ct_hmac( key, PSA_ALG_HMAC( alg ), + add_data, sizeof( add_data ), + data, in_len, + min_in_len, max_in_len, + out ) ); +#else + TEST_EQUAL( 0, mbedtls_ct_hmac( &ctx, add_data, sizeof( add_data ), + data, in_len, + min_in_len, max_in_len, + out ) ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + TEST_CF_PUBLIC( &in_len, sizeof( in_len ) ); + TEST_CF_PUBLIC( out, out_len ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + TEST_EQUAL( PSA_SUCCESS, psa_mac_verify_setup( &operation, + key, alg ) ); + TEST_EQUAL( PSA_SUCCESS, psa_mac_update( &operation, add_data, + sizeof( add_data ) ) ); + TEST_EQUAL( PSA_SUCCESS, psa_mac_update( &operation, + data, in_len ) ); + TEST_EQUAL( PSA_SUCCESS, psa_mac_verify_finish( &operation, + out, out_len ) ); +#else + /* Compute the reference result */ + TEST_EQUAL( 0, mbedtls_md_hmac_update( &ref_ctx, add_data, + sizeof( add_data ) ) ); + TEST_EQUAL( 0, mbedtls_md_hmac_update( &ref_ctx, data, in_len ) ); + TEST_EQUAL( 0, mbedtls_md_hmac_finish( &ref_ctx, ref_out ) ); + TEST_EQUAL( 0, mbedtls_md_hmac_reset( &ref_ctx ) ); + + /* Compare */ + ASSERT_COMPARE( out, out_len, ref_out, out_len ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + } + + mbedtls_free( data ); + data = NULL; + } + +exit: +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_mac_abort( &operation ); + psa_destroy_key( key ); +#else + mbedtls_md_free( &ref_ctx ); + mbedtls_md_free( &ctx ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ + + mbedtls_free( data ); + mbedtls_free( out ); + + USE_PSA_DONE( ); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_debug.data b/tests/suites/test_suite_debug.data index 4a1a1be481..47612d6e26 100644 --- a/tests/suites/test_suite_debug.data +++ b/tests/suites/test_suite_debug.data @@ -38,30 +38,30 @@ Debug print buffer #5 mbedtls_debug_print_buf:"MyFile":999:"Test return value":"000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30":"MyFile(0999)\: dumping 'Test return value' (49 bytes)\nMyFile(0999)\: 0000\: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ................\nMyFile(0999)\: 0010\: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f ................\nMyFile(0999)\: 0020\: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f !"#$%&'()*+,-./\nMyFile(0999)\: 0030\: 30 0\n" Debug print mbedtls_mpi: 0 (empty representation) -mbedtls_debug_print_mpi:16:"":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (0 bits) is\:\nMyFile(0999)\: 00\n" +mbedtls_debug_print_mpi:"":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (0 bits) is\:\nMyFile(0999)\: 00\n" Debug print mbedtls_mpi: 0 (non-empty representation) -mbedtls_debug_print_mpi:16:"00000000000000":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (0 bits) is\:\nMyFile(0999)\: 00\n" +mbedtls_debug_print_mpi:"00000000000000":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (0 bits) is\:\nMyFile(0999)\: 00\n" Debug print mbedtls_mpi #2: 3 bits -mbedtls_debug_print_mpi:16:"00000000000007":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (3 bits) is\:\nMyFile(0999)\: 07\n" +mbedtls_debug_print_mpi:"00000000000007":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (3 bits) is\:\nMyFile(0999)\: 07\n" Debug print mbedtls_mpi: 49 bits -mbedtls_debug_print_mpi:16:"01020304050607":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (49 bits) is\:\nMyFile(0999)\: 01 02 03 04 05 06 07\n" +mbedtls_debug_print_mpi:"01020304050607":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (49 bits) is\:\nMyFile(0999)\: 01 02 03 04 05 06 07\n" Debug print mbedtls_mpi: 759 bits -mbedtls_debug_print_mpi:16:"0000000000000000000000000000000000000000000000000000000041379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (759 bits) is\:\nMyFile(0999)\: 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a 14\nMyFile(0999)\: 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90 ff\nMyFile(0999)\: e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c 09\nMyFile(0999)\: 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89 af\nMyFile(0999)\: 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b 52\nMyFile(0999)\: 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" +mbedtls_debug_print_mpi:"0000000000000000000000000000000000000000000000000000000041379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (759 bits) is\:\nMyFile(0999)\: 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a 14\nMyFile(0999)\: 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90 ff\nMyFile(0999)\: e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c 09\nMyFile(0999)\: 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89 af\nMyFile(0999)\: 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b 52\nMyFile(0999)\: 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" Debug print mbedtls_mpi: 764 bits #1 -mbedtls_debug_print_mpi:16:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (764 bits) is\:\nMyFile(0999)\: 09 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a\nMyFile(0999)\: 14 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90\nMyFile(0999)\: ff e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c\nMyFile(0999)\: 09 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89\nMyFile(0999)\: af 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b\nMyFile(0999)\: 52 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" +mbedtls_debug_print_mpi:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (764 bits) is\:\nMyFile(0999)\: 09 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a\nMyFile(0999)\: 14 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90\nMyFile(0999)\: ff e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c\nMyFile(0999)\: 09 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89\nMyFile(0999)\: af 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b\nMyFile(0999)\: 52 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" Debug print mbedtls_mpi: 764 bits #2 -mbedtls_debug_print_mpi:16:"0000000000000000000000000000000000000000000000000000000941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (764 bits) is\:\nMyFile(0999)\: 09 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a\nMyFile(0999)\: 14 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90\nMyFile(0999)\: ff e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c\nMyFile(0999)\: 09 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89\nMyFile(0999)\: af 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b\nMyFile(0999)\: 52 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" +mbedtls_debug_print_mpi:"0000000000000000000000000000000000000000000000000000000941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"MyFile":999:"VALUE":"MyFile(0999)\: value of 'VALUE' (764 bits) is\:\nMyFile(0999)\: 09 41 37 9d 00 fe d1 49 1f e1 5d f2 84 df de 4a\nMyFile(0999)\: 14 2f 68 aa 8d 41 20 23 19 5c ee 66 88 3e 62 90\nMyFile(0999)\: ff e7 03 f4 ea 59 63 bf 21 27 13 ce e4 6b 10 7c\nMyFile(0999)\: 09 18 2b 5e dc d9 55 ad ac 41 8b f4 91 8e 28 89\nMyFile(0999)\: af 48 e1 09 9d 51 38 30 ce c8 5c 26 ac 1e 15 8b\nMyFile(0999)\: 52 62 0e 33 ba 86 92 f8 93 ef bb 2f 95 8b 44 24\n" Debug print certificate #1 (RSA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_BASE64_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_BASE64_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_debug_print_crt:"data_files/server1.crt":"MyFile":999:"PREFIX_":"MyFile(0999)\: PREFIX_ #1\:\nMyFile(0999)\: cert. version \: 3\nMyFile(0999)\: serial number \: 01\nMyFile(0999)\: issuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nMyFile(0999)\: subject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nMyFile(0999)\: issued on \: 2019-02-10 14\:44\:06\nMyFile(0999)\: expires on \: 2029-02-10 14\:44\:06\nMyFile(0999)\: signed using \: RSA with SHA1\nMyFile(0999)\: RSA key size \: 2048 bits\nMyFile(0999)\: basic constraints \: CA=false\nMyFile(0999)\: value of 'crt->rsa.N' (2048 bits) is\:\nMyFile(0999)\: a9 02 1f 3d 40 6a d5 55 53 8b fd 36 ee 82 65 2e\nMyFile(0999)\: 15 61 5e 89 bf b8 e8 45 90 db ee 88 16 52 d3 f1\nMyFile(0999)\: 43 50 47 96 12 59 64 87 6b fd 2b e0 46 f9 73 be\nMyFile(0999)\: dd cf 92 e1 91 5b ed 66 a0 6f 89 29 79 45 80 d0\nMyFile(0999)\: 83 6a d5 41 43 77 5f 39 7c 09 04 47 82 b0 57 39\nMyFile(0999)\: 70 ed a3 ec 15 19 1e a8 33 08 47 c1 05 42 a9 fd\nMyFile(0999)\: 4c c3 b4 df dd 06 1f 4d 10 51 40 67 73 13 0f 40\nMyFile(0999)\: f8 6d 81 25 5f 0a b1 53 c6 30 7e 15 39 ac f9 5a\nMyFile(0999)\: ee 7f 92 9e a6 05 5b e7 13 97 85 b5 23 92 d9 d4\nMyFile(0999)\: 24 06 d5 09 25 89 75 07 dd a6 1a 8f 3f 09 19 be\nMyFile(0999)\: ad 65 2c 64 eb 95 9b dc fe 41 5e 17 a6 da 6c 5b\nMyFile(0999)\: 69 cc 02 ba 14 2c 16 24 9c 4a dc cd d0 f7 52 67\nMyFile(0999)\: 73 f1 2d a0 23 fd 7e f4 31 ca 2d 70 ca 89 0b 04\nMyFile(0999)\: db 2e a6 4f 70 6e 9e ce bd 58 89 e2 53 59 9e 6e\nMyFile(0999)\: 5a 92 65 e2 88 3f 0c 94 19 a3 dd e5 e8 9d 95 13\nMyFile(0999)\: ed 29 db ab 70 12 dc 5a ca 6b 17 ab 52 82 54 b1\nMyFile(0999)\: value of 'crt->rsa.E' (17 bits) is\:\nMyFile(0999)\: 01 00 01\n" Debug print certificate #2 (EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_BASE64_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_BASE64_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_debug_print_crt:"data_files/test-ca2.crt":"MyFile":999:"PREFIX_":"MyFile(0999)\: PREFIX_ #1\:\nMyFile(0999)\: cert. version \: 3\nMyFile(0999)\: serial number \: C1\:43\:E2\:7E\:62\:43\:CC\:E8\nMyFile(0999)\: issuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nMyFile(0999)\: subject name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nMyFile(0999)\: issued on \: 2019-02-10 14\:44\:00\nMyFile(0999)\: expires on \: 2029-02-10 14\:44\:00\nMyFile(0999)\: signed using \: ECDSA with SHA256\nMyFile(0999)\: EC key size \: 384 bits\nMyFile(0999)\: basic constraints \: CA=true\nMyFile(0999)\: value of 'crt->eckey.Q(X)' (384 bits) is\:\nMyFile(0999)\: c3 da 2b 34 41 37 58 2f 87 56 fe fc 89 ba 29 43\nMyFile(0999)\: 4b 4e e0 6e c3 0e 57 53 33 39 58 d4 52 b4 91 95\nMyFile(0999)\: 39 0b 23 df 5f 17 24 62 48 fc 1a 95 29 ce 2c 2d\nMyFile(0999)\: value of 'crt->eckey.Q(Y)' (384 bits) is\:\nMyFile(0999)\: 87 c2 88 52 80 af d6 6a ab 21 dd b8 d3 1c 6e 58\nMyFile(0999)\: b8 ca e8 b2 69 8e f3 41 ad 29 c3 b4 5f 75 a7 47\nMyFile(0999)\: 6f d5 19 29 55 69 9a 53 3b 20 b4 66 16 60 33 1e\n" diff --git a/tests/suites/test_suite_debug.function b/tests/suites/test_suite_debug.function index c51be4d0b1..85544b560c 100644 --- a/tests/suites/test_suite_debug.function +++ b/tests/suites/test_suite_debug.function @@ -1,6 +1,7 @@ /* BEGIN_HEADER */ #include "mbedtls/debug.h" #include "string.h" +#include "mbedtls/legacy_or_psa.h" struct buffer_data { @@ -183,7 +184,7 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_BIGNUM_C */ -void mbedtls_debug_print_mpi( int radix, char * value, char * file, int line, +void mbedtls_debug_print_mpi( char * value, char * file, int line, char * prefix, char * result_str ) { mbedtls_ssl_context ssl; @@ -206,7 +207,7 @@ void mbedtls_debug_print_mpi( int radix, char * value, char * file, int line, TEST_ASSERT( mbedtls_ssl_setup( &ssl, &conf ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &val, radix, value ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &val, value ) == 0 ); mbedtls_debug_print_mpi( &ssl, 0, file, line, prefix, &val); diff --git a/tests/suites/test_suite_dhm.data b/tests/suites/test_suite_dhm.data index f18db2eaba..2ab5c43746 100644 --- a/tests/suites/test_suite_dhm.data +++ b/tests/suites/test_suite_dhm.data @@ -1,119 +1,124 @@ Diffie-Hellman full exchange: tiny x_size -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 5-bit, x_size=3 -dhm_do_dhm:10:"23":3:10:"5":0 +dhm_do_dhm:"17":3:"5":0 Diffie-Hellman full exchange: 5-bit, x_size=2 -dhm_do_dhm:10:"23":2:10:"5":0 +dhm_do_dhm:"17":2:"5":0 ## Repeat this test case and a few similar ones several times. The RNG state ## changes, so we get to exercise the code with a few different values. Diffie-Hellman full exchange: 5-bit #1 -dhm_do_dhm:10:"23":1:10:"5":0 +dhm_do_dhm:"17":1:"5":0 Diffie-Hellman full exchange: 5-bit #2 -dhm_do_dhm:10:"23":1:10:"5":0 +dhm_do_dhm:"17":1:"5":0 Diffie-Hellman full exchange: 5-bit #3 -dhm_do_dhm:10:"23":1:10:"5":0 +dhm_do_dhm:"17":1:"5":0 Diffie-Hellman full exchange: 5-bit #4 -dhm_do_dhm:10:"23":1:10:"5":0 +dhm_do_dhm:"17":1:"5":0 Diffie-Hellman full exchange: 5-bit #5 -dhm_do_dhm:10:"23":1:10:"5":0 +dhm_do_dhm:"17":1:"5":0 ## This is x_size = P_size + 1. Arguably x_size > P_size makes no sense, ## but it's the current undocumented behavior to treat it the same as when ## x_size = P_size. If this behavior changes in the future, change the expected ## return status from 0 to MBEDTLS_ERR_DHM_BAD_INPUT_DATA. Diffie-Hellman full exchange: 97-bit, x_size=14 -dhm_do_dhm:10:"93450983094850938450983409623":14:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":14:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit #1 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit #2 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit #3 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit #4 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit #5 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=12 -dhm_do_dhm:10:"93450983094850938450983409623":12:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":12:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=11 -dhm_do_dhm:10:"93450983094850938450983409623":11:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":11:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=1 #1 -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=1 #2 -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=1 #3 -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=1 #4 -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 97-bit, x_size=1 #5 -dhm_do_dhm:10:"93450983094850938450983409623":1:10:"9345098304850938450983409622":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":1:"1e32158a35e34d7b619657d6":0 Diffie-Hellman full exchange: 286-bit -dhm_do_dhm:10:"93450983094850938450983409623982317398171298719873918739182739712938719287391879381271":36:10:"9345098309485093845098340962223981329819812792137312973297123912791271":0 +dhm_do_dhm:"301abc09a57b66a953bfcc206a32e9ab56724084e4b47635779ca35fee79ce1060cb4117":36:"15aa1039b4dd361ed1b5b88e52f2919d0cbcb15adbe5fc290dab13b34e7":0 Diffie-Hellman small modulus -dhm_do_dhm:10:"3":1:10:"5":MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA +dhm_do_dhm:"3":1:"5":MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA Diffie-Hellman zero modulus -dhm_do_dhm:10:"0":1:10:"5":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"0":1:"5":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=0 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"0":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"0":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=1 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=-1 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"-1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"-1":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=P-1 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"93450983094850938450983409622":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=P-2 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"93450983094850938450983409621":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d5":0 Diffie-Hellman with G=P -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"93450983094850938450983409623":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d7":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=P+1 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"93450983094850938450983409624":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d8":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman with G=P+2 -dhm_do_dhm:10:"93450983094850938450983409623":13:10:"93450983094850938450983409625":0 +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":13:"12df4d7689dff4c99d9ae57d9":0 Diffie-Hellman: x_size < 0 -dhm_do_dhm:10:"93450983094850938450983409623":-1:10:"9345098304850938450983409622":MBEDTLS_ERR_DHM_BAD_INPUT_DATA +dhm_do_dhm:"12df4d7689dff4c99d9ae57d7":-1:"1e32158a35e34d7b619657d6":MBEDTLS_ERR_DHM_BAD_INPUT_DATA Diffie-Hellman MPI_MAX_SIZE modulus -dhm_make_public:MBEDTLS_MPI_MAX_SIZE:10:"5":0 +dhm_make_public:MBEDTLS_MPI_MAX_SIZE:"5":0 Diffie-Hellman MPI_MAX_SIZE + 1 modulus -dhm_make_public:MBEDTLS_MPI_MAX_SIZE + 1:10:"5":MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA +dhm_make_public:MBEDTLS_MPI_MAX_SIZE + 1:"5":MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED+MBEDTLS_ERR_MPI_BAD_INPUT_DATA -Diffie-Hellman load parameters from file [#1] +DH load parameters from PEM file (1024-bit, g=2) +depends_on:MBEDTLS_PEM_PARSE_C dhm_file:"data_files/dhparams.pem":"9e35f430443a09904f3a39a979797d070df53378e79c2438bef4e761f3c714553328589b041c809be1d6c6b5f1fc9f47d3a25443188253a992a56818b37ba9de5a40d362e56eff0be5417474c125c199272c8fe41dea733df6f662c92ae76556e755d10c64e6a50968f67fc6ea73d0dca8569be2ba204e23580d8bca2f4975b3":"02":128 -Diffie-Hellman load parameters from file [#2] +DH load parameters from PEM file (2048-bit, large g, privateValueLength) +depends_on:MBEDTLS_PEM_PARSE_C dhm_file:"data_files/dh.optlen.pem":"b3126aeaf47153c7d67f403030b292b5bd5a6c9eae1c137af34087fce2a36a578d70c5c560ad2bdb924c4a4dbee20a1671be7103ce87defa76908936803dbeca60c33e1289c1a03ac2c6c4e49405e5902fa0596a1cbaa895cc402d5213ed4a5f1f5ba8b5e1ed3da951a4c475afeb0ca660b7368c38c8e809f382d96ae19e60dc984e61cb42b5dfd723322acf327f9e413cda6400c15c5b2ea1fa34405d83982fba40e6d852da3d91019bf23511314254dc211a90833e5b1798ee52a78198c555644729ad92f060367c74ded37704adfc273a4a33fec821bd2ebd3bc051730e97a4dd14d2b766062592f5eec09d16bb50efebf2cc00dd3e0e3418e60ec84870f7":"800abfe7dc667aa17bcd7c04614bc221a65482ccc04b604602b0e131908a938ea11b48dc515dab7abcbb1e0c7fd66511edc0d86551b7632496e03df94357e1c4ea07a7ce1e381a2fcafdff5f5bf00df828806020e875c00926e4d011f88477a1b01927d73813cad4847c6396b9244621be2b00b63c659253318413443cd244215cd7fd4cbe796e82c6cf70f89cc0c528fb8e344809b31876e7ef739d5160d095c9684188b0c8755c7a468d47f56d6db9ea012924ecb0556fb71312a8d7c93bb2898ea08ee54eeb594548285f06a973cbbe2a0cb02e90f323fe045521f34c68354a6d3e95dbfff1eb64692edc0a44f3d3e408d0e479a541e779a6054259e2d854":256 +DH load parameters from DER file (2048-bit, large g, privateValueLength) +dhm_file:"data_files/dh.optlen.der":"b3126aeaf47153c7d67f403030b292b5bd5a6c9eae1c137af34087fce2a36a578d70c5c560ad2bdb924c4a4dbee20a1671be7103ce87defa76908936803dbeca60c33e1289c1a03ac2c6c4e49405e5902fa0596a1cbaa895cc402d5213ed4a5f1f5ba8b5e1ed3da951a4c475afeb0ca660b7368c38c8e809f382d96ae19e60dc984e61cb42b5dfd723322acf327f9e413cda6400c15c5b2ea1fa34405d83982fba40e6d852da3d91019bf23511314254dc211a90833e5b1798ee52a78198c555644729ad92f060367c74ded37704adfc273a4a33fec821bd2ebd3bc051730e97a4dd14d2b766062592f5eec09d16bb50efebf2cc00dd3e0e3418e60ec84870f7":"800abfe7dc667aa17bcd7c04614bc221a65482ccc04b604602b0e131908a938ea11b48dc515dab7abcbb1e0c7fd66511edc0d86551b7632496e03df94357e1c4ea07a7ce1e381a2fcafdff5f5bf00df828806020e875c00926e4d011f88477a1b01927d73813cad4847c6396b9244621be2b00b63c659253318413443cd244215cd7fd4cbe796e82c6cf70f89cc0c528fb8e344809b31876e7ef739d5160d095c9684188b0c8755c7a468d47f56d6db9ea012924ecb0556fb71312a8d7c93bb2898ea08ee54eeb594548285f06a973cbbe2a0cb02e90f323fe045521f34c68354a6d3e95dbfff1eb64692edc0a44f3d3e408d0e479a541e779a6054259e2d854":256 + Diffie-Hellman selftest dhm_selftest: diff --git a/tests/suites/test_suite_dhm.function b/tests/suites/test_suite_dhm.function index bc43016656..d74c24dd06 100644 --- a/tests/suites/test_suite_dhm.function +++ b/tests/suites/test_suite_dhm.function @@ -88,8 +88,8 @@ exit: */ /* BEGIN_CASE */ -void dhm_do_dhm( int radix_P, char *input_P, int x_size, - int radix_G, char *input_G, int result ) +void dhm_do_dhm( char *input_P, int x_size, + char *input_G, int result ) { mbedtls_dhm_context ctx_srv; mbedtls_dhm_context ctx_cli; @@ -116,8 +116,8 @@ void dhm_do_dhm( int radix_P, char *input_P, int x_size, /* * Set params */ - TEST_ASSERT( mbedtls_test_read_mpi( &ctx_srv.P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &ctx_srv.G, radix_G, input_G ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx_srv.P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx_srv.G, input_G ) == 0 ); pub_cli_len = mbedtls_mpi_size( &ctx_srv.P ); TEST_ASSERT( check_get_value( &ctx_srv, MBEDTLS_DHM_PARAM_P, &ctx_srv.P ) ); TEST_ASSERT( check_get_value( &ctx_srv, MBEDTLS_DHM_PARAM_G, &ctx_srv.G ) ); @@ -225,7 +225,7 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void dhm_make_public( int P_bytes, int radix_G, char *input_G, int result ) +void dhm_make_public( int P_bytes, char *input_G, int result ) { mbedtls_mpi P, G; mbedtls_dhm_context ctx; @@ -239,7 +239,7 @@ void dhm_make_public( int P_bytes, int radix_G, char *input_G, int result ) TEST_ASSERT( mbedtls_mpi_shift_l( &P, ( P_bytes * 8 ) - 1 ) == 0 ); TEST_ASSERT( mbedtls_mpi_set_bit( &P, 0, 1 ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &G, radix_G, input_G ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &G, input_G ) == 0 ); TEST_ASSERT( mbedtls_dhm_set_group( &ctx, &P, &G ) == 0 ); TEST_ASSERT( mbedtls_dhm_make_public( &ctx, (int) mbedtls_mpi_size( &P ), @@ -263,8 +263,8 @@ void dhm_file( char * filename, char * p, char * g, int len ) mbedtls_dhm_init( &ctx ); mbedtls_mpi_init( &P ); mbedtls_mpi_init( &G ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, 16, p ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &G, 16, g ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, p ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &G, g ) == 0 ); TEST_ASSERT( mbedtls_dhm_parse_dhmfile( &ctx, filename ) == 0 ); diff --git a/tests/suites/test_suite_ecdh.function b/tests/suites/test_suite_ecdh.function index 68db8fe044..515a974c6a 100644 --- a/tests/suites/test_suite_ecdh.function +++ b/tests/suites/test_suite_ecdh.function @@ -43,13 +43,16 @@ exit: * END_DEPENDENCIES */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void ecdh_invalid_param( ) { mbedtls_ecdh_context ctx; mbedtls_ecp_keypair kp; int invalid_side = 42; + mbedtls_ecdh_init( &ctx ); + mbedtls_ecp_keypair_init( &kp ); + TEST_EQUAL( MBEDTLS_ERR_ECP_BAD_INPUT_DATA, mbedtls_ecdh_get_params( &ctx, &kp, invalid_side ) ); @@ -157,21 +160,21 @@ void ecdh_primitive_testvec( int id, data_t * rnd_buf_A, char * xA_str, mbedtls_test_rnd_buffer_rand, &rnd_info_A ) == 0 ); TEST_ASSERT( ! mbedtls_ecp_is_zero( &qA ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &check, 16, xA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &check, xA_str ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &qA.X, &check ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &check, 16, yA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &check, yA_str ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &qA.Y, &check ) == 0 ); TEST_ASSERT( mbedtls_ecdh_gen_public( &grp, &dB, &qB, mbedtls_test_rnd_buffer_rand, &rnd_info_B ) == 0 ); TEST_ASSERT( ! mbedtls_ecp_is_zero( &qB ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &check, 16, xB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &check, xB_str ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &qB.X, &check ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &check, 16, yB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &check, yB_str ) == 0 ); TEST_ASSERT( mbedtls_mpi_cmp_mpi( &qB.Y, &check ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &check, 16, z_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &check, z_str ) == 0 ); TEST_ASSERT( mbedtls_ecdh_compute_shared( &grp, &zA, &qB, &dA, &mbedtls_test_rnd_pseudo_rand, &rnd_info ) == 0 ); diff --git a/tests/suites/test_suite_ecdsa.data b/tests/suites/test_suite_ecdsa.data index 95efc73a31..50411e9b17 100644 --- a/tests/suites/test_suite_ecdsa.data +++ b/tests/suites/test_suite_ecdsa.data @@ -92,203 +92,203 @@ ecdsa_write_read_random:MBEDTLS_ECP_DP_SECP521R1 ECDSA deterministic test vector rfc 6979 p192 sha1 [#1] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA1:"sample":"98C6BD12B23EAF5E2A2045132086BE3EB8EBD62ABF6698FF":"57A22B07DEA9530F8DE9471B1DC6624472E8E2844BC25B64" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA1:"8151325DCDBAE9E0FF95F9F9658432DBEDFDB209":"98C6BD12B23EAF5E2A2045132086BE3EB8EBD62ABF6698FF":"57A22B07DEA9530F8DE9471B1DC6624472E8E2844BC25B64" ECDSA deterministic test vector rfc 6979 p192 sha224 [#1] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA224:"sample":"A1F00DAD97AEEC91C95585F36200C65F3C01812AA60378F5":"E07EC1304C7C6C9DEBBE980B9692668F81D4DE7922A0F97A" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA224:"9003E374BC726550C2C289447FD0533160F875709386DFA377BFD41C":"A1F00DAD97AEEC91C95585F36200C65F3C01812AA60378F5":"E07EC1304C7C6C9DEBBE980B9692668F81D4DE7922A0F97A" ECDSA deterministic test vector rfc 6979 p192 sha256 [#1] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA256:"sample":"4B0B8CE98A92866A2820E20AA6B75B56382E0F9BFD5ECB55":"CCDB006926EA9565CBADC840829D8C384E06DE1F1E381B85" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA256:"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF":"4B0B8CE98A92866A2820E20AA6B75B56382E0F9BFD5ECB55":"CCDB006926EA9565CBADC840829D8C384E06DE1F1E381B85" ECDSA deterministic test vector rfc 6979 p192 sha384 [#1] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA384:"sample":"DA63BF0B9ABCF948FBB1E9167F136145F7A20426DCC287D5":"C3AA2C960972BD7A2003A57E1C4C77F0578F8AE95E31EC5E" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA384:"9A9083505BC92276AEC4BE312696EF7BF3BF603F4BBD381196A029F340585312313BCA4A9B5B890EFEE42C77B1EE25FE":"DA63BF0B9ABCF948FBB1E9167F136145F7A20426DCC287D5":"C3AA2C960972BD7A2003A57E1C4C77F0578F8AE95E31EC5E" ECDSA deterministic test vector rfc 6979 p192 sha512 [#1] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA512:"sample":"4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8":"3F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA512:"39A5E04AAFF7455D9850C605364F514C11324CE64016960D23D5DC57D3FFD8F49A739468AB8049BF18EEF820CDB1AD6C9015F838556BC7FAD4138B23FDF986C7":"4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8":"3F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67" ECDSA deterministic test vector rfc 6979 p192 sha1 [#2] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA1:"test":"0F2141A0EBBC44D2E1AF90A50EBCFCE5E197B3B7D4DE036D":"EB18BC9E1F3D7387500CB99CF5F7C157070A8961E38700B7" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA1:"A94A8FE5CCB19BA61C4C0873D391E987982FBBD3":"0F2141A0EBBC44D2E1AF90A50EBCFCE5E197B3B7D4DE036D":"EB18BC9E1F3D7387500CB99CF5F7C157070A8961E38700B7" ECDSA deterministic test vector rfc 6979 p192 sha224 [#2] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA224:"test":"6945A1C1D1B2206B8145548F633BB61CEF04891BAF26ED34":"B7FB7FDFC339C0B9BD61A9F5A8EAF9BE58FC5CBA2CB15293" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA224:"90A3ED9E32B2AAF4C61C410EB925426119E1A9DC53D4286ADE99A809":"6945A1C1D1B2206B8145548F633BB61CEF04891BAF26ED34":"B7FB7FDFC339C0B9BD61A9F5A8EAF9BE58FC5CBA2CB15293" ECDSA deterministic test vector rfc 6979 p192 sha256 [#2] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA256:"test":"3A718BD8B4926C3B52EE6BBE67EF79B18CB6EB62B1AD97AE":"5662E6848A4A19B1F1AE2F72ACD4B8BBE50F1EAC65D9124F" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"3A718BD8B4926C3B52EE6BBE67EF79B18CB6EB62B1AD97AE":"5662E6848A4A19B1F1AE2F72ACD4B8BBE50F1EAC65D9124F" ECDSA deterministic test vector rfc 6979 p192 sha384 [#2] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA384:"test":"B234B60B4DB75A733E19280A7A6034BD6B1EE88AF5332367":"7994090B2D59BB782BE57E74A44C9A1C700413F8ABEFE77A" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA384:"768412320F7B0AA5812FCE428DC4706B3CAE50E02A64CAA16A782249BFE8EFC4B7EF1CCB126255D196047DFEDF17A0A9":"B234B60B4DB75A733E19280A7A6034BD6B1EE88AF5332367":"7994090B2D59BB782BE57E74A44C9A1C700413F8ABEFE77A" ECDSA deterministic test vector rfc 6979 p192 sha512 [#2] depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA512:"test":"FE4F4AE86A58B6507946715934FE2D8FF9D95B6B098FE739":"74CF5605C98FBA0E1EF34D4B5A1577A7DCF59457CAE52290" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP192R1:"6FAB034934E4C0FC9AE67F5B5659A9D7D1FEFD187EE09FD4":MBEDTLS_MD_SHA512:"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF":"FE4F4AE86A58B6507946715934FE2D8FF9D95B6B098FE739":"74CF5605C98FBA0E1EF34D4B5A1577A7DCF59457CAE52290" ECDSA deterministic test vector rfc 6979 p224 sha1 [#1] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA1:"sample":"22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC":"66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA1:"8151325DCDBAE9E0FF95F9F9658432DBEDFDB209":"22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC":"66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69" ECDSA deterministic test vector rfc 6979 p224 sha224 [#1] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA224:"sample":"1CDFE6662DDE1E4A1EC4CDEDF6A1F5A2FB7FBD9145C12113E6ABFD3E":"A6694FD7718A21053F225D3F46197CA699D45006C06F871808F43EBC" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA224:"9003E374BC726550C2C289447FD0533160F875709386DFA377BFD41C":"1CDFE6662DDE1E4A1EC4CDEDF6A1F5A2FB7FBD9145C12113E6ABFD3E":"A6694FD7718A21053F225D3F46197CA699D45006C06F871808F43EBC" ECDSA deterministic test vector rfc 6979 p224 sha256 [#1] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA256:"sample":"61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA":"BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA256:"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF":"61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA":"BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101" ECDSA deterministic test vector rfc 6979 p224 sha384 [#1] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA384:"sample":"0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953":"830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA384:"9A9083505BC92276AEC4BE312696EF7BF3BF603F4BBD381196A029F340585312313BCA4A9B5B890EFEE42C77B1EE25FE":"0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953":"830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D" ECDSA deterministic test vector rfc 6979 p224 sha512 [#1] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA512:"sample":"074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397":"A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA512:"39A5E04AAFF7455D9850C605364F514C11324CE64016960D23D5DC57D3FFD8F49A739468AB8049BF18EEF820CDB1AD6C9015F838556BC7FAD4138B23FDF986C7":"074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397":"A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084" ECDSA deterministic test vector rfc 6979 p224 sha1 [#2] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA1:"test":"DEAA646EC2AF2EA8AD53ED66B2E2DDAA49A12EFD8356561451F3E21C":"95987796F6CF2062AB8135271DE56AE55366C045F6D9593F53787BD2" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA1:"A94A8FE5CCB19BA61C4C0873D391E987982FBBD3":"DEAA646EC2AF2EA8AD53ED66B2E2DDAA49A12EFD8356561451F3E21C":"95987796F6CF2062AB8135271DE56AE55366C045F6D9593F53787BD2" ECDSA deterministic test vector rfc 6979 p224 sha224 [#2] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA224:"test":"C441CE8E261DED634E4CF84910E4C5D1D22C5CF3B732BB204DBEF019":"902F42847A63BDC5F6046ADA114953120F99442D76510150F372A3F4" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA224:"90A3ED9E32B2AAF4C61C410EB925426119E1A9DC53D4286ADE99A809":"C441CE8E261DED634E4CF84910E4C5D1D22C5CF3B732BB204DBEF019":"902F42847A63BDC5F6046ADA114953120F99442D76510150F372A3F4" ECDSA deterministic test vector rfc 6979 p224 sha256 [#2] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA256:"test":"AD04DDE87B84747A243A631EA47A1BA6D1FAA059149AD2440DE6FBA6":"178D49B1AE90E3D8B629BE3DB5683915F4E8C99FDF6E666CF37ADCFD" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"AD04DDE87B84747A243A631EA47A1BA6D1FAA059149AD2440DE6FBA6":"178D49B1AE90E3D8B629BE3DB5683915F4E8C99FDF6E666CF37ADCFD" ECDSA deterministic test vector rfc 6979 p224 sha384 [#2] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA384:"test":"389B92682E399B26518A95506B52C03BC9379A9DADF3391A21FB0EA4":"414A718ED3249FF6DBC5B50C27F71F01F070944DA22AB1F78F559AAB" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA384:"768412320F7B0AA5812FCE428DC4706B3CAE50E02A64CAA16A782249BFE8EFC4B7EF1CCB126255D196047DFEDF17A0A9":"389B92682E399B26518A95506B52C03BC9379A9DADF3391A21FB0EA4":"414A718ED3249FF6DBC5B50C27F71F01F070944DA22AB1F78F559AAB" ECDSA deterministic test vector rfc 6979 p224 sha512 [#2] depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA512:"test":"049F050477C5ADD858CAC56208394B5A55BAEBBE887FDF765047C17C":"077EB13E7005929CEFA3CD0403C7CDCC077ADF4E44F3C41B2F60ECFF" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP224R1:"F220266E1105BFE3083E03EC7A3A654651F45E37167E88600BF257C1":MBEDTLS_MD_SHA512:"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF":"049F050477C5ADD858CAC56208394B5A55BAEBBE887FDF765047C17C":"077EB13E7005929CEFA3CD0403C7CDCC077ADF4E44F3C41B2F60ECFF" ECDSA deterministic test vector rfc 6979 p256 sha1 [#1] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA1:"sample":"61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32":"6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA1:"8151325DCDBAE9E0FF95F9F9658432DBEDFDB209":"61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32":"6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB" ECDSA deterministic test vector rfc 6979 p256 sha224 [#1] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA224:"sample":"53B2FFF5D1752B2C689DF257C04C40A587FABABB3F6FC2702F1343AF7CA9AA3F":"B9AFB64FDC03DC1A131C7D2386D11E349F070AA432A4ACC918BEA988BF75C74C" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA224:"9003E374BC726550C2C289447FD0533160F875709386DFA377BFD41C":"53B2FFF5D1752B2C689DF257C04C40A587FABABB3F6FC2702F1343AF7CA9AA3F":"B9AFB64FDC03DC1A131C7D2386D11E349F070AA432A4ACC918BEA988BF75C74C" ECDSA deterministic test vector rfc 6979 p256 sha256 [#1] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"sample":"EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716":"F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF":"EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716":"F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8" ECDSA deterministic test vector rfc 6979 p256 sha384 [#1] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA384:"sample":"0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719":"4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA384:"9A9083505BC92276AEC4BE312696EF7BF3BF603F4BBD381196A029F340585312313BCA4A9B5B890EFEE42C77B1EE25FE":"0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719":"4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954" ECDSA deterministic test vector rfc 6979 p256 sha512 [#1] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA512:"sample":"8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00":"2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA512:"39A5E04AAFF7455D9850C605364F514C11324CE64016960D23D5DC57D3FFD8F49A739468AB8049BF18EEF820CDB1AD6C9015F838556BC7FAD4138B23FDF986C7":"8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00":"2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE" ECDSA deterministic test vector rfc 6979 p256 sha1 [#2] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA1:"test":"0CBCC86FD6ABD1D99E703E1EC50069EE5C0B4BA4B9AC60E409E8EC5910D81A89":"01B9D7B73DFAA60D5651EC4591A0136F87653E0FD780C3B1BC872FFDEAE479B1" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA1:"A94A8FE5CCB19BA61C4C0873D391E987982FBBD3":"0CBCC86FD6ABD1D99E703E1EC50069EE5C0B4BA4B9AC60E409E8EC5910D81A89":"01B9D7B73DFAA60D5651EC4591A0136F87653E0FD780C3B1BC872FFDEAE479B1" ECDSA deterministic test vector rfc 6979 p256 sha224 [#2] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA224:"test":"C37EDB6F0AE79D47C3C27E962FA269BB4F441770357E114EE511F662EC34A692":"C820053A05791E521FCAAD6042D40AEA1D6B1A540138558F47D0719800E18F2D" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA224:"90A3ED9E32B2AAF4C61C410EB925426119E1A9DC53D4286ADE99A809":"C37EDB6F0AE79D47C3C27E962FA269BB4F441770357E114EE511F662EC34A692":"C820053A05791E521FCAAD6042D40AEA1D6B1A540138558F47D0719800E18F2D" ECDSA deterministic test vector rfc 6979 p256 sha256 [#2] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"test":"F1ABB023518351CD71D881567B1EA663ED3EFCF6C5132B354F28D3B0B7D38367":"019F4113742A2B14BD25926B49C649155F267E60D3814B4C0CC84250E46F0083" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"F1ABB023518351CD71D881567B1EA663ED3EFCF6C5132B354F28D3B0B7D38367":"019F4113742A2B14BD25926B49C649155F267E60D3814B4C0CC84250E46F0083" ECDSA deterministic test vector rfc 6979 p256 sha384 [#2] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA384:"test":"83910E8B48BB0C74244EBDF7F07A1C5413D61472BD941EF3920E623FBCCEBEB6":"8DDBEC54CF8CD5874883841D712142A56A8D0F218F5003CB0296B6B509619F2C" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA384:"768412320F7B0AA5812FCE428DC4706B3CAE50E02A64CAA16A782249BFE8EFC4B7EF1CCB126255D196047DFEDF17A0A9":"83910E8B48BB0C74244EBDF7F07A1C5413D61472BD941EF3920E623FBCCEBEB6":"8DDBEC54CF8CD5874883841D712142A56A8D0F218F5003CB0296B6B509619F2C" ECDSA deterministic test vector rfc 6979 p256 sha512 [#2] depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA512:"test":"461D93F31B6540894788FD206C07CFA0CC35F46FA3C91816FFF1040AD1581A04":"39AF9F15DE0DB8D97E72719C74820D304CE5226E32DEDAE67519E840D1194E55" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA512:"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF":"461D93F31B6540894788FD206C07CFA0CC35F46FA3C91816FFF1040AD1581A04":"39AF9F15DE0DB8D97E72719C74820D304CE5226E32DEDAE67519E840D1194E55" ECDSA deterministic test vector rfc 6979 p384 sha1 [#1] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA1:"sample":"EC748D839243D6FBEF4FC5C4859A7DFFD7F3ABDDF72014540C16D73309834FA37B9BA002899F6FDA3A4A9386790D4EB2":"A3BCFA947BEEF4732BF247AC17F71676CB31A847B9FF0CBC9C9ED4C1A5B3FACF26F49CA031D4857570CCB5CA4424A443" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA1:"8151325DCDBAE9E0FF95F9F9658432DBEDFDB209":"EC748D839243D6FBEF4FC5C4859A7DFFD7F3ABDDF72014540C16D73309834FA37B9BA002899F6FDA3A4A9386790D4EB2":"A3BCFA947BEEF4732BF247AC17F71676CB31A847B9FF0CBC9C9ED4C1A5B3FACF26F49CA031D4857570CCB5CA4424A443" ECDSA deterministic test vector rfc 6979 p384 sha224 [#1] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA224:"sample":"42356E76B55A6D9B4631C865445DBE54E056D3B3431766D0509244793C3F9366450F76EE3DE43F5A125333A6BE060122":"9DA0C81787064021E78DF658F2FBB0B042BF304665DB721F077A4298B095E4834C082C03D83028EFBF93A3C23940CA8D" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA224:"9003E374BC726550C2C289447FD0533160F875709386DFA377BFD41C":"42356E76B55A6D9B4631C865445DBE54E056D3B3431766D0509244793C3F9366450F76EE3DE43F5A125333A6BE060122":"9DA0C81787064021E78DF658F2FBB0B042BF304665DB721F077A4298B095E4834C082C03D83028EFBF93A3C23940CA8D" ECDSA deterministic test vector rfc 6979 p384 sha256 [#1] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA256:"sample":"21B13D1E013C7FA1392D03C5F99AF8B30C570C6F98D4EA8E354B63A21D3DAA33BDE1E888E63355D92FA2B3C36D8FB2CD":"F3AA443FB107745BF4BD77CB3891674632068A10CA67E3D45DB2266FA7D1FEEBEFDC63ECCD1AC42EC0CB8668A4FA0AB0" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA256:"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF":"21B13D1E013C7FA1392D03C5F99AF8B30C570C6F98D4EA8E354B63A21D3DAA33BDE1E888E63355D92FA2B3C36D8FB2CD":"F3AA443FB107745BF4BD77CB3891674632068A10CA67E3D45DB2266FA7D1FEEBEFDC63ECCD1AC42EC0CB8668A4FA0AB0" ECDSA deterministic test vector rfc 6979 p384 sha384 [#1] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA384:"sample":"94EDBB92A5ECB8AAD4736E56C691916B3F88140666CE9FA73D64C4EA95AD133C81A648152E44ACF96E36DD1E80FABE46":"99EF4AEB15F178CEA1FE40DB2603138F130E740A19624526203B6351D0A3A94FA329C145786E679E7B82C71A38628AC8" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA384:"9A9083505BC92276AEC4BE312696EF7BF3BF603F4BBD381196A029F340585312313BCA4A9B5B890EFEE42C77B1EE25FE":"94EDBB92A5ECB8AAD4736E56C691916B3F88140666CE9FA73D64C4EA95AD133C81A648152E44ACF96E36DD1E80FABE46":"99EF4AEB15F178CEA1FE40DB2603138F130E740A19624526203B6351D0A3A94FA329C145786E679E7B82C71A38628AC8" ECDSA deterministic test vector rfc 6979 p384 sha512 [#1] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA512:"sample":"ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799CFE30F35CC900056D7C99CD7882433709":"512C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112DC7CC3EF3446DEFCEB01A45C2667FDD5" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA512:"39A5E04AAFF7455D9850C605364F514C11324CE64016960D23D5DC57D3FFD8F49A739468AB8049BF18EEF820CDB1AD6C9015F838556BC7FAD4138B23FDF986C7":"ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799CFE30F35CC900056D7C99CD7882433709":"512C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112DC7CC3EF3446DEFCEB01A45C2667FDD5" ECDSA deterministic test vector rfc 6979 p384 sha1 [#2] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA1:"test":"4BC35D3A50EF4E30576F58CD96CE6BF638025EE624004A1F7789A8B8E43D0678ACD9D29876DAF46638645F7F404B11C7":"D5A6326C494ED3FF614703878961C0FDE7B2C278F9A65FD8C4B7186201A2991695BA1C84541327E966FA7B50F7382282" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA1:"A94A8FE5CCB19BA61C4C0873D391E987982FBBD3":"4BC35D3A50EF4E30576F58CD96CE6BF638025EE624004A1F7789A8B8E43D0678ACD9D29876DAF46638645F7F404B11C7":"D5A6326C494ED3FF614703878961C0FDE7B2C278F9A65FD8C4B7186201A2991695BA1C84541327E966FA7B50F7382282" ECDSA deterministic test vector rfc 6979 p384 sha224 [#2] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA224:"test":"E8C9D0B6EA72A0E7837FEA1D14A1A9557F29FAA45D3E7EE888FC5BF954B5E62464A9A817C47FF78B8C11066B24080E72":"07041D4A7A0379AC7232FF72E6F77B6DDB8F09B16CCE0EC3286B2BD43FA8C6141C53EA5ABEF0D8231077A04540A96B66" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA224:"90A3ED9E32B2AAF4C61C410EB925426119E1A9DC53D4286ADE99A809":"E8C9D0B6EA72A0E7837FEA1D14A1A9557F29FAA45D3E7EE888FC5BF954B5E62464A9A817C47FF78B8C11066B24080E72":"07041D4A7A0379AC7232FF72E6F77B6DDB8F09B16CCE0EC3286B2BD43FA8C6141C53EA5ABEF0D8231077A04540A96B66" ECDSA deterministic test vector rfc 6979 p384 sha256 [#2] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA256:"test":"6D6DEFAC9AB64DABAFE36C6BF510352A4CC27001263638E5B16D9BB51D451559F918EEDAF2293BE5B475CC8F0188636B":"2D46F3BECBCC523D5F1A1256BF0C9B024D879BA9E838144C8BA6BAEB4B53B47D51AB373F9845C0514EEFB14024787265" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"6D6DEFAC9AB64DABAFE36C6BF510352A4CC27001263638E5B16D9BB51D451559F918EEDAF2293BE5B475CC8F0188636B":"2D46F3BECBCC523D5F1A1256BF0C9B024D879BA9E838144C8BA6BAEB4B53B47D51AB373F9845C0514EEFB14024787265" ECDSA deterministic test vector rfc 6979 p384 sha384 [#2] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA384:"test":"8203B63D3C853E8D77227FB377BCF7B7B772E97892A80F36AB775D509D7A5FEB0542A7F0812998DA8F1DD3CA3CF023DB":"DDD0760448D42D8A43AF45AF836FCE4DE8BE06B485E9B61B827C2F13173923E06A739F040649A667BF3B828246BAA5A5" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA384:"768412320F7B0AA5812FCE428DC4706B3CAE50E02A64CAA16A782249BFE8EFC4B7EF1CCB126255D196047DFEDF17A0A9":"8203B63D3C853E8D77227FB377BCF7B7B772E97892A80F36AB775D509D7A5FEB0542A7F0812998DA8F1DD3CA3CF023DB":"DDD0760448D42D8A43AF45AF836FCE4DE8BE06B485E9B61B827C2F13173923E06A739F040649A667BF3B828246BAA5A5" ECDSA deterministic test vector rfc 6979 p384 sha512 [#2] depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA512:"test":"A0D5D090C9980FAF3C2CE57B7AE951D31977DD11C775D314AF55F76C676447D06FB6495CD21B4B6E340FC236584FB277":"976984E59B4C77B0E8E4460DCA3D9F20E07B9BB1F63BEEFAF576F6B2E8B224634A2092CD3792E0159AD9CEE37659C736" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP384R1:"6B9D3DAD2E1B8C1C05B19875B6659F4DE23C3B667BF297BA9AA47740787137D896D5724E4C70A825F872C9EA60D2EDF5":MBEDTLS_MD_SHA512:"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF":"A0D5D090C9980FAF3C2CE57B7AE951D31977DD11C775D314AF55F76C676447D06FB6495CD21B4B6E340FC236584FB277":"976984E59B4C77B0E8E4460DCA3D9F20E07B9BB1F63BEEFAF576F6B2E8B224634A2092CD3792E0159AD9CEE37659C736" ECDSA deterministic test vector rfc 6979 p521 sha1 [#1] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA1:"sample":"0343B6EC45728975EA5CBA6659BBB6062A5FF89EEA58BE3C80B619F322C87910FE092F7D45BB0F8EEE01ED3F20BABEC079D202AE677B243AB40B5431D497C55D75D":"0E7B0E675A9B24413D448B8CC119D2BF7B2D2DF032741C096634D6D65D0DBE3D5694625FB9E8104D3B842C1B0E2D0B98BEA19341E8676AEF66AE4EBA3D5475D5D16" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA1:"8151325DCDBAE9E0FF95F9F9658432DBEDFDB209":"0343B6EC45728975EA5CBA6659BBB6062A5FF89EEA58BE3C80B619F322C87910FE092F7D45BB0F8EEE01ED3F20BABEC079D202AE677B243AB40B5431D497C55D75D":"0E7B0E675A9B24413D448B8CC119D2BF7B2D2DF032741C096634D6D65D0DBE3D5694625FB9E8104D3B842C1B0E2D0B98BEA19341E8676AEF66AE4EBA3D5475D5D16" ECDSA deterministic test vector rfc 6979 p521 sha224 [#1] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA224:"sample":"1776331CFCDF927D666E032E00CF776187BC9FDD8E69D0DABB4109FFE1B5E2A30715F4CC923A4A5E94D2503E9ACFED92857B7F31D7152E0F8C00C15FF3D87E2ED2E":"050CB5265417FE2320BBB5A122B8E1A32BD699089851128E360E620A30C7E17BA41A666AF126CE100E5799B153B60528D5300D08489CA9178FB610A2006C254B41F" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA224:"9003E374BC726550C2C289447FD0533160F875709386DFA377BFD41C":"1776331CFCDF927D666E032E00CF776187BC9FDD8E69D0DABB4109FFE1B5E2A30715F4CC923A4A5E94D2503E9ACFED92857B7F31D7152E0F8C00C15FF3D87E2ED2E":"050CB5265417FE2320BBB5A122B8E1A32BD699089851128E360E620A30C7E17BA41A666AF126CE100E5799B153B60528D5300D08489CA9178FB610A2006C254B41F" ECDSA deterministic test vector rfc 6979 p521 sha256 [#1] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA256:"sample":"1511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E1A7":"04A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7ECFC" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA256:"AF2BDBE1AA9B6EC1E2ADE1D694F41FC71A831D0268E9891562113D8A62ADD1BF":"1511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E1A7":"04A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7ECFC" ECDSA deterministic test vector rfc 6979 p521 sha384 [#1] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA384:"sample":"1EA842A0E17D2DE4F92C15315C63DDF72685C18195C2BB95E572B9C5136CA4B4B576AD712A52BE9730627D16054BA40CC0B8D3FF035B12AE75168397F5D50C67451":"1F21A3CEE066E1961025FB048BD5FE2B7924D0CD797BABE0A83B66F1E35EEAF5FDE143FA85DC394A7DEE766523393784484BDF3E00114A1C857CDE1AA203DB65D61" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA384:"9A9083505BC92276AEC4BE312696EF7BF3BF603F4BBD381196A029F340585312313BCA4A9B5B890EFEE42C77B1EE25FE":"1EA842A0E17D2DE4F92C15315C63DDF72685C18195C2BB95E572B9C5136CA4B4B576AD712A52BE9730627D16054BA40CC0B8D3FF035B12AE75168397F5D50C67451":"1F21A3CEE066E1961025FB048BD5FE2B7924D0CD797BABE0A83B66F1E35EEAF5FDE143FA85DC394A7DEE766523393784484BDF3E00114A1C857CDE1AA203DB65D61" ECDSA deterministic test vector rfc 6979 p521 sha512 [#1] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA512:"sample":"0C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F174E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E377FA":"0617CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF282623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A67A" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA512:"39A5E04AAFF7455D9850C605364F514C11324CE64016960D23D5DC57D3FFD8F49A739468AB8049BF18EEF820CDB1AD6C9015F838556BC7FAD4138B23FDF986C7":"0C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F174E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E377FA":"0617CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF282623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A67A" ECDSA deterministic test vector rfc 6979 p521 sha1 [#2] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA1_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA1:"test":"13BAD9F29ABE20DE37EBEB823C252CA0F63361284015A3BF430A46AAA80B87B0693F0694BD88AFE4E661FC33B094CD3B7963BED5A727ED8BD6A3A202ABE009D0367":"1E9BB81FF7944CA409AD138DBBEE228E1AFCC0C890FC78EC8604639CB0DBDC90F717A99EAD9D272855D00162EE9527567DD6A92CBD629805C0445282BBC916797FF" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA1:"A94A8FE5CCB19BA61C4C0873D391E987982FBBD3":"13BAD9F29ABE20DE37EBEB823C252CA0F63361284015A3BF430A46AAA80B87B0693F0694BD88AFE4E661FC33B094CD3B7963BED5A727ED8BD6A3A202ABE009D0367":"1E9BB81FF7944CA409AD138DBBEE228E1AFCC0C890FC78EC8604639CB0DBDC90F717A99EAD9D272855D00162EE9527567DD6A92CBD629805C0445282BBC916797FF" ECDSA deterministic test vector rfc 6979 p521 sha224 [#2] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA224_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA224:"test":"1C7ED902E123E6815546065A2C4AF977B22AA8EADDB68B2C1110E7EA44D42086BFE4A34B67DDC0E17E96536E358219B23A706C6A6E16BA77B65E1C595D43CAE17FB":"177336676304FCB343CE028B38E7B4FBA76C1C1B277DA18CAD2A8478B2A9A9F5BEC0F3BA04F35DB3E4263569EC6AADE8C92746E4C82F8299AE1B8F1739F8FD519A4" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA224:"90A3ED9E32B2AAF4C61C410EB925426119E1A9DC53D4286ADE99A809":"1C7ED902E123E6815546065A2C4AF977B22AA8EADDB68B2C1110E7EA44D42086BFE4A34B67DDC0E17E96536E358219B23A706C6A6E16BA77B65E1C595D43CAE17FB":"177336676304FCB343CE028B38E7B4FBA76C1C1B277DA18CAD2A8478B2A9A9F5BEC0F3BA04F35DB3E4263569EC6AADE8C92746E4C82F8299AE1B8F1739F8FD519A4" ECDSA deterministic test vector rfc 6979 p521 sha256 [#2] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA256:"test":"00E871C4A14F993C6C7369501900C4BC1E9C7B0B4BA44E04868B30B41D8071042EB28C4C250411D0CE08CD197E4188EA4876F279F90B3D8D74A3C76E6F1E4656AA8":"0CD52DBAA33B063C3A6CD8058A1FB0A46A4754B034FCC644766CA14DA8CA5CA9FDE00E88C1AD60CCBA759025299079D7A427EC3CC5B619BFBC828E7769BCD694E86" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"00E871C4A14F993C6C7369501900C4BC1E9C7B0B4BA44E04868B30B41D8071042EB28C4C250411D0CE08CD197E4188EA4876F279F90B3D8D74A3C76E6F1E4656AA8":"0CD52DBAA33B063C3A6CD8058A1FB0A46A4754B034FCC644766CA14DA8CA5CA9FDE00E88C1AD60CCBA759025299079D7A427EC3CC5B619BFBC828E7769BCD694E86" ECDSA deterministic test vector rfc 6979 p521 sha384 [#2] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA384_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA384:"test":"14BEE21A18B6D8B3C93FAB08D43E739707953244FDBE924FA926D76669E7AC8C89DF62ED8975C2D8397A65A49DCC09F6B0AC62272741924D479354D74FF6075578C":"133330865C067A0EAF72362A65E2D7BC4E461E8C8995C3B6226A21BD1AA78F0ED94FE536A0DCA35534F0CD1510C41525D163FE9D74D134881E35141ED5E8E95B979" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA384:"768412320F7B0AA5812FCE428DC4706B3CAE50E02A64CAA16A782249BFE8EFC4B7EF1CCB126255D196047DFEDF17A0A9":"14BEE21A18B6D8B3C93FAB08D43E739707953244FDBE924FA926D76669E7AC8C89DF62ED8975C2D8397A65A49DCC09F6B0AC62272741924D479354D74FF6075578C":"133330865C067A0EAF72362A65E2D7BC4E461E8C8995C3B6226A21BD1AA78F0ED94FE536A0DCA35534F0CD1510C41525D163FE9D74D134881E35141ED5E8E95B979" ECDSA deterministic test vector rfc 6979 p521 sha512 [#2] depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA512_C -ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA512:"test":"13E99020ABF5CEE7525D16B69B229652AB6BDF2AFFCAEF38773B4B7D08725F10CDB93482FDCC54EDCEE91ECA4166B2A7C6265EF0CE2BD7051B7CEF945BABD47EE6D":"1FBD0013C674AA79CB39849527916CE301C66EA7CE8B80682786AD60F98F7E78A19CA69EFF5C57400E3B3A0AD66CE0978214D13BAF4E9AC60752F7B155E2DE4DCE3" +ecdsa_det_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0FAD06DAA62BA3B25D2FB40133DA757205DE67F5BB0018FEE8C86E1B68C7E75CAA896EB32F1F47C70855836A6D16FCC1466F6D8FBEC67DB89EC0C08B0E996B83538":MBEDTLS_MD_SHA512:"EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF":"13E99020ABF5CEE7525D16B69B229652AB6BDF2AFFCAEF38773B4B7D08725F10CDB93482FDCC54EDCEE91ECA4166B2A7C6265EF0CE2BD7051B7CEF945BABD47EE6D":"1FBD0013C674AA79CB39849527916CE301C66EA7CE8B80682786AD60F98F7E78A19CA69EFF5C57400E3B3A0AD66CE0978214D13BAF4E9AC60752F7B155E2DE4DCE3" ECDSA restartable read-verify: max_ops=0 (disabled) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED @@ -308,19 +308,19 @@ ecdsa_read_restart:MBEDTLS_ECP_DP_SECP256R1:"04e8f573412a810c5f81ecd2d251bb94387 ECDSA restartable sign-write: secp256r1 max_ops=0 (disabled) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 +ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 ECDSA restartable sign-write: secp256r1 restart max_ops=1 depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 +ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 ECDSA restartable sign-write: secp256r1 restart max_ops=10000 depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 +ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 ECDSA restartable sign-write: secp256r1 restart max_ops=250 depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:32 +ecdsa_write_restart:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":MBEDTLS_MD_SHA256:"9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:32 ECDSA zero private parameter p192 depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED @@ -361,3 +361,63 @@ ecdsa_prim_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0":"0151518F1AF0F563517EDD5485 ECDSA private parameter greater than n p521 depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED ecdsa_prim_test_vectors:MBEDTLS_ECP_DP_SECP521R1:"0065FDA3409451DCAB0A0EAD45495112A3D813C17BFD34BDF8C1209D7DF5849120597779060A7FF9D704ADF78B570FFAD6F062E95C7E0C5D5481C5B153B48B375FA11":"0151518F1AF0F563517EDD5485190DF95A4BF57B5CBA4CF2A9A3F6474725A35F7AFE0A6DDEB8BEDBCD6A197E592D40188901CECD650699C9B5E456AEA5ADD19052A8":"006F3B142EA1BFFF7E2837AD44C9E4FF6D2D34C73184BBAD90026DD5E6E85317D9DF45CAD7803C6C20035B2F3FF63AFF4E1BA64D1C077577DA3F4286C58F0AEAE643":"00C1C2B305419F5A41344D7E4359933D734096F556197A9B244342B8B62F46F9373778F9DE6B6497B1EF825FF24F42F9B4A4BD7382CFC3378A540B1B7F0C1B956C2F":"DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F":"0154FD3836AF92D0DCA57DD5341D3053988534FDE8318FC6AAAAB68E2E6F4339B19F2F281A7E0B22C269D93CF8794A9278880ED7DBB8D9362CAEACEE544320552251":"017705A7030290D1CEB605A9A1BB03FF9CDD521E87A696EC926C8C10C8362DF4975367101F67D1CF9BCCBF2F3D239534FA509E70AAC851AE01AAC68D62F866472660":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (not on curve), zero bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"2":"1":"1":"":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (not on curve), one byte of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"2":"1":"1":"00":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (not on curve), r=1, s=1 +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"2":"1":"1":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (also not on curve), r=1, s=1 +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"12345":"1":"1":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (not on curve), r=12345, s=1 +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"2":"12345":"1":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify invalid pub key (not on curve), r=1, s=12345 +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"1":"2":"1":"12345":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY + +ECDSA verify valid pub key, invalid sig (r=0), 0 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"0":"1":"":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid pub key, invalid sig (r=0), 1 byte of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"0":"1":"00":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid pub key, invalid sig (r>n-1), 32 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141":"12":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid pub key, valid/incorrect sig, 0 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"84eead3fb3cdbdac882412af64cc125b6784690bebf575f1c32162ab65080037":"":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid pub key, valid/incorrect sig, 1 byte of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"84eead3fb3cdbdac882412af64cc125b6784690bebf575f1c32162ab65080037":"00":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid pub key, valid/incorrect sig, 32 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"84eead3fb3cdbdac882412af64cc125b6784690bebf575f1c32162ab65080037":"0000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_VERIFY_FAILED + +ECDSA verify valid public key, correct sig, 0 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"c9cc1ba95156bc103055a5d7946f3a3ae7f0657d1e53f1d5c2c9782950aa69b":"":0 + +ECDSA verify valid pub key, correct sig, 1 byte of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"c9cc1ba95156bc103055a5d7946f3a3ae7f0657d1e53f1d5c2c9782950aa69b":"00":0 + +ECDSA verify valid pub key, correct sig, 32 bytes of data +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecdsa_verify:MBEDTLS_ECP_DP_SECP256K1:"79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798":"483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8":"ed3bace23c5e17652e174c835fb72bf53ee306b3406a26890221b4cef7500f88":"c9cc1ba95156bc103055a5d7946f3a3ae7f0657d1e53f1d5c2c9782950aa69b":"0000000000000000000000000000000000000000000000000000000000000000":0 diff --git a/tests/suites/test_suite_ecdsa.function b/tests/suites/test_suite_ecdsa.function index 5e4cdaa0ef..0e2ac92c70 100644 --- a/tests/suites/test_suite_ecdsa.function +++ b/tests/suites/test_suite_ecdsa.function @@ -1,5 +1,11 @@ /* BEGIN_HEADER */ #include "mbedtls/ecdsa.h" +#include "hash_info.h" +#include "mbedtls/legacy_or_psa.h" +#if ( defined(MBEDTLS_ECDSA_DETERMINISTIC) && defined(MBEDTLS_SHA256_C) ) || \ + ( !defined(MBEDTLS_ECDSA_DETERMINISTIC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) ) +#define MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC +#endif /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -14,7 +20,7 @@ void ecdsa_prim_zero( int id ) mbedtls_ecp_point Q; mbedtls_mpi d, r, s; mbedtls_test_rnd_pseudo_info rnd_info; - unsigned char buf[MBEDTLS_MD_MAX_SIZE]; + unsigned char buf[MBEDTLS_HASH_MAX_SIZE]; mbedtls_ecp_group_init( &grp ); mbedtls_ecp_point_init( &Q ); @@ -46,7 +52,7 @@ void ecdsa_prim_random( int id ) mbedtls_ecp_point Q; mbedtls_mpi d, r, s; mbedtls_test_rnd_pseudo_info rnd_info; - unsigned char buf[MBEDTLS_MD_MAX_SIZE]; + unsigned char buf[MBEDTLS_HASH_MAX_SIZE]; mbedtls_ecp_group_init( &grp ); mbedtls_ecp_point_init( &Q ); @@ -93,9 +99,9 @@ void ecdsa_prim_test_vectors( int id, char * d_str, char * xQ_str, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_read_string( &Q, 16, xQ_str, yQ_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &d, 16, d_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &r_check, 16, r_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &s_check, 16, s_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &d, d_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &r_check, r_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &s_check, s_str ) == 0 ); rnd_info.fallback_f_rng = mbedtls_test_rnd_std_rand; rnd_info.fallback_p_rng = NULL; rnd_info.buf = rnd_buf->x; @@ -192,34 +198,25 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_ECDSA_DETERMINISTIC */ -void ecdsa_det_test_vectors( int id, char * d_str, int md_alg, char * msg, +void ecdsa_det_test_vectors( int id, char * d_str, int md_alg, data_t * hash, char * r_str, char * s_str ) { mbedtls_ecp_group grp; mbedtls_mpi d, r, s, r_check, s_check; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; - size_t hlen; - const mbedtls_md_info_t *md_info; mbedtls_ecp_group_init( &grp ); mbedtls_mpi_init( &d ); mbedtls_mpi_init( &r ); mbedtls_mpi_init( &s ); mbedtls_mpi_init( &r_check ); mbedtls_mpi_init( &s_check ); - memset( hash, 0, sizeof( hash ) ); TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &d, 16, d_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &r_check, 16, r_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &s_check, 16, s_str ) == 0 ); - - md_info = mbedtls_md_info_from_type( md_alg ); - TEST_ASSERT( md_info != NULL ); - hlen = mbedtls_md_get_size( md_info ); - TEST_ASSERT( mbedtls_md( md_info, (const unsigned char *) msg, - strlen( msg ), hash ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &d, d_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &r_check, r_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &s_check, s_str ) == 0 ); TEST_ASSERT( - mbedtls_ecdsa_sign_det_ext( &grp, &r, &s, &d, hash, hlen, - md_alg, mbedtls_test_rnd_std_rand, + mbedtls_ecdsa_sign_det_ext( &grp, &r, &s, &d, + hash->x, hash->len, md_alg, + mbedtls_test_rnd_std_rand, NULL ) == 0 ); @@ -233,7 +230,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC */ void ecdsa_write_read_zero( int id ) { mbedtls_ecdsa_context ctx; @@ -293,7 +290,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC */ void ecdsa_write_read_random( int id ) { mbedtls_ecdsa_context ctx; @@ -421,32 +418,21 @@ exit: /* BEGIN_CASE depends_on:MBEDTLS_ECP_RESTARTABLE:MBEDTLS_ECDSA_DETERMINISTIC */ void ecdsa_write_restart( int id, char *d_str, int md_alg, - char *msg, data_t *sig_check, + data_t *hash, data_t *sig_check, int max_ops, int min_restart, int max_restart ) { int ret, cnt_restart; mbedtls_ecdsa_restart_ctx rs_ctx; mbedtls_ecdsa_context ctx; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; unsigned char sig[MBEDTLS_ECDSA_MAX_LEN]; - size_t hlen, slen; - const mbedtls_md_info_t *md_info; + size_t slen; mbedtls_ecdsa_restart_init( &rs_ctx ); mbedtls_ecdsa_init( &ctx ); - memset( hash, 0, sizeof( hash ) ); memset( sig, 0, sizeof( sig ) ); TEST_ASSERT( mbedtls_ecp_group_load( &ctx.grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.d, 16, d_str ) == 0 ); - - md_info = mbedtls_md_info_from_type( md_alg ); - TEST_ASSERT( md_info != NULL ); - - hlen = mbedtls_md_get_size( md_info ); - TEST_ASSERT( mbedtls_md( md_info, - (const unsigned char *) msg, strlen( msg ), - hash ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.d, d_str ) == 0 ); mbedtls_ecp_set_max_ops( max_ops ); @@ -454,7 +440,7 @@ void ecdsa_write_restart( int id, char *d_str, int md_alg, cnt_restart = 0; do { ret = mbedtls_ecdsa_write_signature_restartable( &ctx, - md_alg, hash, hlen, sig, sizeof( sig ), &slen, + md_alg, hash->x, hash->len, sig, sizeof( sig ), &slen, mbedtls_test_rnd_std_rand, NULL, &rs_ctx ); } while( ret == MBEDTLS_ERR_ECP_IN_PROGRESS && ++cnt_restart ); @@ -470,7 +456,7 @@ void ecdsa_write_restart( int id, char *d_str, int md_alg, if( min_restart > 0 ) { ret = mbedtls_ecdsa_write_signature_restartable( &ctx, - md_alg, hash, hlen, sig, sizeof( sig ), &slen, + md_alg, hash->x, hash->len, sig, sizeof( sig ), &slen, mbedtls_test_rnd_std_rand, NULL, &rs_ctx ); TEST_ASSERT( ret == MBEDTLS_ERR_ECP_IN_PROGRESS ); } @@ -480,3 +466,40 @@ exit: mbedtls_ecdsa_free( &ctx ); } /* END_CASE */ + +/* BEGIN_CASE */ +void ecdsa_verify( int grp_id, char * x, char * y, char * r, char * s, data_t * content, int expected ) +{ + mbedtls_ecdsa_context ctx; + mbedtls_mpi sig_r, sig_s; + + mbedtls_ecdsa_init( &ctx ); + mbedtls_mpi_init( &sig_r ); + mbedtls_mpi_init( &sig_s ); + + /* Prepare ECP group context */ + TEST_EQUAL( mbedtls_ecp_group_load( &ctx.grp, grp_id ), 0 ); + + /* Prepare public key */ + TEST_EQUAL( mbedtls_test_read_mpi( &ctx.Q.X, x ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &ctx.Q.Y, y ), 0 ); + TEST_EQUAL( mbedtls_mpi_lset( &ctx.Q.Z, 1 ), 0 ); + + /* Prepare signature R & S */ + TEST_EQUAL( mbedtls_test_read_mpi( &sig_r, r ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &sig_s, s ), 0 ); + + /* Test whether public key has expected validity */ + TEST_EQUAL( mbedtls_ecp_check_pubkey( &ctx.grp, &ctx.Q ), + expected == MBEDTLS_ERR_ECP_INVALID_KEY ? MBEDTLS_ERR_ECP_INVALID_KEY : 0 ); + + /* Verification */ + int result = mbedtls_ecdsa_verify( &ctx.grp, content->x, content->len, &ctx.Q, &sig_r, &sig_s ); + + TEST_EQUAL( result, expected ); +exit: + mbedtls_ecdsa_free( &ctx ); + mbedtls_mpi_free( &sig_r ); + mbedtls_mpi_free( &sig_s ); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_ecjpake.function b/tests/suites/test_suite_ecjpake.function index 311733b0dd..d90a5869ea 100644 --- a/tests/suites/test_suite_ecjpake.function +++ b/tests/suites/test_suite_ecjpake.function @@ -1,7 +1,8 @@ /* BEGIN_HEADER */ #include "mbedtls/ecjpake.h" +#include "mbedtls/legacy_or_psa.h" -#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && defined(MBEDTLS_SHA256_C) +#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA) static const unsigned char ecjpake_test_x1[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, @@ -90,7 +91,7 @@ cleanup: } #define ADD_SIZE( x ) x, sizeof( x ) -#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED && MBEDTLS_SHA256_C */ +#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA */ /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -98,7 +99,7 @@ cleanup: * END_DEPENDENCIES */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void ecjpake_invalid_param( ) { mbedtls_ecjpake_context ctx; @@ -108,13 +109,14 @@ void ecjpake_invalid_param( ) mbedtls_md_type_t valid_md = MBEDTLS_MD_SHA256; mbedtls_ecp_group_id valid_group = MBEDTLS_ECP_DP_SECP256R1; + mbedtls_ecjpake_init( &ctx ); + TEST_EQUAL( MBEDTLS_ERR_ECP_BAD_INPUT_DATA, mbedtls_ecjpake_setup( &ctx, invalid_role, valid_md, valid_group, buf, len ) ); - exit: return; } @@ -127,7 +129,7 @@ void ecjpake_selftest( ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA */ void read_bad_md( data_t *msg ) { mbedtls_ecjpake_context corrupt_ctx; @@ -138,17 +140,17 @@ void read_bad_md( data_t *msg ) mbedtls_ecjpake_init( &corrupt_ctx ); TEST_ASSERT( mbedtls_ecjpake_setup( &corrupt_ctx, any_role, MBEDTLS_MD_SHA256, MBEDTLS_ECP_DP_SECP256R1, pw, pw_len ) == 0 ); - corrupt_ctx.md_info = NULL; + corrupt_ctx.md_type = MBEDTLS_MD_NONE; - TEST_ASSERT( mbedtls_ecjpake_read_round_one( &corrupt_ctx, msg->x, - msg->len ) == MBEDTLS_ERR_MD_BAD_INPUT_DATA ); + TEST_EQUAL( mbedtls_ecjpake_read_round_one( &corrupt_ctx, msg->x, + msg->len ), MBEDTLS_ERR_MD_BAD_INPUT_DATA ); exit: mbedtls_ecjpake_free( &corrupt_ctx ); } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA */ void read_round_one( int role, data_t * msg, int ref_ret ) { mbedtls_ecjpake_context ctx; @@ -167,7 +169,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA */ void read_round_two_cli( data_t * msg, int ref_ret ) { mbedtls_ecjpake_context ctx; @@ -192,7 +194,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA */ void read_round_two_srv( data_t * msg, int ref_ret ) { mbedtls_ecjpake_context ctx; diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index 4ea4d3b464..4c0ed1ced1 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -309,6 +309,58 @@ ECP tls write-read point #2 depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED ecp_tls_write_read_point:MBEDTLS_ECP_DP_SECP521R1 +Check ECP group metadata #1 secp192k1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP192K1:192:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"fffffffffffffffffffffffffffffffffffffffeffffee37":"000000000000000000000000000000000000000000000000":"000000000000000000000000000000000000000000000003":"db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d":"9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d":"fffffffffffffffffffffffe26f2fc170f69466a74defd8d":18 + +Check ECP group metadata #2 secp192r1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP192R1:192:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"fffffffffffffffffffffffffffffffeffffffffffffffff":"":"64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1":"188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012":"07192b95ffc8da78631011ed6b24cdd573f977a11e794811":"ffffffffffffffffffffffff99def836146bc9b1b4d22831":19 + +Check ECP group metadata #3 secp224k1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP224K1:224:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"fffffffffffffffffffffffffffffffffffffffffffffffeffffe56d":"00000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000000000000000000000000005":"a1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c":"7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5":"010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7":20 + +Check ECP group metadata #4 secp224r1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP224R1:224:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"ffffffffffffffffffffffffffffffff000000000000000000000001":"":"b4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4":"b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21":"bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34":"ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d":21 + +Check ECP group metadata #5 secp256k1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP256K1:256:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f":"0000000000000000000000000000000000000000000000000000000000000000":"0000000000000000000000000000000000000000000000000000000000000007":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798":"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141":22 + +Check ECP group metadata #6 secp256r1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP256R1:256:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"ffffffff00000001000000000000000000000000ffffffffffffffffffffffff":"":"5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b":"6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296":"4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5":"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551":23 + +Check ECP group metadata #7 secp384r1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP384R1:384:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff":"":"b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef":"aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7":"3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f":"ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973":24 + +Check ECP group metadata #8 secp521r1 (SEC 2) +depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_SECP521R1:521:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"":"0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00":"00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66":"011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650":"01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409":25 + +Check ECP group metadata #9 bp256r1 (RFC 5639) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_BP256R1:256:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377":"7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9":"26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6":"8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262":"547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997":"a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7":26 + +Check ECP group metadata #10 bp384r1 (RFC 5639) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_BP384R1:384:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53":"7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826":"04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11":"1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e":"8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315":"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565":27 + +Check ECP group metadata #11 bp512r1 (RFC 5639) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_BP512R1:512:MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS:"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3":"7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca":"3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723":"81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822":"7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892":"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069":28 + +Check ECP group metadata #12 curve25519 (RFC 7748) +depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_CURVE25519:256:MBEDTLS_ECP_TYPE_MONTGOMERY:"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed":"76d06":"":"9":"":"1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed":29 + +Check ECP group metadata #13 curve448 (RFC 7748) +depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED +mbedtls_ecp_group_metadata:MBEDTLS_ECP_DP_CURVE448:448:MBEDTLS_ECP_TYPE_MONTGOMERY:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff":"262a6":"":"5":"":"3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":30 + ECP tls read group #1 (record too short) mbedtls_ecp_tls_read_group:"0313":MBEDTLS_ERR_ECP_BAD_INPUT_DATA:0:0 @@ -708,6 +760,10 @@ ECP point muladd secp256r1 #2 depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED ecp_muladd:MBEDTLS_ECP_DP_SECP256R1:"01":"04e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1ffffffff20e120e1e1e1e13a4e135157317b79d4ecf329fed4f9eb00dc67dbddae33faca8b6d8a0255b5ce":"01":"04e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e0e1ff20e1ffe120e1e1e173287170a761308491683e345cacaebb500c96e1a7bbd37772968b2c951f0579":"04fab65e09aa5dd948320f86246be1d3fc571e7f799d9005170ed5cc868b67598431a668f96aa9fd0b0eb15f0edf4c7fe1be2885eadcb57e3db4fdd093585d3fa6" +ECP point set zero +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +ecp_set_zero:MBEDTLS_ECP_DP_SECP256R1:"04e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e0e1ff20e1ffe120e1e1e173287170a761308491683e345cacaebb500c96e1a7bbd37772968b2c951f0579" + ECP test vectors Curve448 (RFC 7748 6.2, after decodeUCoordinate) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED ecp_test_vec_x:MBEDTLS_ECP_DP_CURVE448:"eb7298a5c0d8c29a1dab27f1a6826300917389449741a974f5bac9d98dc298d46555bce8bae89eeed400584bb046cf75579f51d125498f98":"a01fc432e5807f17530d1288da125b0cd453d941726436c8bbd9c5222c3da7fa639ce03db8d23b274a0721a1aed5227de6e3b731ccf7089b":"ad997351b6106f36b0d1091b929c4c37213e0d2b97e85ebb20c127691d0dad8f1d8175b0723745e639a3cb7044290b99e0e2a0c27a6a301c":"0936f37bc6c1bd07ae3dec7ab5dc06a73ca13242fb343efc72b9d82730b445f3d4b0bd077162a46dcfec6f9b590bfcbcf520cdb029a8b73e":"9d874a5137509a449ad5853040241c5236395435c36424fd560b0cb62b281d285275a740ce32a22dd1740f4aa9161cec95ccc61a18f4ff07" diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index 1b77f1de6b..7d29e525ed 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1,5 +1,7 @@ /* BEGIN_HEADER */ #include "mbedtls/ecp.h" +#include "mbedtls/ecdsa.h" +#include "mbedtls/ecdh.h" #include "ecp_invasive.h" @@ -61,7 +63,7 @@ inline static int mbedtls_ecp_group_cmp( mbedtls_ecp_group *grp1, * END_DEPENDENCIES */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void ecp_invalid_param( ) { mbedtls_ecp_group grp; @@ -70,6 +72,9 @@ void ecp_invalid_param( ) size_t olen; unsigned char buf[42] = { 0 }; + mbedtls_ecp_group_init( &grp ); + mbedtls_ecp_point_init( &P ); + TEST_EQUAL( MBEDTLS_ERR_ECP_BAD_INPUT_DATA, mbedtls_ecp_point_write_binary( &grp, &P, invalid_fmt, @@ -120,9 +125,9 @@ void ecp_check_pub( int grp_id, char * x_hex, char * y_hex, char * z_hex, TEST_ASSERT( mbedtls_ecp_group_load( &grp, grp_id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.X, 16, x_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.Y, 16, y_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.Z, 16, z_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.X, x_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.Y, y_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.Z, z_hex ) == 0 ); TEST_ASSERT( mbedtls_ecp_check_pubkey( &grp, &P ) == ret ); @@ -173,13 +178,13 @@ void ecp_test_vect_restart( int id, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dA, 16, dA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xA, 16, xA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yA, 16, yA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dA, dA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xA, xA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yA, yA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dB, 16, dB_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xZ, 16, xZ_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yZ, 16, yZ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dB, dB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xZ, xZ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yZ, yZ_str ) == 0 ); mbedtls_ecp_set_max_ops( (unsigned) max_ops ); @@ -260,13 +265,13 @@ void ecp_muladd_restart( int id, char *xR_str, char *yR_str, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &u1, 16, u1_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &u2, 16, u2_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xR, 16, xR_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yR, 16, yR_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &u1, u1_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &u2, u2_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xR, xR_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yR, yR_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q.X, 16, xQ_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q.Y, 16, yQ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q.X, xQ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q.Y, yQ_str ) == 0 ); TEST_ASSERT( mbedtls_mpi_lset( &Q.Z, 1 ) == 0 ); mbedtls_ecp_set_max_ops( (unsigned) max_ops ); @@ -323,14 +328,14 @@ void ecp_test_vect( int id, char * dA_str, char * xA_str, char * yA_str, TEST_ASSERT( mbedtls_ecp_check_pubkey( &grp, &grp.G ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dA, 16, dA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xA, 16, xA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yA, 16, yA_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dB, 16, dB_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xB, 16, xB_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yB, 16, yB_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xZ, 16, xZ_str ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &yZ, 16, yZ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dA, dA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xA, xA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yA, yA_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dB, dB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xB, xB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yB, yB_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xZ, xZ_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &yZ, yZ_str ) == 0 ); TEST_ASSERT( mbedtls_ecp_mul( &grp, &R, &dA, &grp.G, &mbedtls_test_rnd_pseudo_rand, &rnd_info ) == 0 ); @@ -380,11 +385,11 @@ void ecp_test_vec_x( int id, char * dA_hex, char * xA_hex, char * dB_hex, TEST_ASSERT( mbedtls_ecp_check_pubkey( &grp, &grp.G ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dA, 16, dA_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &dB, 16, dB_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xA, 16, xA_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xB, 16, xB_hex ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &xS, 16, xS_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dA, dA_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &dB, dB_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xA, xA_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xB, xB_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &xS, xS_hex ) == 0 ); TEST_ASSERT( mbedtls_ecp_mul( &grp, &R, &dA, &grp.G, &mbedtls_test_rnd_pseudo_rand, &rnd_info ) == 0 ); @@ -546,7 +551,7 @@ void ecp_fast_mod( int id, char * N_str ) mbedtls_mpi_init( &N ); mbedtls_mpi_init( &R ); mbedtls_ecp_group_init( &grp ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, 16, N_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, N_str ) == 0 ); TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); TEST_ASSERT( grp.modp != NULL ); @@ -585,9 +590,9 @@ void ecp_write_binary( int id, char * x, char * y, char * z, int format, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.X, 16, x ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.Y, 16, y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &P.Z, 16, z ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.X, x ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.Y, y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P.Z, z ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_write_binary( &grp, &P, format, &olen, buf, blen ) == ret ); @@ -617,9 +622,9 @@ void ecp_read_binary( int id, data_t * buf, char * x, char * y, char * z, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, x ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Z, 16, z ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, x ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Z, z ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_read_binary( &grp, &P, buf->x, buf->len ) == ret ); @@ -661,9 +666,9 @@ void mbedtls_ecp_tls_read_point( int id, data_t * buf, char * x, char * y, TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &X, 16, x ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Y, 16, y ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Z, 16, z ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &X, x ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Y, y ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Z, z ) == 0 ); TEST_ASSERT( mbedtls_ecp_tls_read_point( &grp, &P, &vbuf, buf->len ) == ret ); @@ -788,6 +793,124 @@ exit: } /* END_CASE */ +/* BEGIN_CASE depends_on:MBEDTLS_ECDH_C:MBEDTLS_ECDSA_C */ +void mbedtls_ecp_group_metadata( int id, int bit_size, int crv_type, + char* P, char* A, char* B, + char* G_x, char* G_y, char* N, + int tls_id ) +{ + mbedtls_ecp_group grp, grp_read, grp_cpy; + const mbedtls_ecp_group_id *g_id; + mbedtls_ecp_group_id read_g_id; + const mbedtls_ecp_curve_info *crv, *crv_tls_id, *crv_name; + + mbedtls_mpi exp_P, exp_A, exp_B, exp_G_x, exp_G_y, exp_N; + + unsigned char buf[3], ecparameters[3] = { 3, 0, tls_id }; + const unsigned char *vbuf = buf; + size_t olen; + + mbedtls_ecp_group_init( &grp ); + mbedtls_ecp_group_init( &grp_read ); + mbedtls_ecp_group_init( &grp_cpy ); + + mbedtls_mpi_init( &exp_P ); + mbedtls_mpi_init( &exp_A ); + mbedtls_mpi_init( &exp_B ); + mbedtls_mpi_init( &exp_G_x ); + mbedtls_mpi_init( &exp_G_y ); + mbedtls_mpi_init( &exp_N ); + + // Read expected parameters + TEST_EQUAL( mbedtls_test_read_mpi( &exp_P, P ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &exp_A, A ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &exp_G_x, G_x ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &exp_N, N ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &exp_B, B ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &exp_G_y, G_y ), 0 ); + + // Convert exp_A to internal representation (A+2)/4 + if( crv_type == MBEDTLS_ECP_TYPE_MONTGOMERY ) + { + TEST_EQUAL( mbedtls_mpi_add_int( &exp_A, &exp_A, 2 ), 0 ); + TEST_EQUAL( mbedtls_mpi_div_int( &exp_A, NULL, &exp_A, 4 ), 0 ); + } + + // Load group + TEST_EQUAL( mbedtls_ecp_group_load( &grp, id ), 0 ); + + // Compare group with expected parameters + // A is NULL for SECPxxxR1 curves + // B and G_y are NULL for curve25519 and curve448 + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_P, &grp.P ), 0 ); + if( *A != 0 ) + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_A, &grp.A ), 0 ); + if( *B != 0 ) + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_B, &grp.B ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_G_x, &grp.G.X ), 0 ); + if( *G_y != 0 ) + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_G_y, &grp.G.Y ), 0 ); + TEST_EQUAL( mbedtls_mpi_cmp_mpi( &exp_N, &grp.N ), 0 ); + + // Load curve info and compare with known values + crv = mbedtls_ecp_curve_info_from_grp_id( id ); + TEST_EQUAL( crv->grp_id, id ); + TEST_EQUAL( crv->bit_size, bit_size ); + TEST_EQUAL( crv->tls_id, tls_id ); + + // Load curve from TLS ID and name, and compare IDs + crv_tls_id = mbedtls_ecp_curve_info_from_tls_id( crv->tls_id ); + crv_name = mbedtls_ecp_curve_info_from_name( crv->name ); + TEST_EQUAL( crv_tls_id->grp_id, id ); + TEST_EQUAL( crv_name->grp_id, id ); + + // Validate write_group against test data + TEST_EQUAL( mbedtls_ecp_tls_write_group( &grp, &olen, + buf, sizeof( buf ) ), + 0 ); + TEST_EQUAL( mbedtls_test_hexcmp( buf, ecparameters, olen, + sizeof( ecparameters ) ), + 0 ); + + // Read group from buffer and compare with expected ID + TEST_EQUAL( mbedtls_ecp_tls_read_group_id( &read_g_id, &vbuf, olen ), + 0 ); + TEST_EQUAL( read_g_id, id ); + vbuf = buf; + TEST_EQUAL( mbedtls_ecp_tls_read_group( &grp_read, &vbuf, olen ), + 0 ); + TEST_EQUAL( grp_read.id, id ); + + // Check curve type, and if it can be used for ECDH/ECDSA + TEST_EQUAL( mbedtls_ecp_get_type( &grp ), crv_type ); + TEST_EQUAL( mbedtls_ecdh_can_do( id ), 1 ); + TEST_EQUAL( mbedtls_ecdsa_can_do( id ), + crv_type == MBEDTLS_ECP_TYPE_SHORT_WEIERSTRASS ); + + // Copy group and compare with original + TEST_EQUAL( mbedtls_ecp_group_copy( &grp_cpy, &grp ), 0 ); + TEST_EQUAL( mbedtls_ecp_group_cmp( &grp, &grp_cpy ), 0 ); + + // Check curve is in curve list and group ID list + for( crv = mbedtls_ecp_curve_list( ); + crv->grp_id != MBEDTLS_ECP_DP_NONE && + crv->grp_id != (unsigned) id; + crv++ ); + TEST_EQUAL( crv->grp_id, id ); + for( g_id = mbedtls_ecp_grp_id_list( ); + *g_id != MBEDTLS_ECP_DP_NONE && *g_id != (unsigned) id; + g_id++ ); + TEST_EQUAL( *g_id, (unsigned) id ); + +exit: + mbedtls_ecp_group_free( &grp ); mbedtls_ecp_group_free( &grp_cpy ); + mbedtls_ecp_group_free( &grp_read ); + mbedtls_mpi_free( &exp_P ); mbedtls_mpi_free( &exp_A ); + mbedtls_mpi_free( &exp_B ); mbedtls_mpi_free( &exp_G_x ); + mbedtls_mpi_free( &exp_G_y ); mbedtls_mpi_free( &exp_N ); +} +/* END_CASE */ + /* BEGIN_CASE */ void mbedtls_ecp_check_privkey( int id, char * key_hex, int ret ) { @@ -798,7 +921,7 @@ void mbedtls_ecp_check_privkey( int id, char * key_hex, int ret ) mbedtls_mpi_init( &d ); TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &d, 16, key_hex ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &d, key_hex ) == 0 ); TEST_ASSERT( mbedtls_ecp_check_privkey( &grp, &d ) == ret ); @@ -827,7 +950,7 @@ void mbedtls_ecp_check_pub_priv( int id_pub, char * Qx_pub, char * Qy_pub, if( id != MBEDTLS_ECP_DP_NONE ) TEST_ASSERT( mbedtls_ecp_group_load( &prv.grp, id ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_read_string( &prv.Q, 16, Qx, Qy ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &prv.d, 16, d ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.d, d ) == 0 ); TEST_ASSERT( mbedtls_ecp_check_pub_priv( &pub, &prv, &mbedtls_test_rnd_pseudo_rand, &rnd_info ) == ret ); @@ -1020,6 +1143,72 @@ exit: } /* END_CASE */ +/* BEGIN_CASE */ +void ecp_set_zero( int id, data_t * P_bin ) +{ + mbedtls_ecp_group grp; + mbedtls_ecp_point pt, zero_pt, nonzero_pt; + + mbedtls_ecp_group_init( &grp ); + mbedtls_ecp_point_init( &pt ); + mbedtls_ecp_point_init( &zero_pt ); + mbedtls_ecp_point_init( &nonzero_pt ); + + // Set zero and non-zero points for comparison + TEST_EQUAL( mbedtls_ecp_set_zero( &zero_pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_group_load( &grp, id ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_read_binary( &grp, &nonzero_pt, + P_bin->x, P_bin->len ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &zero_pt ), 1 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &nonzero_pt ), 0 ); + + // Test initialized point + TEST_EQUAL( mbedtls_ecp_set_zero( &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &pt ), 1 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &zero_pt, &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &nonzero_pt, &zero_pt ), + MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); + + // Test zeroed point + TEST_EQUAL( mbedtls_ecp_set_zero( &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &pt ), 1 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &zero_pt, &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &nonzero_pt, &pt ), + MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); + + // Set point to non-zero value + TEST_EQUAL( mbedtls_ecp_point_read_binary( &grp, &pt, + P_bin->x, P_bin->len ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &zero_pt, &pt ), + MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &nonzero_pt, &pt), 0 ); + + // Test non-zero point + TEST_EQUAL( mbedtls_ecp_set_zero( &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &pt ), 1 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &zero_pt, &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &nonzero_pt, &pt ), + MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); + + // Test freed non-zero point + TEST_EQUAL( mbedtls_ecp_point_read_binary( &grp, &pt, + P_bin->x, P_bin->len ), 0 ); + mbedtls_ecp_point_free( &pt ); + TEST_EQUAL( mbedtls_ecp_set_zero( &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_is_zero( &pt ), 1 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &zero_pt, &pt ), 0 ); + TEST_EQUAL( mbedtls_ecp_point_cmp( &nonzero_pt, &pt), + MBEDTLS_ERR_ECP_BAD_INPUT_DATA ); + +exit: + mbedtls_ecp_group_free( &grp ); + mbedtls_ecp_point_free( &pt ); + mbedtls_ecp_point_free( &zero_pt ); + mbedtls_ecp_point_free( &nonzero_pt ); +} +/* END_CASE */ + /* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */ void ecp_selftest( ) { @@ -1044,7 +1233,7 @@ void ecp_export( int id, char * Qx, char * Qy,char * d, int expected_ret, int in if( invalid_grp == 0 ) TEST_ASSERT( mbedtls_ecp_group_load( &key.grp, id ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_read_string( &key.Q, 16, Qx, Qy ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &key.d, 16, d ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &key.d, d ) == 0 ); TEST_EQUAL( mbedtls_ecp_export( &key, &export_grp, &export_d, &export_Q ), expected_ret ); @@ -1074,7 +1263,7 @@ void ecp_check_order( int id, char * expected_order_hex ) mbedtls_mpi_init( &expected_n ); TEST_ASSERT( mbedtls_ecp_group_load( &grp, id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &expected_n, 16, expected_order_hex ) == 0); + TEST_ASSERT( mbedtls_test_read_mpi( &expected_n, expected_order_hex ) == 0); // check sign bits are well-formed (i.e. 1 or -1) - see #5810 TEST_ASSERT( grp.N.s == -1 || grp.N.s == 1); diff --git a/tests/suites/test_suite_gcm.aes128_en.data b/tests/suites/test_suite_gcm.aes128_en.data index 273642cbd7..a87fb180e0 100644 --- a/tests/suites/test_suite_gcm.aes128_en.data +++ b/tests/suites/test_suite_gcm.aes128_en.data @@ -727,6 +727,7 @@ depends_on:MBEDTLS_AES_C gcm_bad_parameters:MBEDTLS_CIPHER_ID_AES:MBEDTLS_GCM_ENCRYPT:"d0194b6ee68f0ed8adc4b22ed15dbf14":"":"":"":32:MBEDTLS_ERR_GCM_BAD_INPUT AES-GCM, output buffer too small, NIST Validation (AES-128,128,1024,0,128) #0 +depends_on:MBEDTLS_AES_C gcm_update_output_buffer_too_small:MBEDTLS_CIPHER_ID_AES:MBEDTLS_GCM_ENCRYPT:"ce0f8cfe9d64c4f4c045d11b97c2d918":"dfff250d380f363880963b42d6913c1ba11e8edf7c4ab8b76d79ccbaac628f548ee542f48728a9a2620a0d69339c8291e8d398440d740e310908cdee7c273cc91275ce7271ba12f69237998b07b789b3993aaac8dc4ec1914432a30f5172f79ea0539bd1f70b36d437e5170bc63039a5280816c05e1e41760b58e35696cebd55":"ad4c3627a494fc628316dc03faf81db8" AES-GCM Selftest diff --git a/tests/suites/test_suite_gcm.function b/tests/suites/test_suite_gcm.function index 5696679ea9..eb2ced34a8 100644 --- a/tests/suites/test_suite_gcm.function +++ b/tests/suites/test_suite_gcm.function @@ -411,7 +411,7 @@ void gcm_encrypt_and_verify_no_ad_no_cipher( int cipher_id, } /* END_CASE */ -/* BEGIN_CASE depends_on:NOT_DEFINED */ +/* BEGIN_CASE */ void gcm_invalid_param( ) { mbedtls_gcm_context ctx; @@ -454,7 +454,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST */ +/* BEGIN_CASE depends_on:MBEDTLS_SELF_TEST:MBEDTLS_AES_C */ void gcm_selftest( ) { TEST_ASSERT( mbedtls_gcm_self_test( 1 ) == 0 ); diff --git a/tests/suites/test_suite_lmots.data b/tests/suites/test_suite_lmots.data index ed192bf7d7..2737272bdd 100644 --- a/tests/suites/test_suite_lmots.data +++ b/tests/suites/test_suite_lmots.data @@ -1,29 +1,151 @@ LMOTS sign-verify test #1 -lmots_sign_verify_test:"c41ba177a0ca1ec31dfb2e145237e65b" +# This test uses a fixed message, and then generates a private key, signs the +# message, and verifies the signature. +lmots_sign_verify_test:"c41ba177a0ca1ec31dfb2e145237e65b":"00000000000000000000000000000000":12:"403cbcc9808bb4b5ad72476ea297b2854c928ff5336f0b98ac2237ec83225ae7" LMOTS sign-verify test #2 -lmots_sign_verify_test:"55a6647a581004306792b653a561d9f3" +# This test uses a fixed message, and then generates a private key, signs the +# message, and verifies the signature. +lmots_sign_verify_test:"55a6647a581004306792b653a561d9f3":"00000000000000000000000000000000":12:"c3dbc3fea047dca8fb7a3cdf609a5b7f48599c193c90e958ce9388c84df0a906" -LMOTS hash-sigs interop test #1 -lmots_verify_test:"C80B24A82D52963AB241C84DCF0EEE55BB24F9F0":"00000004DB3B6B24FD191CE8894AE3C4E2CE2DE0C3F5D508691A9162F37704E07838488466CCD746E55BC8E3055C7A4D4DA2E10775DAFA2E8E5FEFB1CEB25973BC3323B61DE5E2EA7DCFF15DA482320F958023CA2E718C69B977019E8F2FCD47151388E2E5E11170AFE93BDEB508362B3A317835A9DDEB18F0CDCCC0731902DB3D37F441C93A490DE53962A915AB5060A1C157D61DDF061F272362AB7FD9EE95AE48D3448F204C81A3F260792784E1BFB49871A27C09CC549A406520F0B40BC74CAAD082EAAB12C994B8495B8C80E96384FF2222255BE6C4EE5AF439534E616F9C0B53E951F69D59BD0506C0C0366A679A8329ACF6E2D1D4E4EF49D35375A8EA46FCF3C9B2F8E033C242EC61B796E43B901407077A2AF3F0AABD2D0CB9004F10D91B57C2D5E8BA7BA9268FF94962CC102F55B5120D7D2F7A3BE281BA01D78895ADA2F05B77967EDA0E1EDEAFBB9BBC3D68DCBF682FBC70467FA2BEE5DE65F54247C4BE5BEF41F5108B6CD09E7698E3AAEA04B60746EDD0E2623B66B092DDA21EFA5A0D36805D101D805CC06F0E818B46059B3984C8B8A526C4239F66ED34B8CA57E178DC5E7B8D2BE029114B4CE466E2B5A081729B3F3A3F3845DDE177062F201C09125ED3CC381AF35EAD795440C421A136F941F09F3E4BA9E0203CBA875AF477AB0246342700F323E65DC327D27966377D871FD9C58BEC8797DEF35E1D0751A554719828B87332F601884EBFECB63A8D4F390785B3826BFA384BE502D2322C919ABD12A486C2AB124DCB7B74DE91241A30EF0388411E52145A88971C6C0A4E7C4F23EDD8D6008065A3D108C6B1EC5219BB0DFDBD37EE3A7A8DD37E3563A5777838FCA61E9E744813F39CF70B5A0F50E1BD4FF8733A3BDA76D2135969809D91A9786F22DC2ACBA4E0164C411019EC77A0BD253A42AC7528FC7C0DA1711FBD6C23825207060463080F9E04B7D819C8B150C22B8BA87C6277696EC409369C48AC0E3233DE52D31EF6D2207D2B57DFC2D0C43BE8212EAE6CB1BACBC2D3568E5527A14065D5F1F56AAE2AFB5FB1CEFFC228A30692BD030C71F4872DB54F2632CD919DA61576CF58D1EBE3D7988183A9C789EB74A3D7F6BBEBAC035A43397BF684C9E1130B252940DBA4454311A6A3D54D9386D48E1D5A3E70944EDF725AEDC5440CD610F79AB05A43C917FFC15213295EB8CB8432B6554A47C2AD419ADD52E0F5E0BD7A1E0F873257E69F8647F3A07093387B7A64C4812CDBEE536E45D531F89653AC5F14A4715CFF40692346FE6CBF2F9B92D9F1101C379AFD5E6154605059C1DA463B407E79C139396623DC7F15EEFCE424C8E214C6A645EF002F90A230D8F62177CBCF2A688D4F822B119835AD3D3A619F46230257A5AD59CB0924B2584DBA96AADE0A2487E7409EE5993A4F0E3DC46C10B96595CDD17D72C35EF4A52C5906655B0AE649B5DE03B7D46F3839E808761EE05E9300050647593C048669A952324B0188ED225AD11BED3FD94E44E134FB9D6DAD53CC34ECF62695E30637C4528C450D62174E2F8ABA2C09F134412EF889C24B36224BE4259B363A9D8EB89BAEE16BE1898D46":"000000048440BBD3F47A167DD2D0E446DBCEA774000000138686E25BC07C69B43A2D3B7165DFF85C134177C876EA47D96FEF069BC96A981A":0 +LMOTS NULL-message sign-verify test +# This test uses a NULL zero-length message, and then generates a private key, +# signs the message, and verifies the signature. +lmots_sign_verify_null_msg_test::"00000000000000000000000000000000":12:"be5fa89144f2d665c66ead8216bc02006e0eccd8b3697a0aea44f6c93afe7955" -LMOTS hash-sigs interop test #2 -lmots_verify_test:"85A77D026E8C704B14EF665DEB0A648350FA8859":"00000004BEEF900CA9A14982E011A5A94503D566288932AD4B9CB85D1551C766A56F788B0D223FBA0E1AD722BE48365B4CE5DA21051B3A79EAD8C1046944192EE51E162DE1E9AE9B13DD8FA90867A17666CB8967F7CD7F4F5383703CCFF555EEBDC8123AF3C4E39D0A5D61725B6A7F23CE587D256C08D31510BCD895106CD524B432A9211CDCBDF5ADDAD5F1D76D428A76DF2556FFA8AB546CFAAA7F2FE86164B976FDA2940498DB0D1A2DE29972FFD55D83E7CA3318DBAC31670565A1E5F59E36342F887E0EF7855AD93CA5F1951307D79EEA375168BC35A3A0B053AEBDB4D7157AD929B0D7DE9FC1E8C32C9A2D679843CBC77560EEDA5959D0AC8407648344C6952649A303E7B6FCC2EE979E1B2786B898A01E2918894DB4E37A0ED79A30260A45959B4BB3016F081181190CB740376389827B2D56DF7EC00871DC9A198B74C7C6086C940A845D54198F2D5DD7A47F97A192F33A85AAA1304A3251B82AC33C5E7B3BA20D2A9BD49BBEE0B2DA2338E578E6F139BB7596DC3BD89E86CB393C42765B9FE85457116906C3F9A8499CF5E539A5CCB3F6D1F36CA209DE6942F807E579AF0EBF072EA110A812C9E420647CE7C8B2BDBB5F56C5B3B7EA80A53C3574F4ED32E4708DFEED60280ABBE2021B3791B0CB09C1F0731353234A6A327CDDFD4E3E2D9DD5A16FCDE3EEF09C67065BD702C07B53A005D3FE7D23FFD77D40E49C82165EB104343A166E808A3CAEDE1A43AE3A82E1788B49C565CF88A2AB8E2FD37657D53E3679D7A818D864F55144011AB498A4A985C46342F3562FD80ECB86497C3DBB759006E5FFFDC01CAA15C69B716174EDCB6E9870CF391003D3826451D1BEFDCC84C093428EE01DAF883190F5D2542B36A7DE44A453AECD5E93B768ACEE75076BE3D73A66F17CFD8E4A49B1F61CE9446815A86FF5FB0EA070A751893C85360C038A161D3DD4D2C66F440E7265153AB346EF620156605C028DD9636FAE0C9A20DF09303ECC5E57A6424505530F70D25F1C95FE51CBD82C2AD0015EB9AD5379CEC463FA0331A14DD971B7C2311FC45979C531653E7252884BAB7C49F8CD652BDF6FDFA76984445C63B54ED22B4A8A267D091381BE7B9B7608133968BA46106BF42B9091F78C085E674D1F70FB91C68D07733F6412B1583DD2F37C6ECAD6BCCE1A1C7D0A7CA80677F679A5AFE08D15427E5C78CE6EB9AA90F51F40343DC9FD1316DCEB2C1EF8EA217B714B0DE1AEECE04D19D0D7757481EDA6E8C51BE85B7B24720E8D62B8AEC56C1A1B9D278B874AACC0B492CF44ED4E7B1200C82323C1AFA0FC776E92B227E8979E3A92EAB05FCF18A43AE648397088F4991F73ECE22C03B3F42F51C0C0FE0DF37919D048FB473F7AB0E33310B9782DE56384BD888CE5E2A644E20A52DD47F710DB0D3169991E29E716ABFD84CA4850080B6C252CB96CD8979189819E532DF56ECB172F773919733BF4D442901EBFB656EBFED4C6D83FAFF288279779499091C94432ECDF83188048AB596D65BC48FA708D485F9CDC50C8B470DFE22157E8F5EE366722A04E8CE7B861573E5FC97D34055BB50B562738F803B202F7F8":"00000004DE9CE10EA7125AC6399B6B3C7EE24224000000161D61E675F3EA19C5B95DA4EE2E35BA061B39E7639F3989F8AE4B0696B3F87E4E":0 +LMOTS hsslms interop test #1 +# This test uses data from https://github.com/pmvr/python-hsslms due to the +# limited amount of available test vectors for LMOTS, and few implementations +# providing direct access to the underlying OTS signature scheme. The private +# key is stored in data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv. +# This test uses the same OTS key as the LMS hsslms interop test 1 (leaf 0 of +# the LMS key), and the same message. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# pip3 install --user hsslms==0.1.2 +# +# from hsslms import LMS_Priv, LM_OTS_Priv, LMS_ALGORITHM_TYPE, LMOTS_ALGORITHM_TYPE +# import pickle +# +# with open('tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv', 'rb') as private_key_file: +# private_key = pickle.load(private_key_file) +# +# ots_private_key = LM_OTS_Priv(private_key.otstypecode, private_key.I, 0, private_key.SEED) +# ots_public_key = ots_private_key.gen_pub() +# message = bytes.fromhex('60da1a17c88c59da8a730e6ca8effd37') +# sig = ots_private_key.sign(message) +# print('lmots_verify_test:"{}":"{}":"{}":0'.format(message.hex(), sig.hex(), ots_public_key.pubkey.hex())) +lmots_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"000000040bb462a8f59a277c1706ab69b1a40b0d56a3ffe1ddf0dfa890096c7a9c48b360e1e8f7abe4dc1950c4a64545ce6c0fe2a34477ec40f56db4eec37c1a2168e3059d4338a4eb368a64be5f98b5452f2c2fad23dcac585f5fe308bfc3df0b5cbc6cf3545236ed6c5a863e677521b5b5cee0aa1e755c3bbf5fb7326fac1a88cb12dd7f8d68ebe8bad07195a12fa11299073731e67f2452009252c595fc7d9285b90aaa912eb6cf0b5debc0996ca55ad5186702b244a616c4b9e0ceeea229e1e821c1ab0db906ce87640d128f1d8c4742d9baf340a8030df726a99a9b97f139ec57d8d87efdfca235f12de64e0a993804b95227cdfd26220a84502e350faaf5f91f3f49610eda211f9409005679e32068def22a2dcce3d226d0f68c4abc727b90d9c01daa05db24d7c0c9e9e48202e3420992ba78c36bc21c45cdf218801dc7053e3cbf39c141784e7a861671588622d540187912234ce628ea9cbd1800d215641163c762d2fd9194fa54bd9b46c83754579476398a5c2fece4642f1ee286a4e9a310b5e23088c75a68b123044c1c365c8b53fe9f895fa5d76fe1277c7c0f2a39f5b233f7d2acd5358feec2255feadb1c2513c4351c9bd1afe22d159f2d392c83bf7ec26b59e78330cd346adb85ef62fee3da63150ab5e0d7ce5d0ef353895360017faf3f35aca2cf3b8eda65389e2ba86f78ebfbe73382dfe9002331f24e96e1a6e56e7cc99ee848b82ad1ade3229e9e28168acfa8c059ed03028e8c872e72ff4cf8a50b84ade908ecf229a26ff1007c476d1aa376323fc567c9471085336496b231b5245a43c6c86c6a71c1b1fb4bd87c2d0b026bff55de121620a089ed9ade51c3bd91c703844c180ef9ad0ab550b9560ba9f1452463ce20987a402213ca5c16c927a0a85091dd74fbee22cac6b1afbc7e7dec229325c25ea3b3cc5a1c48c80665f9903e482b143f7cd051bdb990355f79c62553453c72ccbcc578df77069a7b0cf6fdc6853ec2f96fb7cc100216ae1b17aa20782fb0cd0f261b76a48b5d6f7bb48fa5f78c02a11ee81a8c0c81183910af770f2e907ebd5b2dc3a2b83529f62da074ca73c434f8f30b68a5dfee740f78d2c13b53c904e46dddf723923bfbffa437a4130c8c9b6d79a57db1c408b9c023f80fb3d766cb915e722f3b3152625d77bce3ca0c01e77f3750d7d1bef1ddda8b9b4233b09c89abe5913db50847a7ea219c3f406aa4cf41b6310bafa99a7b14f94b8ccd4dc7edb1a1e963ce26a53f3be71b4151ce5fae10ca30055e754880680e38cf2f21251f229341f7af9536360a428c2593c43fd2ae471bc1fa2b45ad55742a2f12f31eed6cb67945a898650c13650c4cffeecba8655f87e49ce921ced7ab00cf54eedf0c70e5c6cfa7f006763f0ac14d80cfb1662321cdccca8b1adf426eb9ca16ef2b978bb9ac229131fa5c1266a4980449c324ebdd8bcc98916089ee0b6966da7dc25350bdc758431884359d02f5fa567b39f49a6e410da2d0363944a090926308ed0ce7d565e6c4585ea010bc38ef1c976ae16ec1fbe6fb9d4d50e49a7be8273d2d56bf4e72acbadd90d5f8dee0":"0000000447cc5b29dd0cecd01c382434a6d1686400000000761e8e577fb4d12058806fc7bdaaef0ba64e454dc59b0230a77b43bbd83dc8c6":0 -LMOTS hash-sigs interop test #3 -lmots_verify_test:"C32F83EFBFD87F386A6C0850CBB93A75F2506A35":"00000004BD2D174BEBEEF1CAF06E4BF1088DE2AAB17C0528579BD4E1C4A1ED583C36BDACA49798373961B605EAEFAEFC0B4BC39C7AD30572CD29BEBE9AEE503CA2D8BF8C31C8A1B71CF67A18EE01A8A878699F22A1AEE32731E51E3EAD3775EFD8339E263C5A4544559506BA5502B9AEF59217ABC24923EC5E28D18BA18B0D964DB277007A76B8075B39F48CDA92148C9BAE1C7E5421CA753FA2D6BEAE8F49977E4E5B6F38D35BA28A526A53061E57BB92DA0EBBD4AE01AE9FADBED74F503DC39FA2E10C20B47DFB3DFBE25EC35618D2307D21716B10F8FB5095B42C289D1847E5D6F9988C6763D288667D3B658A4F3613E084DAE8B78E0B295A6ED28E88C676995AA5EB1533CDF8EB6F95A5E5117F06B1759495A9CB6E40FBF1F97FF73FDCBFD315C48DA631AB0425CA0633817C46F25E84AEEA37DD77310EE56815E83F862EF14E15FC1246243AA02F40EA32567237D5ADC2944BD63CF55FA4F0DE251B3F5C067D9EC396D5E20F9CEF2C555D89DA721D91D6D607653B97636AB10B74F39FA984D23A3D276EFF5F49C336274A66AC491EDE34686C6CFC17F5312FD3E3E5749A2E472011FA391A5ACF09D918B01704B447FD5E3EA6BB726A3475775DFE6A98CE5473CDEDB630EA4D604BAF36A8B8A8E567F05929E8A74970AA742FBC945021017E464E753D5AC497925AA4AECA0CBF562B2E39F891E177FD8E4E61A698B099D21F13EFD0DE5357A1970314D8E3AA1D2A84D3BCF75A7876C16F585322CC4C613FE3AC8FEA5F258FC9C7200765E9209378C362AFC1A478A117D913CE2BEFEB51103E48D0802618C50918005F1AA4228B67BA1A1B001A91A032019A135B8AEEE3D0158A602C8DCCE5A6580DECC16204E410CBB15FCF36704BB2ECB826A229E45C454B4A5DFC12796E636B300C624DB4E6EAB424B17A18A5A5F52399F247A1507A5985D06F90889FE381129148AF8447B392D4EC0775D91502B48D9F212FCE3F81639901C462F752E27FBEEC9E2B7F8CCD16053FB839E8ADF8CD3E8FF8AF3B3E884F4F524C2026BD3B337B7058B53CFC7596F9C813FFD746B8AC0012C60E96140934B4EED1D8602E57A1A6EBC01FCFD66053AF9614FAF0D0F7320D50D440F2A3148A0DAEF5E2FA31F854D56045065AFAA52A60DC3321E2D7C104FF505057D55CD94C53C31C14DB0DAA4D55C4065CD9BCD78E1B8532A680F7DC3544021346CC59ADEC061DDA1B7606BAF28AD87C39AB8AF3D03E981EFFE50B4D5347175517EF212E61F02B594A96492091AC82625D334504EF19BEEE52E01B111D43313F35EC69C88EF38926071506AB3A5B372DD6F2B901AC1E12E61CCB3ACD3D0777A7A10F137126DAD0D1970D369A067C3A1F19D9CB8756D7130B7EB0C08CF725EB2ADFAD61204195CE14F3C99A88A9B8FA2FDCBD612DF9266614DEA073C9EDABE07B3793048167D4DA49B305AE27974D48A296871350DE036CAA348D2F9A9CB19DC094E5904E25DDCF5657227DCD2A4E620121FBDA032A58836EDC14F3A7C4E51319A60F91F941CC61757498B769799394574C9D198426AC3499F0D0BA1770AD6BAA0D3716333F785A9D7D":"00000004DA66203A7E7BCA2362DB3C8E897A84B10000000D1BD4EE08FAA341C2CE018BD12776E1B8E6B8B2C1EEDAE6BD0998E52F089936FE":0 +LMOTS hsslms interop test #2 +# This test uses data from https://github.com/pmvr/python-hsslms due to the +# limited amount of available test vectors for LMOTS, and few implementations +# providing direct access to the underlying OTS signature scheme. The private +# key is stored in data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv. +# This test uses the same OTS key as the LMS hsslms interop test 2 (leaf 1 of +# the LMS key), and the same message. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# pip3 install --user hsslms==0.1.2 +# +# from hsslms import LMS_Priv, LM_OTS_Priv, LMS_ALGORITHM_TYPE, LMOTS_ALGORITHM_TYPE +# import pickle +# +# with open('tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv', 'rb') as private_key_file: +# private_key = pickle.load(private_key_file) +# +#ots_private_key = LM_OTS_Priv(private_key.otstypecode, private_key.I, 1, private_key.SEED) +#ots_public_key = ots_private_key.gen_pub() +#message = bytes.fromhex('92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1') +#sig = ots_private_key.sign(message) +#print('lmots_verify_test:"{}":"{}":"{}":0'.format(message.hex(), sig.hex(), ots_public_key.pubkey.hex())) +lmots_verify_test:"92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1":"00000004e29f47d2314ebaf22ebb821dec653f5bd105aced5d24829787a93da910baa495cd5a8576dad606cc7407c4d8a38a715ded879274c5347a200cc1c08a6fcc7288e280bb2e66b682c4b20c514f7a990ce01594001917be8d1cb5a23c22dc00c81b18b8047177cc109a1ff862f535319b703be8e4439062348b7bc73e85e69f7d3f033767146130991f78b497e2a0eee1059d2cd87e0a99c1aae47a6496664735cdb383a8f7a1d686199cf2e07a67e9ef409048efb76cf0c689c1c6c67a5b6966e4b4773710bdff3f72a4f85428187f912c9f13a8bd06533450ce04dbbd2c022eab44a5f6a822d78918f692fa5c6c90aab8941072d679b89388160556597acf17b95b3ffdf8c4c21df5327bd756772a45fdde182004d91cff5aba111fbb70b5970a7d7416220de31e6e76646372e4a1606fbbd5be215a32bbb84da99c63af271edbd42ee87de174cabec7734b6d924d329640bdb84059cbcea89caa703667f5e1b3c1c71b53213f1cd7d1da3e42da70edeb7c0b596bcb981c08eb0f02408ee028a57165cbdc36c9edafa559826c2e690e73da7c7fa1b0fa0e6041a692a2e8f27af80513c07ecd89caaf78ddf8e2edaa17bece335068153b253ceef38b491801c1ef7c648045ce7c517afab888603648b17d3a98a3b5622b469a829b023c5cb2ce42462c28d22bc3de91dd8b38bab539971b0c7596dcd0d8c0d84bfd7925d6e2f2d114ca4f91fca12178a451ac0dabc8c21396ad5be57ea0648bd1054de00aa7fd3d46453ebacf6b611e05842f5f019aeca3c798ae063631fd5e56ea1f7a21bbea5c30e6d60a724ce187e7c497d918d2a4d5094224dde94a02e851eae1626533992a599a641466e4d683e40b5a28695aababd2d7f7d2ccee72c289876c8d581babaeb3d738f1d1fc765e9fee3f70670913e07cd38fc7b37e2caba0a735352aa3f4b2467010bb1b725d4bbd86d8c98eece10e925d8bb5c0e993dfa45621f91596f5d1e1446b118c48bc1e403627fdd299ad4d3d5f3a2dfb239bf22e7ff25d83287ba3a96b24cda0252df1907af1cb74d31d720c5baca0f316769f7f98b409c17bb543c39628446183e326d0745b4424520a9d582fc817eac55b0efc2ca4659a60a95e1d3b77bf1454e5cd4d1d54d51159d3df70a78345d1d6a7e0746b3deb080883f6506e9e7d0fb4bddaa66aa7cf555df1bb9d3f848b7e604b690a403f4e40188110e0ef9af15dc4952a8ed100987e39e8184be8dc62441ac2a561c7cbe431c45b0ec03c41c4867e38925977fc240ed2a04d73d4319435de354dfe0184220c71bd59be4e7f6dc9a1a27f4eefc990d615b2c12e13f1821727a607afdab359d2bad5b1be689a36662e052cfade2c0f5cc842c090082068d324f0e338830030d255ee6e6d9303c0037c24985338dfa16b5980a99782af1b3aca9123b5063e0b9f1a31105e2c9eaae2353b2ed53dab5b4fb43b4697d05fcf4941be071edf3456ac8e35eba39800ad968155574c14b6ce109982177b00ea5fbb739dc7553e40c98824d4932185e61ccc380b07476ae210ce3657b24f4639261a5e7e0c52d6afdea97bb2fc":"0000000447cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de494b":0 + +LMOTS hsslms interop NULL-message test +# This test uses data from https://github.com/pmvr/python-hsslms due to the +# limited amount of available test vectors for LMOTS, and few implementations +# providing direct access to the underlying OTS signature scheme. The private +# key is stored in data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# pip3 install --user hsslms==0.1.2 +# +# from hsslms import LMS_Priv, LM_OTS_Priv, LMS_ALGORITHM_TYPE, LMOTS_ALGORITHM_TYPE +# import pickle +# +# with open('tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv', 'rb') as private_key_file: +# private_key = pickle.load(private_key_file) +# +#ots_private_key = LM_OTS_Priv(private_key.otstypecode, private_key.I, 3, private_key.SEED) +#ots_public_key = ots_private_key.gen_pub() +#message = bytes() +#sig = ots_private_key.sign(message) +#print('lmots_verify_test:"{}":"{}":"{}":0'.format(message.hex(), sig.hex(), ots_public_key.pubkey.hex())) +lmots_verify_test:"":"00000004862327ead0b0eee8bde100614b3369e183f97812c13f0979f7d37482a2ae719a811ba3a5c65cc036270d4b31ed6caa900ba0a98e3e5d6f7e4286571e003fd7f8fd523c7707eb00d25ce6b0d2c92317b2531b8ebb184ed65f7bd4c20611154409acb5134389c8aca9cb98c380fc8de4f48078a1859126967275219ca0168c6f0cfec0c2f63f98fb2a741fc15a5d59b50a97efe2564bd8a4f05fe250d4ec316e6a833a2dafaea47efa359840fb887e3a5ae0b07c75ed1dda3cc253365c5b9320180e5273a2c5078cdc0d3aefeaa94d8888c3112c2b68f85fdfaa13b5088f4bdf570f5a2ae32114497d28a6b46abe602f142a9382651a4b5fe7aeda3e54deaf85d51d59bc945e3970d4f603cb1617137c182087dcecb7f97016e138ae4c7f8926a9fbf7d1154cd53971e3c86e230fe783efdc44f4459143eeddec73612a11f6c4796bb734b703b94b3ee02a136f676ff959bd9dcba3a6cdf8244310b4125a07ef7a364d47c2d0067370f9024bb02217ea19baafa6111dbe1daa6f4d3ae287f8b4675934a8cb124b64f3d2baac01504a66b5cb80d5fe88281c92eb2d9e6105368ce748c2269f28444d20f8fa06f96738942606fd2ee1ae17b45953af9cc8aa10089b80c951ae7d4c6496476e0f9d88050a09433a99b92f1bd2bc2cc4e712fbba650e8c61716a2396bd802679096b2ed113dcf9107196f41185c9baa295c1000879dae4e36344b7ca9a4f040ceec064ff4a654a561a21fbdd0c28a4d0245da9fdb37a7ce20875e323db04197b6ec9d0265a840687a4067b6670482e3a765895a57f26fb971e359f30fa3c65b6197fbfe6433364f0062cc20d8ee2ebed5c3b96dfcd46aa99956b5b1602d9ea16b05ed54f1a72557148ec3a43baaac2474f735ce82979c87df358d175f4686aebde24b768f0f8dfa3c20d9c33db8244f47793eae676afe7485b08163ebd5c4b02c227a38824bb58d034e0a00395ce19e34846b8f6ce3cd3ba877a6ee953738c0ebffdc6eee63bff648e1530f611e9b5de0e5c41bf2f50375347dbe3c332ec523d516aa9478fdf61952f44068447d1474bc3a33f0d973f7b36360ddefd21ba57916dc0ee7a21082ec9c024d78938616e8bbaff451c8da9675cef9d0610872e8cd2b7673a86148e3abba473d0e4e1579ca3faa891d475a6bab9dc3a90537c701a62f41198b0e86f101b506a8a5b102ddd6fdafca56e7f32f4217f8bb7c228066c53fcd78b8541c3ffeb88fe685c796711bbe2d8fee6e9adcc077c140216438c5db25e7b7b34164fce6343dd8de5aa8310d18c9cf91992a25e6f71eb39fb7c267dc3b87d1781b34a4f3c84e2ecc04f73104d50e00631e2e7b157a8374c2b08dbcb3210b2852738a16cc580fa6df62b93f27151bfa77eaeb726ab18137e14962676836a573a6ac62b1bb8d40b402d2da0b37bb5a29e2ef154a78f61b632c2e9279670ba9a7a2c2ceda3f931940a5766738ad8ee62761c87d94e50ec995c01484fe6c96d0fb2ae97394e6497a4a8087c366edd038d72b01f4eb351a2ac41d19df56db40491da464a6f0c646b859e7ea3b0584be618fd7fb48c":"0000000447cc5b29dd0cecd01c382434a6d16864000000033fa1330497e44e2773f08e4727eb4d745db9051d6a60779e58a922dc8a7d4ede":0 LMOTS hash-sigs interop negative test (altered random value) -lmots_verify_test:"C80B24A82D52963AB241C84DCF0EEE55BB24F9F0":"00000004CB3B6B24FD191CE8894AE3C4E2CE2DE0C3F5D508691A9162F37704E07838488466CCD746E55BC8E3055C7A4D4DA2E10775DAFA2E8E5FEFB1CEB25973BC3323B61DE5E2EA7DCFF15DA482320F958023CA2E718C69B977019E8F2FCD47151388E2E5E11170AFE93BDEB508362B3A317835A9DDEB18F0CDCCC0731902DB3D37F441C93A490DE53962A915AB5060A1C157D61DDF061F272362AB7FD9EE95AE48D3448F204C81A3F260792784E1BFB49871A27C09CC549A406520F0B40BC74CAAD082EAAB12C994B8495B8C80E96384FF2222255BE6C4EE5AF439534E616F9C0B53E951F69D59BD0506C0C0366A679A8329ACF6E2D1D4E4EF49D35375A8EA46FCF3C9B2F8E033C242EC61B796E43B901407077A2AF3F0AABD2D0CB9004F10D91B57C2D5E8BA7BA9268FF94962CC102F55B5120D7D2F7A3BE281BA01D78895ADA2F05B77967EDA0E1EDEAFBB9BBC3D68DCBF682FBC70467FA2BEE5DE65F54247C4BE5BEF41F5108B6CD09E7698E3AAEA04B60746EDD0E2623B66B092DDA21EFA5A0D36805D101D805CC06F0E818B46059B3984C8B8A526C4239F66ED34B8CA57E178DC5E7B8D2BE029114B4CE466E2B5A081729B3F3A3F3845DDE177062F201C09125ED3CC381AF35EAD795440C421A136F941F09F3E4BA9E0203CBA875AF477AB0246342700F323E65DC327D27966377D871FD9C58BEC8797DEF35E1D0751A554719828B87332F601884EBFECB63A8D4F390785B3826BFA384BE502D2322C919ABD12A486C2AB124DCB7B74DE91241A30EF0388411E52145A88971C6C0A4E7C4F23EDD8D6008065A3D108C6B1EC5219BB0DFDBD37EE3A7A8DD37E3563A5777838FCA61E9E744813F39CF70B5A0F50E1BD4FF8733A3BDA76D2135969809D91A9786F22DC2ACBA4E0164C411019EC77A0BD253A42AC7528FC7C0DA1711FBD6C23825207060463080F9E04B7D819C8B150C22B8BA87C6277696EC409369C48AC0E3233DE52D31EF6D2207D2B57DFC2D0C43BE8212EAE6CB1BACBC2D3568E5527A14065D5F1F56AAE2AFB5FB1CEFFC228A30692BD030C71F4872DB54F2632CD919DA61576CF58D1EBE3D7988183A9C789EB74A3D7F6BBEBAC035A43397BF684C9E1130B252940DBA4454311A6A3D54D9386D48E1D5A3E70944EDF725AEDC5440CD610F79AB05A43C917FFC15213295EB8CB8432B6554A47C2AD419ADD52E0F5E0BD7A1E0F873257E69F8647F3A07093387B7A64C4812CDBEE536E45D531F89653AC5F14A4715CFF40692346FE6CBF2F9B92D9F1101C379AFD5E6154605059C1DA463B407E79C139396623DC7F15EEFCE424C8E214C6A645EF002F90A230D8F62177CBCF2A688D4F822B119835AD3D3A619F46230257A5AD59CB0924B2584DBA96AADE0A2487E7409EE5993A4F0E3DC46C10B96595CDD17D72C35EF4A52C5906655B0AE649B5DE03B7D46F3839E808761EE05E9300050647593C048669A952324B0188ED225AD11BED3FD94E44E134FB9D6DAD53CC34ECF62695E30637C4528C450D62174E2F8ABA2C09F134412EF889C24B36224BE4259B363A9D8EB89BAEE16BE1898D46":"000000048440BBD3F47A167DD2D0E446DBCEA774000000138686E25BC07C69B43A2D3B7165DFF85C134177C876EA47D96FEF069BC96A981A":MBEDTLS_ERR_LMOTS_VERIFY_FAILED +# This test uses the valid signature from hsslms interop test 1, and then +# alters the random value (C) of the signature, and is expected to fail to +# verify. +lmots_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"000000041bb462a8f59a277c1706ab69b1a40b0d56a3ffe1ddf0dfa890096c7a9c48b360e1e8f7abe4dc1950c4a64545ce6c0fe2a34477ec40f56db4eec37c1a2168e3059d4338a4eb368a64be5f98b5452f2c2fad23dcac585f5fe308bfc3df0b5cbc6cf3545236ed6c5a863e677521b5b5cee0aa1e755c3bbf5fb7326fac1a88cb12dd7f8d68ebe8bad07195a12fa11299073731e67f2452009252c595fc7d9285b90aaa912eb6cf0b5debc0996ca55ad5186702b244a616c4b9e0ceeea229e1e821c1ab0db906ce87640d128f1d8c4742d9baf340a8030df726a99a9b97f139ec57d8d87efdfca235f12de64e0a993804b95227cdfd26220a84502e350faaf5f91f3f49610eda211f9409005679e32068def22a2dcce3d226d0f68c4abc727b90d9c01daa05db24d7c0c9e9e48202e3420992ba78c36bc21c45cdf218801dc7053e3cbf39c141784e7a861671588622d540187912234ce628ea9cbd1800d215641163c762d2fd9194fa54bd9b46c83754579476398a5c2fece4642f1ee286a4e9a310b5e23088c75a68b123044c1c365c8b53fe9f895fa5d76fe1277c7c0f2a39f5b233f7d2acd5358feec2255feadb1c2513c4351c9bd1afe22d159f2d392c83bf7ec26b59e78330cd346adb85ef62fee3da63150ab5e0d7ce5d0ef353895360017faf3f35aca2cf3b8eda65389e2ba86f78ebfbe73382dfe9002331f24e96e1a6e56e7cc99ee848b82ad1ade3229e9e28168acfa8c059ed03028e8c872e72ff4cf8a50b84ade908ecf229a26ff1007c476d1aa376323fc567c9471085336496b231b5245a43c6c86c6a71c1b1fb4bd87c2d0b026bff55de121620a089ed9ade51c3bd91c703844c180ef9ad0ab550b9560ba9f1452463ce20987a402213ca5c16c927a0a85091dd74fbee22cac6b1afbc7e7dec229325c25ea3b3cc5a1c48c80665f9903e482b143f7cd051bdb990355f79c62553453c72ccbcc578df77069a7b0cf6fdc6853ec2f96fb7cc100216ae1b17aa20782fb0cd0f261b76a48b5d6f7bb48fa5f78c02a11ee81a8c0c81183910af770f2e907ebd5b2dc3a2b83529f62da074ca73c434f8f30b68a5dfee740f78d2c13b53c904e46dddf723923bfbffa437a4130c8c9b6d79a57db1c408b9c023f80fb3d766cb915e722f3b3152625d77bce3ca0c01e77f3750d7d1bef1ddda8b9b4233b09c89abe5913db50847a7ea219c3f406aa4cf41b6310bafa99a7b14f94b8ccd4dc7edb1a1e963ce26a53f3be71b4151ce5fae10ca30055e754880680e38cf2f21251f229341f7af9536360a428c2593c43fd2ae471bc1fa2b45ad55742a2f12f31eed6cb67945a898650c13650c4cffeecba8655f87e49ce921ced7ab00cf54eedf0c70e5c6cfa7f006763f0ac14d80cfb1662321cdccca8b1adf426eb9ca16ef2b978bb9ac229131fa5c1266a4980449c324ebdd8bcc98916089ee0b6966da7dc25350bdc758431884359d02f5fa567b39f49a6e410da2d0363944a090926308ed0ce7d565e6c4585ea010bc38ef1c976ae16ec1fbe6fb9d4d50e49a7be8273d2d56bf4e72acbadd90d5f8dee0":"0000000447cc5b29dd0cecd01c382434a6d1686400000000761e8e577fb4d12058806fc7bdaaef0ba64e454dc59b0230a77b43bbd83dc8c6":MBEDTLS_ERR_LMS_VERIFY_FAILED LMOTS negative test (invalid type) #1 -lmots_verify_test:"0000000000000000000000000000000000000000":"0000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA +# This test uses the valid signature from hsslms interop test 1, and then +# sets an invalid LMOTS type (0x5), and is expected to fail to +# verify. +lmots_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"000000050bb462a8f59a277c1706ab69b1a40b0d56a3ffe1ddf0dfa890096c7a9c48b360e1e8f7abe4dc1950c4a64545ce6c0fe2a34477ec40f56db4eec37c1a2168e3059d4338a4eb368a64be5f98b5452f2c2fad23dcac585f5fe308bfc3df0b5cbc6cf3545236ed6c5a863e677521b5b5cee0aa1e755c3bbf5fb7326fac1a88cb12dd7f8d68ebe8bad07195a12fa11299073731e67f2452009252c595fc7d9285b90aaa912eb6cf0b5debc0996ca55ad5186702b244a616c4b9e0ceeea229e1e821c1ab0db906ce87640d128f1d8c4742d9baf340a8030df726a99a9b97f139ec57d8d87efdfca235f12de64e0a993804b95227cdfd26220a84502e350faaf5f91f3f49610eda211f9409005679e32068def22a2dcce3d226d0f68c4abc727b90d9c01daa05db24d7c0c9e9e48202e3420992ba78c36bc21c45cdf218801dc7053e3cbf39c141784e7a861671588622d540187912234ce628ea9cbd1800d215641163c762d2fd9194fa54bd9b46c83754579476398a5c2fece4642f1ee286a4e9a310b5e23088c75a68b123044c1c365c8b53fe9f895fa5d76fe1277c7c0f2a39f5b233f7d2acd5358feec2255feadb1c2513c4351c9bd1afe22d159f2d392c83bf7ec26b59e78330cd346adb85ef62fee3da63150ab5e0d7ce5d0ef353895360017faf3f35aca2cf3b8eda65389e2ba86f78ebfbe73382dfe9002331f24e96e1a6e56e7cc99ee848b82ad1ade3229e9e28168acfa8c059ed03028e8c872e72ff4cf8a50b84ade908ecf229a26ff1007c476d1aa376323fc567c9471085336496b231b5245a43c6c86c6a71c1b1fb4bd87c2d0b026bff55de121620a089ed9ade51c3bd91c703844c180ef9ad0ab550b9560ba9f1452463ce20987a402213ca5c16c927a0a85091dd74fbee22cac6b1afbc7e7dec229325c25ea3b3cc5a1c48c80665f9903e482b143f7cd051bdb990355f79c62553453c72ccbcc578df77069a7b0cf6fdc6853ec2f96fb7cc100216ae1b17aa20782fb0cd0f261b76a48b5d6f7bb48fa5f78c02a11ee81a8c0c81183910af770f2e907ebd5b2dc3a2b83529f62da074ca73c434f8f30b68a5dfee740f78d2c13b53c904e46dddf723923bfbffa437a4130c8c9b6d79a57db1c408b9c023f80fb3d766cb915e722f3b3152625d77bce3ca0c01e77f3750d7d1bef1ddda8b9b4233b09c89abe5913db50847a7ea219c3f406aa4cf41b6310bafa99a7b14f94b8ccd4dc7edb1a1e963ce26a53f3be71b4151ce5fae10ca30055e754880680e38cf2f21251f229341f7af9536360a428c2593c43fd2ae471bc1fa2b45ad55742a2f12f31eed6cb67945a898650c13650c4cffeecba8655f87e49ce921ced7ab00cf54eedf0c70e5c6cfa7f006763f0ac14d80cfb1662321cdccca8b1adf426eb9ca16ef2b978bb9ac229131fa5c1266a4980449c324ebdd8bcc98916089ee0b6966da7dc25350bdc758431884359d02f5fa567b39f49a6e410da2d0363944a090926308ed0ce7d565e6c4585ea010bc38ef1c976ae16ec1fbe6fb9d4d50e49a7be8273d2d56bf4e72acbadd90d5f8dee0":"0000000447cc5b29dd0cecd01c382434a6d1686400000000761e8e577fb4d12058806fc7bdaaef0ba64e454dc59b0230a77b43bbd83dc8c6":MBEDTLS_ERR_LMS_VERIFY_FAILED LMOTS negative test (invalid type) #2 -lmots_verify_test:"0000000000000000000000000000000000000000":"0000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMOTS_BAD_INPUT_DATA +# This test uses the valid signature from hsslms interop test 1, and then +# sets an invalid LMOTS type (0x3), and is expected to fail to +# verify. +lmots_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"000000030bb462a8f59a277c1706ab69b1a40b0d56a3ffe1ddf0dfa890096c7a9c48b360e1e8f7abe4dc1950c4a64545ce6c0fe2a34477ec40f56db4eec37c1a2168e3059d4338a4eb368a64be5f98b5452f2c2fad23dcac585f5fe308bfc3df0b5cbc6cf3545236ed6c5a863e677521b5b5cee0aa1e755c3bbf5fb7326fac1a88cb12dd7f8d68ebe8bad07195a12fa11299073731e67f2452009252c595fc7d9285b90aaa912eb6cf0b5debc0996ca55ad5186702b244a616c4b9e0ceeea229e1e821c1ab0db906ce87640d128f1d8c4742d9baf340a8030df726a99a9b97f139ec57d8d87efdfca235f12de64e0a993804b95227cdfd26220a84502e350faaf5f91f3f49610eda211f9409005679e32068def22a2dcce3d226d0f68c4abc727b90d9c01daa05db24d7c0c9e9e48202e3420992ba78c36bc21c45cdf218801dc7053e3cbf39c141784e7a861671588622d540187912234ce628ea9cbd1800d215641163c762d2fd9194fa54bd9b46c83754579476398a5c2fece4642f1ee286a4e9a310b5e23088c75a68b123044c1c365c8b53fe9f895fa5d76fe1277c7c0f2a39f5b233f7d2acd5358feec2255feadb1c2513c4351c9bd1afe22d159f2d392c83bf7ec26b59e78330cd346adb85ef62fee3da63150ab5e0d7ce5d0ef353895360017faf3f35aca2cf3b8eda65389e2ba86f78ebfbe73382dfe9002331f24e96e1a6e56e7cc99ee848b82ad1ade3229e9e28168acfa8c059ed03028e8c872e72ff4cf8a50b84ade908ecf229a26ff1007c476d1aa376323fc567c9471085336496b231b5245a43c6c86c6a71c1b1fb4bd87c2d0b026bff55de121620a089ed9ade51c3bd91c703844c180ef9ad0ab550b9560ba9f1452463ce20987a402213ca5c16c927a0a85091dd74fbee22cac6b1afbc7e7dec229325c25ea3b3cc5a1c48c80665f9903e482b143f7cd051bdb990355f79c62553453c72ccbcc578df77069a7b0cf6fdc6853ec2f96fb7cc100216ae1b17aa20782fb0cd0f261b76a48b5d6f7bb48fa5f78c02a11ee81a8c0c81183910af770f2e907ebd5b2dc3a2b83529f62da074ca73c434f8f30b68a5dfee740f78d2c13b53c904e46dddf723923bfbffa437a4130c8c9b6d79a57db1c408b9c023f80fb3d766cb915e722f3b3152625d77bce3ca0c01e77f3750d7d1bef1ddda8b9b4233b09c89abe5913db50847a7ea219c3f406aa4cf41b6310bafa99a7b14f94b8ccd4dc7edb1a1e963ce26a53f3be71b4151ce5fae10ca30055e754880680e38cf2f21251f229341f7af9536360a428c2593c43fd2ae471bc1fa2b45ad55742a2f12f31eed6cb67945a898650c13650c4cffeecba8655f87e49ce921ced7ab00cf54eedf0c70e5c6cfa7f006763f0ac14d80cfb1662321cdccca8b1adf426eb9ca16ef2b978bb9ac229131fa5c1266a4980449c324ebdd8bcc98916089ee0b6966da7dc25350bdc758431884359d02f5fa567b39f49a6e410da2d0363944a090926308ed0ce7d565e6c4585ea010bc38ef1c976ae16ec1fbe6fb9d4d50e49a7be8273d2d56bf4e72acbadd90d5f8dee0":"0000000447cc5b29dd0cecd01c382434a6d1686400000000761e8e577fb4d12058806fc7bdaaef0ba64e454dc59b0230a77b43bbd83dc8c6":MBEDTLS_ERR_LMS_VERIFY_FAILED LMOTS key import / export test -lmots_import_export_test:"000000048440BBD3F47A167DD2D0E446DBCEA774000000138686E25BC07C69B43A2D3B7165DFF85C134177C876EA47D96FEF069BC96A981A" +# This test uses the valid public key for hsslms interop test 1, imports it, and +# then exports it. It also checks if the export correctly fails when the export +# buffer is too small. +lmots_import_export_test:"0000000447cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de494b":0 + +LMOTS key import too large key test +# This test uses the valid public key for hsslms interop test 1, add an extra +# byte, and then imports it. This should fail. +lmots_import_export_test:"0000000447cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de494b00":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMOTS key import too small key test +# This test uses the valid public key for hsslms interop test 1, removes a byte, +# and then imports it. This should fail. +lmots_import_export_test:"0000000447cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de49":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMOTS key import no type test +# This test uses the valid public key for hsslms interop test 1, cuts it down so +# it's smaller than the LMOTS type offset, and imports it. This should fail, and +# not attempt to read invalidly outside the buffer. +lmots_import_export_test:"000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMOTS key import invalid type test #1 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMOTS type to 0x3, and imports it. This should fail. +lmots_import_export_test:"0000000347cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de494b":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMOTS key import invalid type test #2 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMOTS type to 0x5, and imports it. This should fail, and not attempt to read +# invalidly outside the buffer. +lmots_import_export_test:"0000000547cc5b29dd0cecd01c382434a6d1686400000001f337dde97685d008a4440b59550277390018d3f1d485fa4b8c91796032de494b":MBEDTLS_ERR_LMS_BAD_INPUT_DATA LMOTS key reuse test -lmots_reuse_test:"cfcd1e81193e310c9d931d1b00818d14" +# This test uses a fixed message, and then generates a private key, signs the +# message, and then attempts to sign the message again. The second signature +# must fail as private key material must be deleted after a key is used to sign. +lmots_reuse_test:"cfcd1e81193e310c9d931d1b00818d14":"00000000000000000000000000000000":12:"a7f53cc5a228ce63811ba4d7c1f74f7fce62afbf6813f3ca3ae43c11b138086f" + +LMOTS signature leak test +# This test uses a fixed message, and then generates a private key, signs the +# message, and then uses a test hook to check that the signature has not been +# modifier before the private key has been deleted (which could cause signature +# leakage during errors). +lmots_signature_leak_test:"cfcd1e81193e310c9d931d1b00818d14":"00000000000000000000000000000000":12:"a7f53cc5a228ce63811ba4d7c1f74f7fce62afbf6813f3ca3ae43c11b138086f" diff --git a/tests/suites/test_suite_lmots.function b/tests/suites/test_suite_lmots.function index 6de94d1247..fd6a89f2c8 100644 --- a/tests/suites/test_suite_lmots.function +++ b/tests/suites/test_suite_lmots.function @@ -1,108 +1,247 @@ /* BEGIN_HEADER */ -#include "mbedtls/lmots.h" -#include "mbedtls/entropy.h" -#include "mbedtls/ctr_drbg.h" +#include "lmots.h" +#include "mbedtls/lms.h" + +#if defined(MBEDTLS_TEST_HOOKS) +int check_lmots_private_key_for_leak(unsigned char * sig) +{ + size_t idx; + + for( idx = MBEDTLS_LMOTS_SIG_SIGNATURE_OFFSET(MBEDTLS_LMOTS_SHA256_N32_W8); + idx < MBEDTLS_LMOTS_SIG_LEN(MBEDTLS_LMOTS_SHA256_N32_W8); + idx++ ) + { + TEST_EQUAL( sig[idx], 0x7E ); + } + + return( 0 ); + +exit: + return( -1 ); +} +#endif /* defined(MBEDTLS_TEST_HOOKS) */ /* END_HEADER */ /* BEGIN_DEPENDENCIES - * depends_on:MBEDTLS_LMOTS_C:MBEDTLS_SHA256_C:MBEDTLS_CTR_DRBG_C + * depends_on:MBEDTLS_LMS_C * END_DEPENDENCIES */ -/* BEGIN_CASE */ -void lmots_sign_verify_test ( data_t * msg ) +/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */ +void lmots_sign_verify_test ( data_t *msg, data_t *key_id, int leaf_id, + data_t *seed ) { - mbedtls_lmots_context ctx; - unsigned char sig[MBEDTLS_LMOTS_SIG_LEN]; - mbedtls_entropy_context entropy_ctx; - mbedtls_ctr_drbg_context drbg_ctx; - uint8_t seed[16]; - - mbedtls_entropy_init( &entropy_ctx ); - mbedtls_ctr_drbg_init( &drbg_ctx ); - mbedtls_lmots_init( &ctx ); - - TEST_ASSERT( mbedtls_ctr_drbg_seed( &drbg_ctx, mbedtls_entropy_func, - &entropy_ctx, (uint8_t*)"", 0 ) == 0 ); - TEST_ASSERT( mbedtls_ctr_drbg_random( &drbg_ctx, seed, sizeof( seed ) ) == 0 ); - - TEST_ASSERT( mbedtls_lmots_set_algorithm_type(&ctx, MBEDTLS_LMOTS_SHA256_N32_W8) == 0 ); - TEST_ASSERT( mbedtls_lmots_gen_privkey(&ctx, (uint8_t[16]){0}, 0x12, seed, sizeof( seed ) ) == 0 ); - TEST_ASSERT( mbedtls_lmots_gen_pubkey(&ctx) == 0 ); - TEST_ASSERT( mbedtls_lmots_sign(&ctx, mbedtls_ctr_drbg_random, &drbg_ctx, msg->x, msg->len, sig ) == 0 ); - TEST_ASSERT( mbedtls_lmots_verify(&ctx, msg->x, msg->len, sig) == 0 ); + mbedtls_lmots_public_t pub_ctx; + mbedtls_lmots_private_t priv_ctx; + unsigned char sig[MBEDTLS_LMOTS_SIG_LEN(MBEDTLS_LMOTS_SHA256_N32_W8)]; + + mbedtls_lmots_public_init( &pub_ctx ); + mbedtls_lmots_private_init( &priv_ctx ); + + TEST_EQUAL( mbedtls_lmots_generate_private_key(&priv_ctx, MBEDTLS_LMOTS_SHA256_N32_W8, + key_id->x, leaf_id, seed->x, seed->len ), 0 ); + TEST_EQUAL( mbedtls_lmots_calculate_public_key(&pub_ctx, &priv_ctx), 0 ); + TEST_EQUAL( mbedtls_lmots_sign(&priv_ctx, &mbedtls_test_rnd_std_rand, NULL, + msg->x, msg->len, sig, sizeof(sig), NULL ), 0 ); + TEST_EQUAL( mbedtls_lmots_verify(&pub_ctx, msg->x, msg->len, sig, sizeof(sig)), 0 ); exit: - mbedtls_entropy_free( &entropy_ctx ); - mbedtls_ctr_drbg_free( &drbg_ctx ); - mbedtls_lmots_free( &ctx ); + mbedtls_lmots_public_free( &pub_ctx ); + mbedtls_lmots_private_free( &priv_ctx ); } /* END_CASE */ -/* BEGIN_CASE */ -void lmots_verify_test ( data_t * msg, data_t * sig, data_t * pub_key, - int expected_rc ) +/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */ +void lmots_sign_verify_null_msg_test ( data_t *key_id, int leaf_id, data_t *seed ) { - mbedtls_lmots_context ctx; + mbedtls_lmots_public_t pub_ctx; + mbedtls_lmots_private_t priv_ctx; + unsigned char sig[MBEDTLS_LMOTS_SIG_LEN(MBEDTLS_LMOTS_SHA256_N32_W8)]; - mbedtls_lmots_init( &ctx ); + mbedtls_lmots_public_init( &pub_ctx ); + mbedtls_lmots_private_init( &priv_ctx ); - mbedtls_lmots_import_pubkey( &ctx, pub_key->x ); - - TEST_ASSERT(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x ) == expected_rc ); + TEST_EQUAL( mbedtls_lmots_generate_private_key(&priv_ctx, MBEDTLS_LMOTS_SHA256_N32_W8, + key_id->x, leaf_id, seed->x, seed->len ), 0 ); + TEST_EQUAL( mbedtls_lmots_calculate_public_key(&pub_ctx, &priv_ctx), 0 ); + TEST_EQUAL( mbedtls_lmots_sign(&priv_ctx, &mbedtls_test_rnd_std_rand, NULL, + NULL, 0, sig, sizeof(sig), NULL ), 0 ); + TEST_EQUAL( mbedtls_lmots_verify(&pub_ctx, NULL, 0, sig, sizeof(sig)), 0 ); exit: - mbedtls_lmots_free( &ctx ); + mbedtls_lmots_public_free( &pub_ctx ); + mbedtls_lmots_private_free( &priv_ctx ); } /* END_CASE */ /* BEGIN_CASE */ -void lmots_import_export_test ( data_t * pub_key ) +void lmots_verify_test ( data_t *msg, data_t *sig, data_t *pub_key, + int expected_rc ) { - mbedtls_lmots_context ctx; - uint8_t exported_pub_key[MBEDTLS_LMOTS_PUBKEY_LEN]; - - mbedtls_lmots_init( &ctx ); - TEST_ASSERT( mbedtls_lmots_import_pubkey( &ctx, pub_key->x ) == 0 ); - TEST_ASSERT( mbedtls_lmots_export_pubkey( &ctx, exported_pub_key ) == 0 ); - - TEST_ASSERT( memcmp( pub_key->x, exported_pub_key, MBEDTLS_LMOTS_PUBKEY_LEN ) == 0 ); + mbedtls_lmots_public_t ctx; + unsigned int size; + unsigned char *tmp_sig = NULL; + + mbedtls_lmots_public_init( &ctx ); + + TEST_EQUAL(mbedtls_lmots_import_public_key( &ctx, pub_key->x, pub_key->len ), 0); + + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), expected_rc); + + /* Test negative cases if the input data is valid */ + if( expected_rc == 0 ) + { + if( msg->len >= 1 ) + { + /* Altering first message byte must cause verification failure */ + msg->x[0] ^= 1; + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + msg->x[0] ^= 1; + + /* Altering last message byte must cause verification failure */ + msg->x[msg->len - 1] ^= 1; + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + msg->x[msg->len - 1] ^= 1; + } + + /* Altering first signature byte must cause verification failure */ + sig->x[0] ^= 1; + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + sig->x[0] ^= 1; + + /* Altering last signature byte must cause verification failure */ + sig->x[sig->len - 1] ^= 1; + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + sig->x[sig->len - 1] ^= 1; + + /* Signatures of all sizes must not verify, whether shorter or longer */ + for( size = 0; size < sig->len; size++ ) { + if( size == sig->len ) + continue; + + ASSERT_ALLOC( tmp_sig, size ); + if( tmp_sig != NULL ) + memcpy( tmp_sig, sig->x, MIN(size, sig->len) ); + + TEST_EQUAL(mbedtls_lmots_verify( &ctx, msg->x, msg->len, tmp_sig, size ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + mbedtls_free( tmp_sig ); + tmp_sig = NULL; + } + } exit: - mbedtls_lmots_free( &ctx ); + mbedtls_free( tmp_sig ); + mbedtls_lmots_public_free( &ctx ); } /* END_CASE */ /* BEGIN_CASE */ -void lmots_reuse_test ( data_t * msg ) +void lmots_import_export_test ( data_t * pub_key, int expected_import_rc ) { - mbedtls_lmots_context ctx; - unsigned char sig[MBEDTLS_LMOTS_SIG_LEN]; - mbedtls_entropy_context entropy_ctx; - mbedtls_ctr_drbg_context drbg_ctx; - uint8_t seed[16]; + mbedtls_lmots_public_t ctx; + unsigned char *exported_pub_key = NULL; + size_t exported_pub_key_buf_size; + size_t exported_pub_key_size; + + mbedtls_lmots_public_init( &ctx ); + TEST_EQUAL( mbedtls_lmots_import_public_key( &ctx, pub_key->x, pub_key->len ), + expected_import_rc ); + + if( expected_import_rc == 0 ) + { + exported_pub_key_buf_size = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(MBEDTLS_LMOTS_SHA256_N32_W8); + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size ); + + TEST_EQUAL( mbedtls_lmots_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, + &exported_pub_key_size ), 0 ); + + TEST_EQUAL( exported_pub_key_size, + MBEDTLS_LMOTS_PUBLIC_KEY_LEN(MBEDTLS_LMOTS_SHA256_N32_W8) ); + ASSERT_COMPARE( pub_key->x, pub_key->len, + exported_pub_key, exported_pub_key_size ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + + /* Export into too-small buffer should fail */ + exported_pub_key_buf_size = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(MBEDTLS_LMOTS_SHA256_N32_W8) - 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lmots_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, NULL ), + MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + + /* Export into too-large buffer should succeed */ + exported_pub_key_buf_size = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(MBEDTLS_LMOTS_SHA256_N32_W8) + 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lmots_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, + &exported_pub_key_size ), + 0 ); + ASSERT_COMPARE( pub_key->x, pub_key->len, + exported_pub_key, exported_pub_key_size ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + } - mbedtls_entropy_init( &entropy_ctx ); - mbedtls_ctr_drbg_init( &drbg_ctx ); - TEST_ASSERT( mbedtls_ctr_drbg_seed(&drbg_ctx, mbedtls_entropy_func, - &entropy_ctx, (uint8_t*)"", 0 ) == 0 ); +exit: + mbedtls_lmots_public_free( &ctx ); + mbedtls_free( exported_pub_key ); +} +/* END_CASE */ - mbedtls_ctr_drbg_random( &drbg_ctx, seed, sizeof( seed ) ); +/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */ +void lmots_reuse_test ( data_t *msg, data_t *key_id, int leaf_id, data_t *seed ) +{ + mbedtls_lmots_private_t ctx; + unsigned char sig[MBEDTLS_LMOTS_SIG_LEN(MBEDTLS_LMOTS_SHA256_N32_W8)]; - mbedtls_lmots_init( &ctx ); - TEST_ASSERT( mbedtls_lmots_set_algorithm_type( &ctx, MBEDTLS_LMOTS_SHA256_N32_W8 ) == 0 ); - TEST_ASSERT( mbedtls_lmots_gen_privkey(&ctx, (uint8_t[16]){0}, 0x12, seed, sizeof( seed ) ) == 0 ); - TEST_ASSERT( mbedtls_lmots_sign(&ctx, mbedtls_ctr_drbg_random, &drbg_ctx, msg->x, msg->len, sig ) == 0 ); + mbedtls_lmots_private_init( &ctx ); + TEST_EQUAL( mbedtls_lmots_generate_private_key(&ctx, MBEDTLS_LMOTS_SHA256_N32_W8, + key_id->x, leaf_id, seed->x, + seed->len ), 0 ); + TEST_EQUAL( mbedtls_lmots_sign(&ctx, mbedtls_test_rnd_std_rand, NULL, + msg->x, msg->len, sig, sizeof( sig ), NULL ), 0 ); /* Running another sign operation should fail, since the key should now have * been erased. */ - TEST_ASSERT( mbedtls_lmots_sign(&ctx, mbedtls_ctr_drbg_random, &drbg_ctx, msg->x, msg->len, sig ) != 0 ); + TEST_EQUAL( mbedtls_lmots_sign(&ctx, mbedtls_test_rnd_std_rand, NULL, + msg->x, msg->len, sig, sizeof( sig ), NULL ), MBEDTLS_ERR_LMS_BAD_INPUT_DATA ); + +exit: + mbedtls_lmots_private_free( &ctx ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS:MBEDTLS_LMS_PRIVATE */ +void lmots_signature_leak_test ( data_t *msg, data_t *key_id, int leaf_id, + data_t *seed ) +{ + mbedtls_lmots_private_t ctx; + unsigned char sig[MBEDTLS_LMOTS_SIG_LEN(MBEDTLS_LMOTS_SHA256_N32_W8)]; + + mbedtls_lmots_sign_private_key_invalidated_hook = &check_lmots_private_key_for_leak; + + /* Fill with recognisable pattern */ + memset( sig, 0x7E, sizeof( sig ) ); + + mbedtls_lmots_private_init( &ctx ); + TEST_EQUAL( mbedtls_lmots_generate_private_key(&ctx, MBEDTLS_LMOTS_SHA256_N32_W8, + key_id->x, leaf_id, seed->x, + seed->len ), 0 ); + TEST_EQUAL( mbedtls_lmots_sign(&ctx, mbedtls_test_rnd_std_rand, NULL, + msg->x, msg->len, sig, sizeof( sig ), NULL ), 0 ); exit: - mbedtls_entropy_free( &entropy_ctx ); - mbedtls_ctr_drbg_free( &drbg_ctx ); - mbedtls_lmots_free( &ctx ); + mbedtls_lmots_private_free( &ctx ); + mbedtls_lmots_sign_private_key_invalidated_hook = NULL; } /* END_CASE */ diff --git a/tests/suites/test_suite_lms.data b/tests/suites/test_suite_lms.data index b17fddc153..7802a70e68 100644 --- a/tests/suites/test_suite_lms.data +++ b/tests/suites/test_suite_lms.data @@ -1,32 +1,263 @@ LMS sign-verify test -lms_sign_verify_test:"c41ba177a0ca1ec31dfb2e145237e65b" +# This test uses a fixed message, and then generates a private key, signs the +# message, and verifies the signature. +lms_sign_verify_test:"c41ba177a0ca1ec31dfb2e145237e65b":"626201f41afd7c9af793cf158da58e33" + +LMS NULL-message sign-verify test +# This test uses a NULL zero-length message, and then generates a private key, +# signs the message, and verifies the signature. +lms_sign_verify_null_msg_test:"923a3c8e38c9b72e067996bfdaa36856" + +LMS pyhsslms interop test #1 +# This test uses data from https://github.com/russhousley/pyhsslms due to the +# limited amount of available test vectors for LMS. The private key is stored in +# data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv. Note that this signature +# uses leaf key 0, so must be the first signature generated by the key if the +# signature is to be reproduced. Message data is random. Note that pyhsslms +# stores public keys and signatures in HSS form, which appends a 4-byte "levels" +# word at the start of the key/sig. We strip these 4 bytes from the signature +# and the public key before including them in a the test data. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# * pip3 install --user pyhsslms +# * cp data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv tmp/lms.prv +# * cp data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_pub tmp/lms.pub +# +# import pyhsslms +# +# private_key = pyhsslms.HssLmsPrivateKey('tmp/lms') +# public_key = private_key.hss_pub +# +# message1 = bytes.fromhex('60da1a17c88c59da8a730e6ca8effd37') +# sig1 = private_key.sign(message1)[4:] +# print('lms_verify_test:"{}":"{}":"{}":0'.format(message1.hex(), sig1.hex(), public_key.serialize()[4:].hex())) +lms_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"000000000000000436c1e7d365851f12310f77341f4f994da12f39ad5d4cddf51563e80c98640f7edcc6ca027a76e48fe8f01f077f2733026c75e76fdb236b981e7bbe92e37527a5dc64d67449106387ab0ffffd5b5d4187165b4f03965dbdc5c652a4fc81ab83e951b24b61bf86d4d9a7e8d15206cac92c866b5bb358745306525955c56dfc925c48d0259865372043643c3b11daedd40d474c386daa36e3887bb65633cab290078eb2bc24c478a9ae18ac9fbd7c4a6e5338410b22adf02a27178c5a6e2d9ad403120d76c4dd27ec8974943b8226f86834364ac40984a96f1a1201e50eaf31c44e1c12b03a0cab40f6dcfc8acacfbd46333b48985e8b3a843c8f562a8007f69586444114adade8931adbdd636ee055423e33e4fddeff509a64b4589d25034adca9d55359c1489699cc6438c21da4b01d5403f53c2308fa28a9318235b788c15b37d359217301e9d0fa1b9a3b71ef95aca3657a976fd021ce20bbd4674d1a0cc551050b21ecd96f74a591bd84b5e9ae8b966592721a24bf0e16a44102c86999697ade9f7c937277fe8447b65573776507eda7725fbdf5ce27cdf6552d57b76e6f807a575dae1c9abaeb4667bcf0534ce78796f542b65a109bd9650b880d0ca638cf5de1ad97f6c52fa24951404cad923f649aabe664fabf318fc5910a8fecae45479b36c4961572a9d472b6de23cd601ae0d79ec98dcf9d0d5de6ebc9e71665d2b7066a8cdb93a5f65f48978fee68ed8c94a43af8759a2603321af84d22a4a37d7dfe6811f3d9b3c1bd9940214678f784658bf224a6e7efe22e30b962c7cbd18bb92df3d5e86b81493db30d761fb4775dab56a6c446f2b34d906944a72cf71f4f637f0668069f24ebb55e1c50b52c2f35b568b66fa648f5ebf10f74ff48246c3ead6cd6a5901c35f3411584760574c2db86ee5d23a094bffc16369f9845fe2570b1357315f401f1bc201ba165ee16a9afd811e4f9f34b8414134346598cd5fe76c883c5215d75106eceff18135c65473186ed1bcc45246d30aa7b1e561c46d0d1cca3da2e19cca1cfe4e89ca61de070d3cad2f96270962cd770c9154ce7bb5844171293e1a2722d3e340602895ae3c6848c83e264709af8677ff1d49580348d6084e41146410e537e6fdf91881fb8b858aaa04f064671971d082e1f7681eb9ac11da7b4776bedb0bdff6dcdab8facec17df48928e3be3603262cf39d0828ceca9230ccb610e8a6c7ea8e9a3a1d4e43d2f9c204d9327d6a2e8b4dc7b9a13838e1b08b414d9ef3495aee4f4fc05d71a5e8bd828f155a8a3b7ca6e22be59901fe627408a2e8ca8dc28458a4eda726b9e8f511c27495ea3bd3a50997d17a0de3394ccd51329e386ff39708e851cec61335e6b2bc6ad5aac9851a5467eba51cfc59804d674ca23232f8da4ad28c22f7dd54461e366e247e2ef28df07f6b3e4bc2c2e0b0233aee191c2efae467b2bd511c7cfd61dc96148b69b967b9d5eb0efe41a8b0197f8cdef88060d80ce1a2f3f649ab552b52bb1123eec2848c9dceff7ce5a1768d87e67105eda66493a017771170e3462566a08366aa01dfb2b0ca838c8018f0545000000068b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":0 + +LMS pyhsslms interop test #2 +# This test case continues from "LMS pyhsslms interop test #1". +# The signature uses leaf key 1, so must be the second signature generated by +# the key if the signature is to be reproduced. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization), after generating the +# first signature: +# +# message2 = bytes.fromhex('92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1') +# sig2 = private_key.sign(message2)[4:] +# print('lms_verify_test:"{}":"{}":"{}":0'.format(message2.hex(), sig2.hex(), public_key.serialize()[4:].hex())) +lms_verify_test:"92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1":"00000001000000042fd4410a9c1947c00419216c64bc236a1620bde03ca9221e67f933bd2664f065e0cfc910c6a4317de4bda8c7fc1244ee1c102e8acc281d96c6a25d1925e087623fcb4faa00219e1f04a2c191ceceee98f2acd0fb1395fd984892f893a3ad862ff6def851e81915b9111288f84fb131e14979f1df6eecc774db45054041bfe74ec0446a0e6a6e01f9b402f41e784a2fcdc0cdccf0b89c2c8a9d2ab28e95e133b33dfb631619e75ec80a9c5d8f634f1d60feec2a5d9a5d6316fa7968734c26c3f60e53613096330a6fc1f779fe501db94b2a932ddc05740a872a8ec34c6d79c6689cd2cd6620d92ea89b39a62053c0bdd7596b360ff45de04bef0cd9b985f00681875e9f3465a71e5055e202dc51bf9ab29d227e8d2b09c6089f82cd356eb1622ada2233209f096cb35086fa2415434ef3ecd660bddf328d70e204d9a8be18319df1bd5c64072b30b72ec792c0a200b29429e262435b03f7fbb6dfcd76b9a84621c91e0ef646bd7367eead3582028a8ed9b40b1fe1562863ea43af350cdf0c965dc8329131df3f00b4b8a33548d7f7f1b03e952064e0f4cd9662af5a0d25ec8dc126d9621bf4707fbd525023ce91cbe05517bf2491e6455f2273b354c9d2f4a4364c3caf44c98ad23601cf1fc9cb490d2a9b9cdb1d60f0328e40734201e9e03f7af30fe6f0d6c7437fdd13573b012cd060a1a325b35d1a3d77e94a666d3873e267223a4e5bcf0752395570ad51d1ac7480cba32fcc8bf93439b8feafd0fb3520ab76d9ae2fba3b4600afce5fd96ff07d0e62579c16f993715f363982409ba38a46d09e6b448738f2bdb4277c65c933ea4a991fdc8021e3b9bbe5d00078b94ed1a78c61ee9d1dec014f99d23905a8fff335a9cca0228e7244a2a8b461970655b8a7f0f684c3f271c5f76924d851850b74754e24abaa9828d353976509dc4c4a241a0c314b80e400aceefe234fbdfb9af60d7c65752a4a396c4cdea1fec3478c263fb5883aa009f1845c4cb3f128c5eb9b290639c7c82fe33b17bd5ddb460a68d54be472769f77c73f7b4bfead2af4a9af6322f5bec9159d234e94a7d496cb6349a4b36fc7ca4e2c42168034bff62e687089fdd27a78484c788556edb58d7c911199752ca609a7906355f226756cd7c6c167b2a2929e8913fb2ec7c46c5caf73252f06cd51c5ca979d0b552831beeb5bcc25fba8ac83c8857633e3873adab0d23f1bb326a6c960e8bb1119e2f917c3892e9ad83f8af74abe0a0beee1734fdf5fe04024a6a644c2bbf88c6019d7115b0742898e90cc2d001efbc6f8e38eeedd5e9e9c777d1ecc6a2a9cf6d67a68781d99db1bbecdfe2e40dbe9074e7a69f0fa9037aecc31c9305c67129e0dbc8a66c8de6c18ed41746d794809bb3a5cc68c17db3052fe31e390ca862be3163660a1f70c5d2f026ed7649437600e38ee08e33f05aac9bcd8b7db309f2f41c34ba44304115ef8bbdba63629607daf67e2e642a726e021f6599032a0f8f3edef2ef5b007d3618856d48aec7894e9a4b802caf9c3f0022c6e61d34c38ba2ddef3c1b0797e7dc74faacb44ac72b5ea078f1a21c2cffc46ba000000063b71be980cffb4e8a8e310341d3b711ab19545ae90c3ac6adcbeb764419411a6ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":0 + +LMS pyhsslms interop NULL-message test +# This test uses data from https://github.com/russhousley/pyhsslms due to the limited +# amount of available test vectors for LMS. The private key is stored in +# data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv. Note that this signature +# uses leaf key 2, so must be the third signature generated by the key if the +# signature is to be reproduced. Message data is random. Note that hash-sigs +# stores public keys and signatures in HSS form, which appends a 4-byte +# "levels" word at the start of the key/sig. We strip these 4 bytes from the +# signature and the public key before including them in a the test data. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# * pip3 install --user pyhsslms +# * cp data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv tmp/lms.prv +# * touch message.bin (create empty message file) +# * hsslms sign tmp/lms.prv message.bin (incorrect signature using leaf node 0) +# * rm message.bin.sig +# * hsslms sign tmp/lms.prv message.bin (incorrect signature using leaf node 1) +# * rm message.bin.sig +# * hsslms sign tmp/lms.prv message.bin (correct signature using leaf node 2) +# * cat message.bin.sig | xxd +# +# To validate the signature: +# * +# * touch message.bin (create empty message file) +# * echo -n -e "\0\0\0\0" > message.bin.sig; cat sig.bin >> message.bin.sig (restore the +# HSS levels) +# * cp data_files/lms_pyhsslms_sha256_m32_h5_lmots_sha256_n32_w8 tmp/lms.pub +# * hsslms verify tmp/lms message.bin +lms_verify_test:"":"0000000200000004b219a0053b6bfe1988ade7b0a438c106262366cb6338eb6ccd161326b29076d3493e88ab5df10ab456ddbac63f9cc7bc626a832664861a61125963f6e4b1fc202b0d6421cb1307451614d4d0e9e4509bc3991ede829f3805531912af12028c33128212a6e0539a458da092e83dcced8ffb1d9280e76593a239d3e87858905d3b4ae3864cd55972f5610759bb7d929d24ae262a1e028f140e90aa7375e43032c0bc28fe5fc25d53a26f4f9e6de18da2f697f82e409308e5b316413df8e85487391c46e784f9303f133ed332c88e6d1467cebffd9547592e907ceba2992a0442410c7a87104697a4ab3483d9b2af9df574edf23811cec0e681246f07ac74e1ddf64a7f7abc72d0a23b70d5f7c9649188eec8644f2437951640af4f673e6bb7d36a10c5c4c857f518974929824011dc79f484107388b92762acb11839c7cafec7daabdbe651f500930386b403ccec90a507829c18df23a800250d412a82b4072c94de24da9fa25720f1ee433953fca2d9b38ffc5c8b6328e69bf928936218bd253cac5a7122b74639ed7f4085d27efda2a698aff4bce385b475470adb19ab2095b3979e74e63914ef5430094e2028440f4d2aa448bb41f1d4481ad76c9b6671f4a7aafdbea44316aa97993fa31c56c34f0acd6295cd2fca8be9ea6af2f4d656f89b113cb3b3ce35753bc0128629372fade890397c297ee4c22e735e2b5f3c7383ed154cf0941884136bc6e51f860803b963c145795c8f573ab43953d25c0837bb13adbcfc506795db26fbd7a277d9532a23b5c472628944a3dcfc424e42fc54b2ed2cc8166cb82e9364af9120881313c97e429bed15bd9d46fe407f229cbc6daf1442e42c57664a7e832a809364750396a0b134efccf9a31e1ef1fdd2279d1179a673feda330b9989681c94d69eb197b6c3048623e49c98cc7cfc8d845c17f9059e7f15b72af8680cad2591cc9c135b2044fe7df45b8b6ef6e8af85ddb677f0897ffbda8131fff0eba1f94200f435bc26cfe5093c63f547620efb3bf8f905fe4ca1c40e163dfb6432c4acf068540c2c81c0392d375e99e3960973447beceefbd437f51616f85236d75815c51073277cc7ceca622bb76236d05a830e024a231566fb07f6f4e3671bc7fd5e22e4da1f4d4f4e56a179325b2ea9e51d6484df0941e0b46bcf4148e98530e9b3641e351b67073ace8438fac6d9a19988af4d594048f12eac4bbaa73eb15d597b1fdbf34ce9410520d9dc4b6bb7a99a12dcdc530c49bb67ca942adecb7adf27456eba9a9b416bb98b25c8020f4c2507b74a9ddb94f197ea42f03500bde751c04ec2c6b427ce0f80322a6b356f0d9d26531843639c7c7938b83541c58fedd0398d81b93032cb4892903a5b1cfd205b333702e7f80c1461a15edd6058c2e08d8afe44e4c5bfd7d9ac2578b5a16b4c4e43bad5f7b22041de5a95c6f64422db270e1f616e379a034fb3c08cf892af6df8af91c2767eb76bcf018e35d66fbf4ac1e5a6a10033ea118f8cd2edf57c2288a93f2f85b6ff41283b029e5c7b04bdac33b5aa79bf799292a0a046b98e6d13a2bb53a970dd0a5784034600000006c3faf2b844e6f17384998ae0616755eb7578458b7096078a36f9e556a2a091be47c0f85ffd8ee916734855a6d116fa1431ad6cff45d2a8a7f6c122f4d492df32438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":0 LMS hash-sigs interop test #1 -lms_verify_test:"D5557C719EBB0DBECF563E5CDB16568BB11CD779":"0000000000000004C167A9AC495BD4EA34CD8EE5AAA2A656D518C33612FD87171421BFC3977CFA99765C6D496499C72A1DE21360DA57EB96BC83DB8AA92E560054C7805B04E336162FB4C411B509F76959F2458B0E53CF830E0145CCD439D494259EA4818CA68924A7E8B9DD36D6A9C7849B72F9338ED6C80A3E70B717E8E65B991B2FF9D8B49820E8ABC9E2ECC17DB38E855DA75D84DF9885C7F9DFB4ABC209CFF1D37D66595371D688A203CB89168945200C39169F784B19665CE1FB47D58BFA734C3E0E7E31D1206A033C6D8E25B7E45CA779A5FDE00C6B1CAC44884F2B52A380E1F6D8753549F7F4948A95AEA83703CF3AA108FA4F735AFC0DA1A03C378033D8B5959E7BE05D3C5070E709181AC09EFEC04128ABD7E8F37304FAD4B66373D4A83CFC1EF632DF6DB95577C2C6101CBDC807109ED8AE831FFB73DBC80942C58F334663B980F982C74B943BF7C57147250AADE595310387E3BB1A2705E9EC73DE7FABDA5EC0B1141A18798215B9A70F8D688357C833ED869059A2AA3360155EF84426288198D0FBB78223816B17093684C48942ED18FCD351C34E108E5B71D1CE39E318B5D991B650C46A91112E013E1180F2054C7A22429CAB31512BA34EA3AD9B68C5001EB70C993297CCF11914ECAF059922DAEE7D90ACE2567495ADA066E7DA1679CA45DAC1990B17184E7BE2E6A0F26AD77F19855D074F5B37372277484CE30B80A0540173C1B310C3E7B683A487B5D0676218EA1F65FEA444C493FC535E948EAB62252DCC90516BB45B60D4253DB6979FE342DC5CA1B86B01B2D8EBA79B0BC7B6984535616B792BB45F3C0E20B506E0694E1D5BA28FE96D34FE2BE354777D090404DD3508E9F7918FF5593ADB468478CA8A1F6AF752CC76F401E373B71471D9D70F455C8A73E4E7B6714394B1DD0E2A816AF3D5149835DAE477A70DEE0BDAC22F99A04BFB7C2D4AD53079C326F620DFD3F7CED4AB7F2E291507AA046331050F9E2205C52B36CBAEE817C5C3B1FBCDE61C54C8CB7B67E0570FA44728EC8FD091D5CEDC19C6B99840F7A0E49086F707E959D34B30E255B67BBAA24FADE532BF3D21825626E114BD8213170B0C2F01733D4ED420D01EE3ACD5F84DACE674AE7127DB0A80ACE252CAD9ADADDAFAB27281AFD6DDD72DB5AF878326C45D7DB1EFF8BC40895A3473A52461D076881310AD9937307217B5C0448B509EF9BA075936CC09E11B8838D3A6BC5EF9FAEA85A3EC87EEFDF2E38CD9732730085375A4FFC4E0A213B0E1FC3DE2D37F1EDACC3030F617F3459A03BFCF776A05FD3B7FD135782F6D6E7C5E92B56A1316525B26D3AE1CEA3C0C7CF3AA7B1E72B7599A31B50837D79A7AB61B9A9E2B7AABD2D605C97E302EB4B66C0588C24147955EA0892A54D42843568FE0863E7EFEAE336D302E672EA62689B4DAA02DD5BC99D93886EC7F411C53CE1CAEAB59FBC0B06E0E294F1900F8C626C6FF520AE2323DA797CDC120DBC19F7FEBA0E13429508C5B838A0F8B9B28A069C5DD40E2F6CC2C95FC6ACE7E1351516817BD2DC1AE08D498AD2B0BD1D8374942FF31FC6A4689C592244C919C3561E73DD4986FA500000006BBF34F6EE152B64FCDD1CB6848D2DA761798707060431761006E2EBD9312851F4F3DF3C46E10F643DDD58CB3D9F4D371F655EE26271F2DDE84A14CAA6A077DD96AF83849DE6CA8F2F3248902CBF49630C18C3EE3123D951CE9162D0E742B899AF9E5DA8D28A41C7CADF0194CDB09418BF48BF322F8C5E9563524196FA8AB785B43C4EA41A36148028D2F4C7356CDEEB09532CD7F2C80FC36589FF7A9954100C8697AEB014997C3088C242B4F70D26CE7F7E77384A9CF536EC5C5329E08BD6C1D65EFEFC1389A42D16FFB43A0E1D7661220E92A4A59703FB28410E73A677E803D4441929DFD7269E6F77AE8CA8C70B67B250A8728291EA5D4E3F03D505639408C88156DCBECC137142FA3585C09D99B84D8C380A5D29CE2ADA10A25F7CF939FE23288551F37FE2B7233BF97C0F5726B972E087BCBA095957CCD794794A4F50027":"00000006000000046B0927585C8547228D495361D73B970C287A2254BF8F1B170E55ACC9520A56CE5D2C711B6617718B49247D28CCC6D11D":0 +# This test uses data from https://github.com/cisco/hash-sigs due to the +# limited amount of available test vectors for LMS. The private key is stored in +# data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv and +# data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux. Note that this +# signature uses leaf key 0, so must be the first signature generated by the key +# if the signature is to be reproduced. Message data is random. Note that +# hash-sigs stores public keys and signatures in HSS form, which appends a +# 4-byte "levels" word at the start of the key/sig. We strip these 4 bytes from +# the signature and the public key before including them in a the test data. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# * +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv tmp/lms.prv +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux tmp/lms.aux +# * +# * /demo sign tmp/lms message.bin +# * cat message.bin.sig | xxd +# +# To validate the signature: +# * Save message and signature in binary format +# * echo -n -e "\0\0\0\0" > message.bin.sig; cat sig.bin >> message.bin.sig (restore the +# HSS levels) +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_pub tmp/lms.pub +# * verify tmp/lms message.bin +lms_verify_test:"6b7439e31ef128c54f1536f745ff1246":"0000000000000004163fc2e3d3267d8c0d9fd9e7bb7a4eae84c3d98cd565de361edc426067960fc3201d9be1c30f4e4edce91844753aa13ff21e92648ac795b7c29dd6140962b5a1fb97b02570402a498a495044edcb26d1321c52e91c60cc3feb8f8e84fc77f97fb6e7afbfe4c2f2203d8d84303e2dd212b652e08a2e5a24a333df859cea3c5a547561f7ce6d182e2a3f2f018ef7e0578621916cff905c0713fa5f2bf73248ae6985aebc4086b79ebf71b8dcbb592eb61dc6303d06dbda88063690361b0dd25ea1c2c6b4d82dddbe11740864c65c228d67e9a1710506e585a748e7e02b36706e5cff83b3589613f07c636ab7784d6a8288d33e80f063165a2ddcbb0d7da815df8043dfa500c3e313c533bf6aec959237c923813d3109bdaeb195b1337f4cf21c1c863f6261dca411819603a3ea60cf34c81b462c4979b357da2bcdf3128343ca5a8a957e3ca4eebb914d743862e29ef48e43e7c5a7aaf7a2fe1251c309c65e9143dcfb298fa0d353084f60c0779e1a09b040f13c1025ec99402b844ff9996decf4b5f0d32a0858126ff293472aa93fbc2017d39fee93ff9f0ca2752b25cfa12542bf19cc1b8c102d65b70dccf760f26cb546742ce909d45345f802a985bae6a0f922a9c2a3dc992fae9f6f2fba0c52cad82564bde6ed8af880ee7a5eb5c6436611e5da1c690831bed34e3dd65acf2b8f496b6448e957afc16c48b6cd733bc84e3606a1d0609f08015c14b5619a2723f9b22950efc7ff7b733c299fcd84ed89c4d5cd43a9a54f25fc0fa1370d184f9e8011b60ba38dfca0eeeb56ae37a5823718c8210db20c2de13c39e43970b0b53b85b9cf9ea0dd025e7db558b463c683980fe59e0defde41afe825cfb8606ca861602a7fefd7506edc81b7ab4a1e0626e0bac1f99be118dbc1e291028fc73d0a0ea6559ae1dcf7477d64742c9bef88ef04b2ee4d392cf1efa23d8b05d11d2414e64f4540623e11bbf57fb8ae219331db0df459a9849f2700e6fa7ff4edb0fc01764949e279e84374e7a57fb5ee6221b2b72dbcf2ab9c988fe07d21e169b4338887129ac503cc6c0912787778d51b4b921cf7bb17d4028b7faf6c21dd616a1ac3b50d595ae0e3662e7faa16b9dec7694462c7fb8539ece0af33cc5a3dc33641b8827bf4751a708d7bf286cf2e795b8f45b76e1109abd908d0388d6ab8ecea67b187aabd80349e4bd286e3b6eeb3535cc9c343a39fe90cb443906b19d2483b4c93d0e35cd68d9f5523d5400a2b1708ba3361bd0757ed69b1da8845594edf053995b2d96bed8210aaab25fc34b2dd58004ce800360f24861e5912ac339ed0a78548e303e728a41e05c11d79013e3971eafa8034e63ecf1c842f0d9e735ff3b5badfd63ae07f051c94a9a867260b517e5c2c75e88e03d069bd39816a2255c90de81bb79622145b7469853a02eac45289fd9f9f40e2fccdd8ddb740469331f61badc1b7f6e0145dfe30141ad2f26ac8d7ff5125dc4dff1fec57629cea4f7de4401fc056e9a38ea028ac9c666ccd3f527947672408a759a5791d9efdeb1ff25392413728a03d4c641f4ce1542b6952e7595f1eecf1060000000671b0912d734442146e128d0029101ad34a6d2d586640235c828d427dfaffdb156771f06926678fa50aa7167684c1de108944b2c4a3358f5e926368009e4500a8d4d501124bc25a4c9b1cfb954503f4ae26c92221e39c680843ae55cfca972e139c82e2e4469a703a1866fa0e6d76636591f4ad07f7d1eaa19077660ad46a6f9d534970e6a49e24621b7c7c283253dd22fb24eb7819fab84bab88e42555d5437d5afe06615a7e0d103cc8595616690f1337f4345cf418724f07d0dc4d2c0899b691691f397202204ef34342b5725dc6adfe549ab0b887572ad38113c407f96fcdfeea0ffc4f333addfec296169e53e3c5b24797a20f3b2f043f5e96920de9927da466f09389d3e52a5665f380f68666a019c201e710ab4c168d5ac952a02d5909a6fcaf498a33e2124e6a828203744ee3fe70465adde0cfbccc1b4634541638ab":"0000000600000004e18760ef2c86192aee88579e376f35cd153419d622803a483e79f6d368629308a8ab6ff663c4f108b2033af290dcedfa":0 LMS hash-sigs interop test #2 -lms_verify_test:"DA16BE0B8FB691248486ACAFD531BE6EE4C362E0":"000000000000000484FCD0D791D175A0F86D64B2E8949F793CA9FFDC0347DE125DDB2F895BB9D2B43740B9B326B24F934D67586812BE6F3FB57E76FB12FBAD60A685F22A82C95C84AFAE63F47BB3CD951D483F61F5626B2B5FB6FDCA0CF02293EFDE1EB0AF6712D635678E825099E95435B43EF83C49C6589054D0905D82D597FB11A721D2232AD168FD179724539699C21163D5ADEB52290CB711C368572FF8BB95AA61DF2AD128307E768E73D3CF2BAFEAC8B6CD165BDD0316D2663D1ED61A15FB974082FC66A55E13ABA4FD084970EF6A59B0DFA1E934BF0E056C86E9B4C5B94CF863AB9F23BE2DB6A140A9CAA8DB31C83B21BDBDCD07304A52EB8501869D86BFDB68A376D94F847EED7E4CAB6A6EEC063945AE4DAF657D5509249E7FE430F5A13B188C4DD311F01746CE28F4F6540041EF6ADB299F712F591C83B0C12C1FB3E4A878C63217E25E08C004571FFC69E9C684E46F4D36C36409EBF3EB15F32A187176F4D177E0FE0E71ADFD4DA4AD2D57A0256B29AD5DAA6867AED20CC862AF5729D030514D41BB8D74551D8E925322C81A357A586227BBC885AB683BF835E9333A056AFEE96F2AD0FF6D6E235A9E2BC342ACBCF0B8EACC95E7B74215F6C65F12829433301F004EE1D9CFD16A4A1D092F48E99AEAE9E1FA4619ECE5E05F5C19F33C4C94A774EB8955409E3CFA73D8807CAA7C55FE45E980C7E7626AAA193F18A3AA7E525FFA6466D728FA25563DD383D855A0B6F8C011AC8C79C853CBED3A016DC26EF6E90B3E78119E465B9962A42B6AC168C1CDC9DB860D740B0C797303E2A62445FA618B5EB417BD4385C15BC548FEDF4D4842CA43F95188FFF63EB5D4AC85DAE618FDFB6CF5969EA0A3A52F73A4AC4957BC4EBCFEF593923EC79196021B25ED8D7558E4AF41ED74941585AC575CF1971D4F4C7C9E9516276734FF9FAFC7DE661F3090F71C98962789B31EA0FE406E2EF02F6F16B1708258C7559B8E05E27D647AD472805C865299FE30A5FE451DA7F2C493A37AA1655D492EC891B9AF559E12104CDD2EEB2E54138A1FB5A403AA32CEEB3946471A299604FA2DD3CA3E9567D01A3CEE5D09A1C2768B521C0C6142AF297CA5BFB3878B32D37D415542C15F655CB051240F3BA8FCE0E38449A0D7010A9B56BA2283E3A2047215813ED2090F7BDF16A40ADE32AB4E669684E6DEB6A94633E6643F29D10914F5A361C964CA9145514D4B80B45F3276EB0C649622034E71925FA038EB35E64C71CBDB11E91D779339516A351BD2A722CB60C2CBF145689B2E3F6FAEB74C3B58283929F70023503A96FED6A5D7D8A9E495FE1D85E0FCEC555F86747347D2FB5219FF65EFD144A5E1E88C63BE4259C42F6899C103536D75E0526508649E2836CACB94E88BD954B88EAC26F17B27BF62546C5C7573E2BC9EF4B65B8AE4951AF532F968FF050E504CC236DC48379E4390079DE451DCE710F9674D753C85B9FF7E7B09ED051EDD14C33AAFC8A188AE06234DFB61FE5A75C7A760B5286E1D6993BCEA0AB8A2C1D632145BD6A9F109ABB04E0B102D50DCB8C607AD6BA8C5FA5B21663E5A40194CA5DC2294BE10044E8D96AA0000000694ABC63BC5B27730C5223943C8341461474033BE3A221AFFDE66242AF14510CC656480CBDFC0B35205C89258A18BF6C29C4708CB2572DE15EE5DD481BC47060254954B5C5DD881AE6B358F7CDAB6F117235AAAC625B2750DB72BA4A96D7DFAA889BE780416E1CB264A413C6713710102D1D433BC6D0A47BF08AA74FD613D292A867261181BBD73557EE3AEB0F63579B71E58E97BAC1AACA3F34646350A13BB7ACE0AB3B062C41518768ABF3D32FB2F6A5E5C7F6B8B04C943D25A82F03F977755D74FD717A4B7E7674B03B577405210E23A2FE050E036DB0730359366A9436AD2CBCCE3E649F9E40023B2C12D9F5AA824319EAF571FD4842E573BB100BE9715D7B71F75521640D9B69B889349A283D62350D3A37264C89930F40603A5458B124EA850BA59024A46A8F325C9A9776817D739692FFAEA2758249888BF79D66FD496":"00000006000000043FC8322D04908C7C06C0D8B7A0CE24FA3AC253393CF9A56CF760294A06E75223E38C9E5329DDC493D8B51B1A4BBE41F8":0 +# This test uses data from https://github.com/cisco/hash-sigs due to the +# limited amount of available test vectors for LMS. The private key is stored in +# data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv and +# data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux. Note that this +# signature uses leaf key 1, so must be the second signature generated by the key +# if the signature is to be reproduced. Message data is random. Note that +# hash-sigs stores public keys and signatures in HSS form, which appends a +# 4-byte "levels" word at the start of the key/sig. We strip these 4 bytes from +# the signature and the public key before including them in a the test data. +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# * +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_prv tmp/lms.prv +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_aux tmp/lms.aux +# * +# * /demo sign tmp/lms message.bin (incorrect signature using leaf node 0) +# * rm message.bin.sig +# * /demo sign tmp/lms message.bin (correct signature using leaf node 1) +# * cat message.bin.sig | xxd +# +# To validate the signature: +# * Save message and signature in binary format +# * echo -n -e "\0\0\0\0" > message.bin.sig; cat sig.bin >> message.bin.sig (restore the +# HSS levels) +# * cp data_files/lms_hash-sigs_sha256_m32_h5_lmots_sha256_n32_w8_pub tmp/lms.pub +# * verify tmp/lms message.bin +lms_verify_test:"0705ba8297c7b9fa5f08e37825ad24a0":"00000001000000040a432454b99750f7b703f0280f92818b0570d0267a423b377be7cf0561305d4ce987b9d8dbc1c3f8ba410bbe6b921406eb802688d2dd8a1a6fa4a124cbcae9b5a210f583a956384c06311953b038b4ad2c2808224fc3a6410cd3b89274371956bcd4253a251cba6409b09c822e1d29d7a037648a6f2562d0df6359a043622f256f5ac79736c08fc4185758ff002a8397e560d5812373946348afba2ccf2cc0f3ba741ec076d4587a54b8b625804b814c30540152a3dc843a590c94cc23ba857e4c458c8ab687b5b9b68837ee890454cc19bb5f42a1e6dc051803fab50b440067a903013f675a774b5d02cd56289518d65f869f22b2e2b58d499e9e3929ec5a9f5d6d6e03cf91486094aba7c88491cde35b81c175c40410bc402d20f0a73a4da844d3a1d47e57618b7f18fa5ac85e877b5faa1e0b6733c2d96b2970fdd6e606435e3ec50eafa88f84fb7512217aa4be5858a140f242603bda634d76c484a184298c4da903094468d032b88586fd2f35182405cd85115af6a0bbd431f2e44217a1691dd8887db91d3b97264ff552ae7dc110a3a111f2bf74ce42079055dfb8390a16d67f28b738f837aa7880f3134deabcf6ec74cdb521bff44df61c999bf7a8ddc43b64812cd4f3bfb15104867d5e585d1cbf99738e0df92660b3e9135a4377d1199b8b97362fc87ce3c99db3b8aba63ba35eb353e5ec79bcee82b9ccc1b4f7d1b8ce7e5f8813d007be3d0e45cb8e7173337a5a7c4d32ea5116e0fdbd7846ea1f366a531449c78cd7a16ce5bffcd6cccf54b7f249a74e0df6b07f6b48db42eb958ff18b06995368af0cadd82f44cf44e4b53f0993de5f06b289bee41cd25f90a9fbd1bfb1ab2451c96b07adcfb5210d291dd505ea30e5d30395c8d84eabccdd2c7d6f28a88f5e5d245a6980c57810cfe17c9a37ef5e79b7b9ca755d56a789d21985372bed42ae2830d81ebf0fad6c721bd1d3ee91ae363f40d386aac23e7c0db965539ce9bff38f0f24bec3227b5a24f4cd7fa71ca9d306faa3fc4726cdb6634f218897b79a4aed67a58799285104eed74703ec4af6d5738b27b4d6fb71e52c1149069483a7cca6c3fccbdff77312ff5c635d8b0ccd53dbaf7b498727f7c7a70d3fd1c3f217e2cbd0dfe91258acb7f79f53f56012a82da997ea777b76dac0472e5f9830a93fb09703b1c0e45cbfbf641de94fcc6c609f02a5b31ad5821ba6cd48829fc5e0c4ad78e11e4cac8efbb1b170c794b7b131b0c1c4e39fdef81db9e7acced5ec824aed0c4e6b57fd1add4191e87be1446c7c519eb671205ce8c5855ad7a2b9ff7a9cd5c45336f508d0f8d2c1152dc2656650bdaf8fced642f3a4d445b5fc49910bdbdc9635de0086ee9582a796ca9f6052de805f41dfbd3e94982a05cbd36bab583dd5b1586ddbb3b1a45f1a265bec062c1a50d220870c0c622d852e650a67f31e8eb3d19e964de0926712b7f429ad05024b8db51eb6702c39580f62f037388862251bf66f02edee9615a63957eab75b28501f9f26cecd09a5c949127c9a3095036667fce8e45ba75568d5160fa1725a9e0038145d948f437640dc4441000000066e8db13a9e79d10a4e067aad448a1847b5489a62cde3054ee1e5ff2e37549d516771f06926678fa50aa7167684c1de108944b2c4a3358f5e926368009e4500a8d4d501124bc25a4c9b1cfb954503f4ae26c92221e39c680843ae55cfca972e139c82e2e4469a703a1866fa0e6d76636591f4ad07f7d1eaa19077660ad46a6f9d534970e6a49e24621b7c7c283253dd22fb24eb7819fab84bab88e42555d5437d5afe06615a7e0d103cc8595616690f1337f4345cf418724f07d0dc4d2c0899b691691f397202204ef34342b5725dc6adfe549ab0b887572ad38113c407f96fcdfeea0ffc4f333addfec296169e53e3c5b24797a20f3b2f043f5e96920de9927da466f09389d3e52a5665f380f68666a019c201e710ab4c168d5ac952a02d5909a6fcaf498a33e2124e6a828203744ee3fe70465adde0cfbccc1b4634541638ab":"0000000600000004e18760ef2c86192aee88579e376f35cd153419d622803a483e79f6d368629308a8ab6ff663c4f108b2033af290dcedfa":0 -LMS hash-sigs interop test #3 -lms_verify_test:"331D543362A163390508127AFB9894B8C18C6E0A":"0000000000000004F5378439E9C229550D40B725FD56BE48DB785093E62BD29B723C61FABEDCFD486EFA120445339DE2A21A8C7465073ACBFD6DE3E50F395AAC20E0BCB23B088C416199F80B540AA81B2C0B12B7785152263522E8F79AEBE3B28315CC834AEB68475CADBC724DB6B7B7F594A7F9DA2505F5F44DAA7EEF70B72665A250C1F61A19F3FA4CBF389BEB9B31DC327882D7983EEED46DA8E00AEBEF85AE179EBF6D8CC7F720E9F963C4D30DD4015DAA27993D0780AFD7A45688422B1444AD866FEFE12EBD94B4D313517708A6E652D6206A8B263E234685D8133C2258EF6CA9E9C6FFD6D153598B13B59576897DC4F77C71609427866A347AE62B5C3BACB0A2E44B60F2CCB4989B0C57F3E785CDCF22B1FC8C3460A163FF2BE7A578E82429BA823F392A13C11A5639A42453972D2185E81809EF0666F8F01F575FBD9A46135F45651AA814D9BA84F774A9E9303FD55038CA41A21484BA9C38E69BCE4E37052971690ED3EEC4ED9AD41B0AEAE4DCC913443B9FA5418FB75DC1725FA989BA8DB5D9E221804FC7F36F3135C8B93AFF66DF89408CFD50993D308E51DF00540F380C0AD06266B80F646B917BA58384B55658EAD2D453766C4843FCDD934E8352A6DF6A081A15BDE07BF67E977E72BFE1AC37F411111A0A4D101A2CCF95EBEC7FCFC82B45DBA88939B0831987AE4D15C05A2E08F713BB0B6BB0E2436B7F9C83D2D869432465DEB9185913DE215937EFB4A52DA50BEF88688F5AB4397A04B14CDBFA5BFD948CD6EA1122D9D3C2927DE9D066297AA2C6FE8E478EC0F41459287EF9B8A1A56164C72AE3DCE5E914E8BC3C3821E0ADD6D1C9048D71BD71F71F3A6E04E63687298DE5A3704ADA82AA369CCD7F342F79E988A7BE066CA55944E0E3712F472891761E5617DC048C69AA4C250AA1560D6591FC0E7492027BEED67310E3482B1487E41DEA5E070894A5FB93FF4462D1F60C4B1CA7C15275EEA2B3790ED12EA930FD7F7F07D60807E4AAB73D1F889DABF2E687A487F331AC17D8DE24E8448E672F87424F0D1A73721A1A987519D0E3BB91D15D012B1FCDB6E23EEA17E93869C5199984CE8A068CA96C3096273F8B23160A79EE0C208D9B70ED5E23CB3586DFD33E02D06F1C646250BD664C27D2BB9614FF5F043A6FEE1A235DA10DCAADB19205CB839BD616BB36B738AA28E1D4F767BD8BAB6C2F84887C7B2E16CF6E07AF90C1FCB6E6E5A4CC894072AF4393C63F7119FF694BF0A043AF5F0825557A99C40BABBDA97D5648687D493367812743335A8AD7696562538C8BA5DED182C4DC818E7E9F630B29A9534E2583E0F4B5862D4E4DB250A350BAF360EF133838FE55AA683E253746A704654EF692F4F818F5A172AB0B84673D0AF77CC1DF189AA5BB013E833D1B0943918768AC6A83E6BFB306D3C3786BD2C87129BFEA1C380A84C4983D262184427284BF3DEB9B4C58FB1899B07B9F60B4402618168B1445653E8E48CD92C048684302A6F5C217F110D6699707BA42316CB31FE8F4DA6B82243CF1264751225594AF1BB670339A9189163DB9E985A99BCF83A3039AF3E65BBCD8364745356B29D761853E00000006CDE5B63B9763DA3EABCFFDA517688BDEC2AE9213E6B0FD7003D95458798AE9449DE4F1135E093B39F597A34B14AAB7F596E25BA469533442F54C14921ABCC5D04A05486CD16C8564E6A19C11BEDA574A9800107DCEAD013A7E6A32966B5BBE9FDFDB0184FE0707209B6D9EC43066899717E487E5FDEE02061EA5069B2D6C9C87D6BEB1310F1B9E723AE372DB7BE9EF6657F51FD0DE62464D3B37755095829F625EA76F5FD7FCD5829863F963FCD7F9FFFF3729688D025DF7952B067C62198E4C6CE06E960B0BAC6ADBC9459D9AC0BE1BAD46F95A121BBBE6953BAA10252419E2AB6BCA1B0AA1FA64DF728160B4FB7A62499C24D269FF59977649064C5986D615E6952EA0DA5B1C04C443BC27A63D391D5BFAE824F0161791E65896DC100EAF80037FD800A5079337554BD990E0D0A1A4C4C45741E72FB3E840665F2881D2CCC5":"000000060000000461F2DF219685CF313043780A57C18071725490AB8D53B676D484238BA8C373572407938CC578045649964958C0A872FA":0 +LMS hsslms interop test #1 +# This test uses data from https://github.com/pmvr/python-hsslms due to the +# limited amount of available test vectors for LMS. The private key is stored in +# data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# pip3 install --user hsslms==0.1.2 +# +# from hsslms import LMS_Priv, LMS_ALGORITHM_TYPE, LMOTS_ALGORITHM_TYPE +# import pickle +# +# with open('tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv', 'rb') as private_key_file: +# private_key = pickle.load(private_key_file) +# +# public_key = private_key.gen_pub() +# +# message = bytes.fromhex('60da1a17c88c59da8a730e6ca8effd37') +# sig = private_key.sign(message) +# +# print('lms_verify_test:"{}":"{}":"{}":0'.format(message.hex(), sig.hex(), public_key.get_pubkey().hex())) +lms_verify_test:"60da1a17c88c59da8a730e6ca8effd37":"00000000000000041394a893e40be29923751880ca3cd10b5a67c2356c87c240e0733c3a3781b421f89dcedd553f5c1c0fdf4e53e4e484766860bf77e6a1e5911c9a389390f7d62accb581ddd4d6479c88a9ba3c20235805bb544db1da6667c5bd6caec6a5cc0afb02ebb35c1db7aac5d16446d4f8fc3518ed44ceb4eab20974627ccea5b1571a292bb2fa08ccb284957605083bfba07a33f233c66187bebd4523d095e21546be84ba56ed61768b9210fc754c78ca2d6a788e1558533d5407c45b04a0bbe6a20d0660efec80e1e468874d81c98d81acc87981c236b68695fbaf70d188617fdb86a5840c835687249f688434159035778260026d536570f24a422d5255d2572603fdf631668074dce5fc469710aa99a1f21280708e73bcd4e50492d2ff1dbaea1058974fbe9bc393a4f837987faf0175b814ebafa02095bffee2518a6fbb3555de9b3ff0c87c0c7b2c61ce3ef25e70e1a2ff5aa6dc7dfb3533e53192bc68807727b76c8752bdaa2c8d0c66e6bd94ff4df2f9fcb5609cf9bd04635743340736b84a98c3769bef074c081ebdd0fd17e853165dfa4764b23c63dd8a4a8c10b58a790ab92f81a32973f0f60d9f33d801a2c476190a7f8521a998220d8f838c3932da4dab89f62e028973b1891aa0954faf3da6174ea445c0e6ec27a58bb74000253fd3d76909298d44b3beaea58f130102cba5d928afcec92991f9483294f0fb52c16df4e98c0839e058d064921582b144602306d0a1ff623bbc1b1de106045384cb0f20db3198d99b266f83cb7c4585786477cb38b140f7cc48fecb9c5c272df2881750af48da8ace04e1b109de3a295c91373c55e8dd36cdf455c17a0b9c27cbbaa80a7571cf5d5074c384948a7e006ea6346e2e8fd1082f0d7a498c6445ed2da31014f4476e41e1367cffac8ac93b7a59bab5e23dcc9130f8e3264b2920e503246e11fbb15b599e58350cdd60e3a370c7cb0a81e73fa17eb2f12702ff3c1cb6a75d7718687d545cf9d00d4bb277905291ee86f1dfc045d9c59d6aca2faa90d2654dffc652fe89c4b37048f8c46a6410aff4e46c281c1d4b2f6ea1408d0615bac721ece31a9a69c70f3b860d730996ad735eeb376022c4828135466101cdfb2c88cf02864c40bf5c5aa63e44d58c8f28933d8d3c53883a95f4109a185b7fe6eb1d87d76823e63bf9d72d96b60d2cdcf942ca06d4f278711eb1eaadf11e9bffc7af361ae0c0fa23ba2bbc2f673a05c1ee3f3ccb3bfab4dffc4b9c234b0b9c34fd1b5f0d01c4e10cfd0800f90ade702dff2c893f098de1637de094fd959440009ccb34dff6cab72fe80e839e6e89551274e6cf6e862532f524c804259a0c8e4622c106df6431dbac870cac64f7099674c8050f5149326d961af7486e8229f5b5eba743ef78dc56b4f3acb1ed5029fba223223a5e835abd61409316a68c899abe85c0514642dff696da0be97416d774fa7f5dcc3aa2c8469b47516f7b27cbbc66faa4e62b6a3201f7976ea20b89ef349a497967c093e3431df9d619a11ed2cd930324438f4cc9d11654e0c9d229d6bd239487598a3482f63294e9e85c29a576b1c86d0884000000064c6b6388b7436123dac99e0ec7fe53b075e2ba9844505ce1eb3c7f70332c6ac543dcda2e63b26f5efa39ced6095a54625e67ab25d3df068e903eaaee894ac0f1fdeb4a2f1390f655db3608583eacfb0be4282f7bd1c42c5d748d524d7cdcd45878dea56cbc11a63bebbd74a5413ce72a931b1d4794c78c4cf16315bf2e055bb3305fe0272c8b916856cc27aa7a773ddce62afa7bb4da76c287e0ed3ed10452512de82c051f17b49c608b1a259e16a3812c0de684f2cb1ee59296c375376f146e2b0cc299ef41ed8e6fdf0557ec8d95fa026970f8d47c8347fed1e37e018413c5e813d1726ea18bc926ed02840349ab3b2adc8758a9cd57be38e9e76869762a81bb79721ca1c031c9dfdc3735fe9318064b62c2a7e8e2ec099963257b0705aac812dbc8cc3fbeea81af7c0d592c7e2ad1c21e877d4ae392b13ac1b57a8311d406":"000000060000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":0 -LMS hash-sigs interop negative test (altered random value) -lms_verify_test:"D5557C719EBB0DBECF563E5CDB16568BB11CD779":"0000000000000004B167A9AC495BD4EA34CD8EE5AAA2A656D518C33612FD87171421BFC3977CFA99765C6D496499C72A1DE21360DA57EB96BC83DB8AA92E560054C7805B04E336162FB4C411B509F76959F2458B0E53CF830E0145CCD439D494259EA4818CA68924A7E8B9DD36D6A9C7849B72F9338ED6C80A3E70B717E8E65B991B2FF9D8B49820E8ABC9E2ECC17DB38E855DA75D84DF9885C7F9DFB4ABC209CFF1D37D66595371D688A203CB89168945200C39169F784B19665CE1FB47D58BFA734C3E0E7E31D1206A033C6D8E25B7E45CA779A5FDE00C6B1CAC44884F2B52A380E1F6D8753549F7F4948A95AEA83703CF3AA108FA4F735AFC0DA1A03C378033D8B5959E7BE05D3C5070E709181AC09EFEC04128ABD7E8F37304FAD4B66373D4A83CFC1EF632DF6DB95577C2C6101CBDC807109ED8AE831FFB73DBC80942C58F334663B980F982C74B943BF7C57147250AADE595310387E3BB1A2705E9EC73DE7FABDA5EC0B1141A18798215B9A70F8D688357C833ED869059A2AA3360155EF84426288198D0FBB78223816B17093684C48942ED18FCD351C34E108E5B71D1CE39E318B5D991B650C46A91112E013E1180F2054C7A22429CAB31512BA34EA3AD9B68C5001EB70C993297CCF11914ECAF059922DAEE7D90ACE2567495ADA066E7DA1679CA45DAC1990B17184E7BE2E6A0F26AD77F19855D074F5B37372277484CE30B80A0540173C1B310C3E7B683A487B5D0676218EA1F65FEA444C493FC535E948EAB62252DCC90516BB45B60D4253DB6979FE342DC5CA1B86B01B2D8EBA79B0BC7B6984535616B792BB45F3C0E20B506E0694E1D5BA28FE96D34FE2BE354777D090404DD3508E9F7918FF5593ADB468478CA8A1F6AF752CC76F401E373B71471D9D70F455C8A73E4E7B6714394B1DD0E2A816AF3D5149835DAE477A70DEE0BDAC22F99A04BFB7C2D4AD53079C326F620DFD3F7CED4AB7F2E291507AA046331050F9E2205C52B36CBAEE817C5C3B1FBCDE61C54C8CB7B67E0570FA44728EC8FD091D5CEDC19C6B99840F7A0E49086F707E959D34B30E255B67BBAA24FADE532BF3D21825626E114BD8213170B0C2F01733D4ED420D01EE3ACD5F84DACE674AE7127DB0A80ACE252CAD9ADADDAFAB27281AFD6DDD72DB5AF878326C45D7DB1EFF8BC40895A3473A52461D076881310AD9937307217B5C0448B509EF9BA075936CC09E11B8838D3A6BC5EF9FAEA85A3EC87EEFDF2E38CD9732730085375A4FFC4E0A213B0E1FC3DE2D37F1EDACC3030F617F3459A03BFCF776A05FD3B7FD135782F6D6E7C5E92B56A1316525B26D3AE1CEA3C0C7CF3AA7B1E72B7599A31B50837D79A7AB61B9A9E2B7AABD2D605C97E302EB4B66C0588C24147955EA0892A54D42843568FE0863E7EFEAE336D302E672EA62689B4DAA02DD5BC99D93886EC7F411C53CE1CAEAB59FBC0B06E0E294F1900F8C626C6FF520AE2323DA797CDC120DBC19F7FEBA0E13429508C5B838A0F8B9B28A069C5DD40E2F6CC2C95FC6ACE7E1351516817BD2DC1AE08D498AD2B0BD1D8374942FF31FC6A4689C592244C919C3561E73DD4986FA500000006BBF34F6EE152B64FCDD1CB6848D2DA761798707060431761006E2EBD9312851F4F3DF3C46E10F643DDD58CB3D9F4D371F655EE26271F2DDE84A14CAA6A077DD96AF83849DE6CA8F2F3248902CBF49630C18C3EE3123D951CE9162D0E742B899AF9E5DA8D28A41C7CADF0194CDB09418BF48BF322F8C5E9563524196FA8AB785B43C4EA41A36148028D2F4C7356CDEEB09532CD7F2C80FC36589FF7A9954100C8697AEB014997C3088C242B4F70D26CE7F7E77384A9CF536EC5C5329E08BD6C1D65EFEFC1389A42D16FFB43A0E1D7661220E92A4A59703FB28410E73A677E803D4441929DFD7269E6F77AE8CA8C70B67B250A8728291EA5D4E3F03D505639408C88156DCBECC137142FA3585C09D99B84D8C380A5D29CE2ADA10A25F7CF939FE23288551F37FE2B7233BF97C0F5726B972E087BCBA095957CCD794794A4F50027":"00000006000000046B0927585C8547228D495361D73B970C287A2254BF8F1B170E55ACC9520A56CE5D2C711B6617718B49247D28CCC6D11D":MBEDTLS_ERR_LMS_VERIFY_FAILED +LMS hsslms interop test #2 +# This test uses data from https://github.com/pmvr/python-hsslms due to the +# limited amount of available test vectors for LMS. The private key is stored in +# data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv +# +# To produce another signature with this message and key (note that the actual +# signature bytes will differ due to randomization): +# pip3 install --user hsslms==0.1.2 +# +# from hsslms import LMS_Priv, LMS_ALGORITHM_TYPE, LMOTS_ALGORITHM_TYPE +# import pickle +# +# with open('tests/data_files/lms_hsslms_sha256_m32_h5_lmots_sha256_n32_w8_prv', 'rb') as private_key_file: +# private_key = pickle.load(private_key_file) +# +# public_key = private_key.gen_pub() +# +# message = bytes.fromhex('60da1a17c88c59da8a730e6ca8effd37') +# sig = private_key.sign(message) +# +# message = bytes.fromhex('92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1') +# sig = private_key.sign(message) +# +# print('lms_verify_test:"{}":"{}":"{}":0'.format(message.hex(), sig.hex(), public_key.get_pubkey().hex())) +lms_verify_test:"92d036bde8c45b8bb5dea2a072560b1e29fc4bb7dc4549ce90bccee8a6e962a1":"00000001000000042e758f2a0e8f301af58847b6973a15fe4856b91af88a1ff601e2f0e87bde33afbc39202a66e38931fbecd7d493cf957b37eeb57ed2e4d8f693b97adafa8241746d775cfb9471688d935e090581eb8586e7004d6b8855963d82ccb6f79df2d93dd35848556da6735def0f0c6c8fc969c1df692341f6a99626eff37d20226cef361c8802a995fa43535fe2336d8ae468c78eb6a7082e27c2c6317c034369b588e3d65a2eeac9804b427702dc49f681a841076813ed407399aa778259e7c34c750baa6d296a384e1274facaba9e2214d197628f5df7b2bf3896fedeab377b8edb775d6e8d67f1474ba3066794447f8f8e0c13552a007557a1f1c3b9bd2b41d9b446c6bcf36c828fd4c80850a31ee603065f5cc90d198df03835195b14e27da7bf727a16081fcc787f1dc7fa6da8b9ff908fb2c02d6f2a183486de0e39cd7da7fcdee0c8e96876c56ad9b0b18e4e4999e2c81a618aa4b27e050ce488dbb1e79089131afacc446cdf15b625f4e011f8d8160bb93f326bca3bb56fa41e34893d55f17d746fc142297997c5dbbba8f6b6c80678168ba455f12bac6982e5192de5462a46e14a45a01ce9e07279aa301dfd0fa9a12c6a55059b19a19d7afbe99779ea130ddeeb5ecb67d2ddb6c1c5d198e421b78091efa5aa429e1eb052760c0d8e2eb0c0ced000e93f7f265611a385f77c0cece0496eb29010f710e70a768d3713f0b7fc60c8ce372dc3234f27c7a1c2776a939ef70c7be869337b967df2223d4f20dca697e3bb6d0e53bbad153ff08d579f60c8535710f253b90e73ee9a19e1e57df66ec6c85ad1b4cea28a9d62fc5a4cf130f70b910dbc7e6f0e6b0cce1a1b5ff106b7f0b101405c0989084b2c94977116b98d15d6062a8d77d660aa813d432cf3338484308b7beed10236081f52da44eb807f9a75fd4cc1ba998ef3fc2e4791712597c786dd46431468bb4a1975a6cd854a1da23912fc99160f51df484efc9371c2d8e028d9468635cf93226f5a8834d14cead59e5d2a61dd6440d7b91c903ae8823907b75595c4828c7710036b347dcfb67f8561e835a53f569c8b3a1cd4317b2a6b2243100ee3d9468f9191acf2276d18dde9ebf2e11a48ba1fc1a15dc51091d3358d8d1f65ec7d84b97bb1669a9141f74065454f08e5ef25432b7635b8ec673ca70e4b3c25d07975a6fb725a56f28c1b5a81a6da2fe0a2c3474275926f9819a25b942462a68097e1cf6d9ae94f6b1f76b54addaeda04f9fc8db025fd6c453e1ad928f9323bf1381fce1893938828612728185d22a3d45d21ce762c066ab53a582c487d76d431e5b8f65a382142dd823d4620931e5572a4e6aee69986421afa119634bc8ea88aa6535c4d619ca0e0af94934637bc0c834e5e2a7a2853fa73835d00e13e5f26ad085ef66c8efb60097860cb199e03596a3b8f0ec78690d527bbc9363dd9702226788b1529871df74918ae2a4e02745043bd5ee8ab027826fb4cd54b0c27d99076757a1b41e2725ec02adc7926e8213796a8aa1740a2dc675437771e0364a83b0bd64c9620f6c203d92626ff29ef736eac0e13c71fd1957333ee0048000000061f7b7d6f916710efe9ed625ae689c67b3cc1cdf0d672e58c0b86b3839bbba2c243dcda2e63b26f5efa39ced6095a54625e67ab25d3df068e903eaaee894ac0f1fdeb4a2f1390f655db3608583eacfb0be4282f7bd1c42c5d748d524d7cdcd45878dea56cbc11a63bebbd74a5413ce72a931b1d4794c78c4cf16315bf2e055bb3305fe0272c8b916856cc27aa7a773ddce62afa7bb4da76c287e0ed3ed10452512de82c051f17b49c608b1a259e16a3812c0de684f2cb1ee59296c375376f146e2b0cc299ef41ed8e6fdf0557ec8d95fa026970f8d47c8347fed1e37e018413c5e813d1726ea18bc926ed02840349ab3b2adc8758a9cd57be38e9e76869762a81bb79721ca1c031c9dfdc3735fe9318064b62c2a7e8e2ec099963257b0705aac812dbc8cc3fbeea81af7c0d592c7e2ad1c21e877d4ae392b13ac1b57a8311d406":"000000060000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":0 LMS negative test (invalid lms type) #1 -lms_verify_test:"0000000000000000000000000000000000000000":"000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000700000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA +# This test uses the data from hash-sigs interop test #1. This test has a valid +# LMOTS type (0x4) but an invalid LMS type (0x5), and should fail. +lms_verify_test:"bfff9cd687351db88a98c71fd2f9b927a0ee600130a112533b791041d30cb91665fc369a5ac7cc9a04547414ac45288081d19d4a600579c73ac4bc953de03ad6":"0000000000000004e474c96c496b231ecedcd92566ab3e1cdfac83f7e56abaae6571401e212e59bdbcc18105e0709249510d13d7ae1091558c217033316ac70a36aae764bd0f4032e369453c634b81061079d216d03d3c55976a1aabc00287b307297ae03587ba20839460daae85d26dfcef7638c10a1d8559612e5e9ced1a4205a52ca0ce88e58602e59cf9ab34adf2e958e56570573297b99f733fbbf58d2440526fd4dc15c5509e8a11405f6c08772abcf58731fbf9a73642670e3247c5f70905f0fa81f6174bf32977209923507525a170fcd260e81f04193583fbcd305ac245c80eb337ca326fd1105e73748fab8a1f0c8d8a99f011718e7aae027a34d2a85ff18769fa277810126a86b51b096a04d8e28a4fb8c5e14e50a67cb1ee88e43e5cc077902442f5d9c55ac2b8acdd76c67bc740c6083aba4e3cb404c23f1f3118337563fef6a4b01fb476810c5b5682d0aecdccd55c85a4af50e9150f7d83dcccd8e822a302e6e5a52e00505e6e65338dcfb9cfbe22594e9e18ebde36af29450c5ea31523019cf64fd6eca8c77d98c2a146dcedd51bf6c61c1f7cacbce3ab20c8606930cc42737e17f2703cf0980aef560768d1ac5585c05a60a5f94db15f5ac4d4df5cbd81430878d4e9b77346e3a6538b80b80873e3e6c37860470091979296631440adb8cc71991aba2a4dd2884764878306fe774a25512cfbf080f2829ea2903ffa748dd187c21aef918ee3436a1bd336c3d09cc1f748d7528db90a98f69078b82c4d23de7bcec092a292d2b8cac71a5c87d008f128b89a5e608a4501aef41e9f17e4056ed4767957188f780159daebf327751386980b0fca5a2d36b141acff957f46ce2381897099619475db9d3a613e7ef98b056f42b4d6eafb1d62eebbe46a7502f893fbd36ccfb12a280f45ffb93f050eb280bf0a6cd640abdea8590bffb98bdb29ee3a31daa0fa3ab35fee11dc1b7d1fcea82b0e284b2e35b34e77c3f401ed887e7fc6c97b327f76f99caca2f355afa2753a8923bfb06fb2a9df08d31c93882e34ef5a3cccc9d078855334bdf909ae418b177724c42fb1d586d212c4474932acce295236030f4379158957300fe9fdc5cc9145e3ded50cf9f5a8e19321961536c4a47fffc3eb4383fb78a5d2aeed5b45b92132b5e2a53e3b67841fa2e1bd217ee2c30812c4eb1bd4f8c85b328e23d27f12a2fad5c6b236c87f8fd1aad441416e53ebd4d45d4bf601b94eb37dc9a065218ae58e69dba1250bb20626baeda961b3ef11d217697e73f41fa3870d726a032bc4a388fb12c023822945df058e22f54e5f6377eab34297c57883515204fc189d0d4b0ad9bacb24acf7f9d55e7c6368bb8ababd7622f586ec22683306c5d88d5244219a3952adbd85c89893a441a58b532e15600cd5afdbb5b441e1670b72656c7995189bdf993154e09912db8c4ddaff0e75591720230cf99c8b71cd841dffc4372c5e0f9ff906a379d28d6884351609bf7c849ebfabfb049ae986bbb8467251dbf5ccdd05a86ff6ce1392f7ca1bd49595ad9ad805d71b389afab1865f7f69dc24662af19934f025ced212536509500c132aec000000058b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":MBEDTLS_ERR_LMS_VERIFY_FAILED LMS negative test (invalid lms type) #2 -lms_verify_test:"0000000000000000000000000000000000000000":"000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA +# This test uses the data from hash-sigs interop test #1. This test has a valid +# LMOTS type (0x4) but an invalid LMS type (0x7), and should fail. +lms_verify_test:"bfff9cd687351db88a98c71fd2f9b927a0ee600130a112533b791041d30cb91665fc369a5ac7cc9a04547414ac45288081d19d4a600579c73ac4bc953de03ad6":"0000000000000004e474c96c496b231ecedcd92566ab3e1cdfac83f7e56abaae6571401e212e59bdbcc18105e0709249510d13d7ae1091558c217033316ac70a36aae764bd0f4032e369453c634b81061079d216d03d3c55976a1aabc00287b307297ae03587ba20839460daae85d26dfcef7638c10a1d8559612e5e9ced1a4205a52ca0ce88e58602e59cf9ab34adf2e958e56570573297b99f733fbbf58d2440526fd4dc15c5509e8a11405f6c08772abcf58731fbf9a73642670e3247c5f70905f0fa81f6174bf32977209923507525a170fcd260e81f04193583fbcd305ac245c80eb337ca326fd1105e73748fab8a1f0c8d8a99f011718e7aae027a34d2a85ff18769fa277810126a86b51b096a04d8e28a4fb8c5e14e50a67cb1ee88e43e5cc077902442f5d9c55ac2b8acdd76c67bc740c6083aba4e3cb404c23f1f3118337563fef6a4b01fb476810c5b5682d0aecdccd55c85a4af50e9150f7d83dcccd8e822a302e6e5a52e00505e6e65338dcfb9cfbe22594e9e18ebde36af29450c5ea31523019cf64fd6eca8c77d98c2a146dcedd51bf6c61c1f7cacbce3ab20c8606930cc42737e17f2703cf0980aef560768d1ac5585c05a60a5f94db15f5ac4d4df5cbd81430878d4e9b77346e3a6538b80b80873e3e6c37860470091979296631440adb8cc71991aba2a4dd2884764878306fe774a25512cfbf080f2829ea2903ffa748dd187c21aef918ee3436a1bd336c3d09cc1f748d7528db90a98f69078b82c4d23de7bcec092a292d2b8cac71a5c87d008f128b89a5e608a4501aef41e9f17e4056ed4767957188f780159daebf327751386980b0fca5a2d36b141acff957f46ce2381897099619475db9d3a613e7ef98b056f42b4d6eafb1d62eebbe46a7502f893fbd36ccfb12a280f45ffb93f050eb280bf0a6cd640abdea8590bffb98bdb29ee3a31daa0fa3ab35fee11dc1b7d1fcea82b0e284b2e35b34e77c3f401ed887e7fc6c97b327f76f99caca2f355afa2753a8923bfb06fb2a9df08d31c93882e34ef5a3cccc9d078855334bdf909ae418b177724c42fb1d586d212c4474932acce295236030f4379158957300fe9fdc5cc9145e3ded50cf9f5a8e19321961536c4a47fffc3eb4383fb78a5d2aeed5b45b92132b5e2a53e3b67841fa2e1bd217ee2c30812c4eb1bd4f8c85b328e23d27f12a2fad5c6b236c87f8fd1aad441416e53ebd4d45d4bf601b94eb37dc9a065218ae58e69dba1250bb20626baeda961b3ef11d217697e73f41fa3870d726a032bc4a388fb12c023822945df058e22f54e5f6377eab34297c57883515204fc189d0d4b0ad9bacb24acf7f9d55e7c6368bb8ababd7622f586ec22683306c5d88d5244219a3952adbd85c89893a441a58b532e15600cd5afdbb5b441e1670b72656c7995189bdf993154e09912db8c4ddaff0e75591720230cf99c8b71cd841dffc4372c5e0f9ff906a379d28d6884351609bf7c849ebfabfb049ae986bbb8467251dbf5ccdd05a86ff6ce1392f7ca1bd49595ad9ad805d71b389afab1865f7f69dc24662af19934f025ced212536509500c132aec000000078b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":MBEDTLS_ERR_LMS_VERIFY_FAILED LMS negative test (invalid lm_ots type) #1 -lms_verify_test:"0000000000000000000000000000000000000000":"000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000600000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA +# This test uses the data from hash-sigs interop test #1. This test has an +# invalid LMOTS type (0x3) but a valid LMS type (0x6), and should fail. +lms_verify_test:"bfff9cd687351db88a98c71fd2f9b927a0ee600130a112533b791041d30cb91665fc369a5ac7cc9a04547414ac45288081d19d4a600579c73ac4bc953de03ad6":"0000000000000003e474c96c496b231ecedcd92566ab3e1cdfac83f7e56abaae6571401e212e59bdbcc18105e0709249510d13d7ae1091558c217033316ac70a36aae764bd0f4032e369453c634b81061079d216d03d3c55976a1aabc00287b307297ae03587ba20839460daae85d26dfcef7638c10a1d8559612e5e9ced1a4205a52ca0ce88e58602e59cf9ab34adf2e958e56570573297b99f733fbbf58d2440526fd4dc15c5509e8a11405f6c08772abcf58731fbf9a73642670e3247c5f70905f0fa81f6174bf32977209923507525a170fcd260e81f04193583fbcd305ac245c80eb337ca326fd1105e73748fab8a1f0c8d8a99f011718e7aae027a34d2a85ff18769fa277810126a86b51b096a04d8e28a4fb8c5e14e50a67cb1ee88e43e5cc077902442f5d9c55ac2b8acdd76c67bc740c6083aba4e3cb404c23f1f3118337563fef6a4b01fb476810c5b5682d0aecdccd55c85a4af50e9150f7d83dcccd8e822a302e6e5a52e00505e6e65338dcfb9cfbe22594e9e18ebde36af29450c5ea31523019cf64fd6eca8c77d98c2a146dcedd51bf6c61c1f7cacbce3ab20c8606930cc42737e17f2703cf0980aef560768d1ac5585c05a60a5f94db15f5ac4d4df5cbd81430878d4e9b77346e3a6538b80b80873e3e6c37860470091979296631440adb8cc71991aba2a4dd2884764878306fe774a25512cfbf080f2829ea2903ffa748dd187c21aef918ee3436a1bd336c3d09cc1f748d7528db90a98f69078b82c4d23de7bcec092a292d2b8cac71a5c87d008f128b89a5e608a4501aef41e9f17e4056ed4767957188f780159daebf327751386980b0fca5a2d36b141acff957f46ce2381897099619475db9d3a613e7ef98b056f42b4d6eafb1d62eebbe46a7502f893fbd36ccfb12a280f45ffb93f050eb280bf0a6cd640abdea8590bffb98bdb29ee3a31daa0fa3ab35fee11dc1b7d1fcea82b0e284b2e35b34e77c3f401ed887e7fc6c97b327f76f99caca2f355afa2753a8923bfb06fb2a9df08d31c93882e34ef5a3cccc9d078855334bdf909ae418b177724c42fb1d586d212c4474932acce295236030f4379158957300fe9fdc5cc9145e3ded50cf9f5a8e19321961536c4a47fffc3eb4383fb78a5d2aeed5b45b92132b5e2a53e3b67841fa2e1bd217ee2c30812c4eb1bd4f8c85b328e23d27f12a2fad5c6b236c87f8fd1aad441416e53ebd4d45d4bf601b94eb37dc9a065218ae58e69dba1250bb20626baeda961b3ef11d217697e73f41fa3870d726a032bc4a388fb12c023822945df058e22f54e5f6377eab34297c57883515204fc189d0d4b0ad9bacb24acf7f9d55e7c6368bb8ababd7622f586ec22683306c5d88d5244219a3952adbd85c89893a441a58b532e15600cd5afdbb5b441e1670b72656c7995189bdf993154e09912db8c4ddaff0e75591720230cf99c8b71cd841dffc4372c5e0f9ff906a379d28d6884351609bf7c849ebfabfb049ae986bbb8467251dbf5ccdd05a86ff6ce1392f7ca1bd49595ad9ad805d71b389afab1865f7f69dc24662af19934f025ced212536509500c132aec000000068b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":MBEDTLS_ERR_LMS_VERIFY_FAILED LMS negative test (invalid lm_ots type) #2 -lms_verify_test:"0000000000000000000000000000000000000000":"000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000600000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA +# This test uses the data from hash-sigs interop test #1. This test has an +# invalid LMOTS type (0x5) but a valid LMS type (0x6), and should fail. +lms_verify_test:"bfff9cd687351db88a98c71fd2f9b927a0ee600130a112533b791041d30cb91665fc369a5ac7cc9a04547414ac45288081d19d4a600579c73ac4bc953de03ad6":"0000000000000005e474c96c496b231ecedcd92566ab3e1cdfac83f7e56abaae6571401e212e59bdbcc18105e0709249510d13d7ae1091558c217033316ac70a36aae764bd0f4032e369453c634b81061079d216d03d3c55976a1aabc00287b307297ae03587ba20839460daae85d26dfcef7638c10a1d8559612e5e9ced1a4205a52ca0ce88e58602e59cf9ab34adf2e958e56570573297b99f733fbbf58d2440526fd4dc15c5509e8a11405f6c08772abcf58731fbf9a73642670e3247c5f70905f0fa81f6174bf32977209923507525a170fcd260e81f04193583fbcd305ac245c80eb337ca326fd1105e73748fab8a1f0c8d8a99f011718e7aae027a34d2a85ff18769fa277810126a86b51b096a04d8e28a4fb8c5e14e50a67cb1ee88e43e5cc077902442f5d9c55ac2b8acdd76c67bc740c6083aba4e3cb404c23f1f3118337563fef6a4b01fb476810c5b5682d0aecdccd55c85a4af50e9150f7d83dcccd8e822a302e6e5a52e00505e6e65338dcfb9cfbe22594e9e18ebde36af29450c5ea31523019cf64fd6eca8c77d98c2a146dcedd51bf6c61c1f7cacbce3ab20c8606930cc42737e17f2703cf0980aef560768d1ac5585c05a60a5f94db15f5ac4d4df5cbd81430878d4e9b77346e3a6538b80b80873e3e6c37860470091979296631440adb8cc71991aba2a4dd2884764878306fe774a25512cfbf080f2829ea2903ffa748dd187c21aef918ee3436a1bd336c3d09cc1f748d7528db90a98f69078b82c4d23de7bcec092a292d2b8cac71a5c87d008f128b89a5e608a4501aef41e9f17e4056ed4767957188f780159daebf327751386980b0fca5a2d36b141acff957f46ce2381897099619475db9d3a613e7ef98b056f42b4d6eafb1d62eebbe46a7502f893fbd36ccfb12a280f45ffb93f050eb280bf0a6cd640abdea8590bffb98bdb29ee3a31daa0fa3ab35fee11dc1b7d1fcea82b0e284b2e35b34e77c3f401ed887e7fc6c97b327f76f99caca2f355afa2753a8923bfb06fb2a9df08d31c93882e34ef5a3cccc9d078855334bdf909ae418b177724c42fb1d586d212c4474932acce295236030f4379158957300fe9fdc5cc9145e3ded50cf9f5a8e19321961536c4a47fffc3eb4383fb78a5d2aeed5b45b92132b5e2a53e3b67841fa2e1bd217ee2c30812c4eb1bd4f8c85b328e23d27f12a2fad5c6b236c87f8fd1aad441416e53ebd4d45d4bf601b94eb37dc9a065218ae58e69dba1250bb20626baeda961b3ef11d217697e73f41fa3870d726a032bc4a388fb12c023822945df058e22f54e5f6377eab34297c57883515204fc189d0d4b0ad9bacb24acf7f9d55e7c6368bb8ababd7622f586ec22683306c5d88d5244219a3952adbd85c89893a441a58b532e15600cd5afdbb5b441e1670b72656c7995189bdf993154e09912db8c4ddaff0e75591720230cf99c8b71cd841dffc4372c5e0f9ff906a379d28d6884351609bf7c849ebfabfb049ae986bbb8467251dbf5ccdd05a86ff6ce1392f7ca1bd49595ad9ad805d71b389afab1865f7f69dc24662af19934f025ced212536509500c132aec000000068b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":MBEDTLS_ERR_LMS_VERIFY_FAILED LMS negative test (invalid leaf ID) -lms_verify_test:"0000000000000000000000000000000000000000":"000004000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":"0000000600000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_LMS_VERIFY_FAILED +# This test uses the data from hash-sigs interop test #1. In this case, +# the leaf ID is 1024, which is invalid for MBEDTLS_LMS_SHA256_M32_H10. This +# test should fail to verify the signature. +lms_verify_test:"bfff9cd687351db88a98c71fd2f9b927a0ee600130a112533b791041d30cb91665fc369a5ac7cc9a04547414ac45288081d19d4a600579c73ac4bc953de03ad6":"0000040000000004e474c96c496b231ecedcd92566ab3e1cdfac83f7e56abaae6571401e212e59bdbcc18105e0709249510d13d7ae1091558c217033316ac70a36aae764bd0f4032e369453c634b81061079d216d03d3c55976a1aabc00287b307297ae03587ba20839460daae85d26dfcef7638c10a1d8559612e5e9ced1a4205a52ca0ce88e58602e59cf9ab34adf2e958e56570573297b99f733fbbf58d2440526fd4dc15c5509e8a11405f6c08772abcf58731fbf9a73642670e3247c5f70905f0fa81f6174bf32977209923507525a170fcd260e81f04193583fbcd305ac245c80eb337ca326fd1105e73748fab8a1f0c8d8a99f011718e7aae027a34d2a85ff18769fa277810126a86b51b096a04d8e28a4fb8c5e14e50a67cb1ee88e43e5cc077902442f5d9c55ac2b8acdd76c67bc740c6083aba4e3cb404c23f1f3118337563fef6a4b01fb476810c5b5682d0aecdccd55c85a4af50e9150f7d83dcccd8e822a302e6e5a52e00505e6e65338dcfb9cfbe22594e9e18ebde36af29450c5ea31523019cf64fd6eca8c77d98c2a146dcedd51bf6c61c1f7cacbce3ab20c8606930cc42737e17f2703cf0980aef560768d1ac5585c05a60a5f94db15f5ac4d4df5cbd81430878d4e9b77346e3a6538b80b80873e3e6c37860470091979296631440adb8cc71991aba2a4dd2884764878306fe774a25512cfbf080f2829ea2903ffa748dd187c21aef918ee3436a1bd336c3d09cc1f748d7528db90a98f69078b82c4d23de7bcec092a292d2b8cac71a5c87d008f128b89a5e608a4501aef41e9f17e4056ed4767957188f780159daebf327751386980b0fca5a2d36b141acff957f46ce2381897099619475db9d3a613e7ef98b056f42b4d6eafb1d62eebbe46a7502f893fbd36ccfb12a280f45ffb93f050eb280bf0a6cd640abdea8590bffb98bdb29ee3a31daa0fa3ab35fee11dc1b7d1fcea82b0e284b2e35b34e77c3f401ed887e7fc6c97b327f76f99caca2f355afa2753a8923bfb06fb2a9df08d31c93882e34ef5a3cccc9d078855334bdf909ae418b177724c42fb1d586d212c4474932acce295236030f4379158957300fe9fdc5cc9145e3ded50cf9f5a8e19321961536c4a47fffc3eb4383fb78a5d2aeed5b45b92132b5e2a53e3b67841fa2e1bd217ee2c30812c4eb1bd4f8c85b328e23d27f12a2fad5c6b236c87f8fd1aad441416e53ebd4d45d4bf601b94eb37dc9a065218ae58e69dba1250bb20626baeda961b3ef11d217697e73f41fa3870d726a032bc4a388fb12c023822945df058e22f54e5f6377eab34297c57883515204fc189d0d4b0ad9bacb24acf7f9d55e7c6368bb8ababd7622f586ec22683306c5d88d5244219a3952adbd85c89893a441a58b532e15600cd5afdbb5b441e1670b72656c7995189bdf993154e09912db8c4ddaff0e75591720230cf99c8b71cd841dffc4372c5e0f9ff906a379d28d6884351609bf7c849ebfabfb049ae986bbb8467251dbf5ccdd05a86ff6ce1392f7ca1bd49595ad9ad805d71b389afab1865f7f69dc24662af19934f025ced212536509500c132aec000000068b991bed50319a6cb9ff040b92f1563889b3787c37145fc9737d4643f66ade33ebd85a2c29b8c64a581cff01b89d59807d6fade2d2c88872f77d0ed83d97c4b5438681d0b95feb973125e4ee70ebe11699290b831e86571e36513a71f159d48ce563f6814cc2a89851d2520c5275b34cc83614cab14c0d197166580d800ee6b9004b8fd72daac8d73c36c1623c37be93ba49a06c4efde238a3a10a05daba5d4942f7de52648af2be31f33e723b3605346282f5d5e356c5d0004eea40fe0b80abf658f6c96c56319ab53d7fefb5879e0136d1cf320973a2f47c1ee3d21554910f09d17afac4607657c4309890957a4954bf86e2a8491ba37dd88b2c3fe3c7edebd767c400bc23e40d165b27133c726b90bc26cbb2a86a6aa400c47aa7ffc538388de8490b9349afa53b814ffe2a56ff16a496e9648284193754f989f6f12aeb6e":"0000000600000004d96bb26744d99ef624e32161c36d3d6efcdd0484e2b17a6dd183125be4b1af1cda931a91a3acb1151877c174f7943fd9":MBEDTLS_ERR_LMS_VERIFY_FAILED LMS import/export test -lms_import_export_test:"00000006000000046B0927585C8547228D495361D73B970C287A2254BF8F1B170E55ACC9520A56CE5D2C711B6617718B49247D28CCC6D11D" +# This test uses the key from hsslms interop test 1, imports it, exports it and +# tests that it is the same. It also checks if the export correctly fail when +# the buffer is too small. +lms_import_export_test:"000000060000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":0 + +LMS key import too large key test +# This test uses the valid public key for hsslms interop test 1, add an extra +# byte, and then imports it. This should fail. +lms_import_export_test:"000000060000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d00":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import too small key test +# This test uses the valid public key for hsslms interop test 1, removes a byte, +# and then imports it. This should fail. +lms_import_export_test:"000000060000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import no LMS type test +# This test uses the valid public key for hsslms interop test 1, cuts it down so +# it's smaller than the LMS type offset, and imports it. This should fail, and +# not attempt to read invalidly outside the buffer. +lms_import_export_test:"000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import no LMOTS type test +# This test uses the valid public key for hsslms interop test 1, cuts it down so +# it's smaller than the LMOTS type offset, and imports it. This should fail, and +# not attempt to read invalidly outside the buffer. +lms_import_export_test:"00000006000000":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import invalid LMS type test #1 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMS type to 0x5, and imports it. This should fail. +lms_import_export_test:"000000050000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import invalid LMS type test #2 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMS type to 0x7, and imports it. This should fail, and not attempt to read +# invalidly outside the buffer. +lms_import_export_test:"000000070000000447cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import invalid LMOTS type test #1 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMOTS type to 0x3, and imports it. This should fail. +lms_import_export_test:"000000060000000347cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":MBEDTLS_ERR_LMS_BAD_INPUT_DATA + +LMS key import invalid LMOTS type test #2 +# This test uses the valid public key for hsslms interop test 1, alters the +# LMOTS type to 0x5, and imports it. This should fail, and not attempt to read +# invalidly outside the buffer. +lms_import_export_test:"000000060000000547cc5b29dd0cecd01c382434a6d16864d51b60cdb2a9eed2419015d8524c717ce38a865d7a37da6c84f94621ad595f5d":MBEDTLS_ERR_LMS_BAD_INPUT_DATA diff --git a/tests/suites/test_suite_lms.function b/tests/suites/test_suite_lms.function index c3ebb9214f..c5c8aa4b90 100644 --- a/tests/suites/test_suite_lms.function +++ b/tests/suites/test_suite_lms.function @@ -1,84 +1,201 @@ /* BEGIN_HEADER */ #include "mbedtls/lms.h" -#include "mbedtls/entropy.h" -#include "mbedtls/ctr_drbg.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES - * depends_on:MBEDTLS_LMS_C:MBEDTLS_SHA256_C:MBEDTLS_CTR_DRBG_C + * depends_on:MBEDTLS_LMS_C * END_DEPENDENCIES */ -/* BEGIN_CASE */ -void lms_sign_verify_test ( data_t * msg ) +/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */ +void lms_sign_verify_test ( data_t *msg, data_t *seed ) { - mbedtls_lms_context ctx; - unsigned char sig[MBEDTLS_LMS_SIG_LEN]; - mbedtls_entropy_context entropy_ctx; - mbedtls_ctr_drbg_context drbg_ctx; - uint8_t seed[16]; - int rc; - - mbedtls_entropy_init( &entropy_ctx ); - mbedtls_ctr_drbg_init( &drbg_ctx ); - mbedtls_lms_init( &ctx ); + mbedtls_lms_public_t pub_ctx; + mbedtls_lms_private_t priv_ctx; + unsigned char sig[MBEDTLS_LMS_SIG_LEN(MBEDTLS_LMS_SHA256_M32_H10, MBEDTLS_LMOTS_SHA256_N32_W8)]; - TEST_ASSERT( mbedtls_ctr_drbg_seed( &drbg_ctx, mbedtls_entropy_func, - &entropy_ctx, ( uint8_t* )"", 0 ) == 0 ); - TEST_ASSERT( mbedtls_ctr_drbg_random( &drbg_ctx, seed, sizeof( seed ) ) == 0 ); + mbedtls_lms_public_init( &pub_ctx ); + mbedtls_lms_private_init( &priv_ctx ); - TEST_ASSERT( mbedtls_lms_set_algorithm_type( &ctx, MBEDTLS_LMS_SHA256_M32_H10, MBEDTLS_LMOTS_SHA256_N32_W8 ) == 0 ); + /* Allocation failure isn't a test failure, since it likely just means + * there's not enough memory to run the test. + */ + TEST_EQUAL( mbedtls_lms_generate_private_key( &priv_ctx, MBEDTLS_LMS_SHA256_M32_H10, + MBEDTLS_LMOTS_SHA256_N32_W8, + mbedtls_test_rnd_std_rand, NULL, + seed->x, seed->len ), 0 ); - /* Allocation failure isn't a test failure, since it likely just means there's not enough memory to run the test */ - rc = mbedtls_lms_gen_privkey( &ctx, mbedtls_ctr_drbg_random, &drbg_ctx, seed, sizeof( seed ) ); - TEST_ASSUME( rc != MBEDTLS_ERR_LMS_ALLOC_FAILED ); - TEST_ASSERT( rc == 0 ); + TEST_EQUAL( mbedtls_lms_calculate_public_key( &pub_ctx, &priv_ctx ), 0 ); - TEST_ASSERT( mbedtls_lms_gen_pubkey( &ctx) == 0 ); + TEST_EQUAL( mbedtls_lms_sign( &priv_ctx, mbedtls_test_rnd_std_rand, NULL, + msg->x, msg->len, sig, sizeof( sig ), + NULL ), 0 ); - TEST_ASSERT( mbedtls_lms_sign( &ctx, mbedtls_ctr_drbg_random, &drbg_ctx, msg->x, msg->len, sig ) == 0 ); - - TEST_ASSERT( mbedtls_lms_verify( &ctx, msg->x, msg->len, sig) == 0 ); + TEST_EQUAL( mbedtls_lms_verify( &pub_ctx, msg->x, msg->len, sig, + sizeof( sig ) ), 0 ); exit: - mbedtls_entropy_free( &entropy_ctx ); - mbedtls_ctr_drbg_free( &drbg_ctx ); - mbedtls_lms_free( &ctx ); + mbedtls_lms_public_free( &pub_ctx ); + mbedtls_lms_private_free( &priv_ctx ); } /* END_CASE */ -/* BEGIN_CASE */ -void lms_verify_test ( data_t * msg, data_t * sig, data_t * pub_key, - int expected_rc ) +/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */ +void lms_sign_verify_null_msg_test( data_t *seed ) { - mbedtls_lms_context ctx; + mbedtls_lms_public_t pub_ctx; + mbedtls_lms_private_t priv_ctx; + unsigned char sig[MBEDTLS_LMS_SIG_LEN(MBEDTLS_LMS_SHA256_M32_H10, MBEDTLS_LMOTS_SHA256_N32_W8)]; + + mbedtls_lms_public_init( &pub_ctx ); + mbedtls_lms_private_init( &priv_ctx ); + + /* Allocation failure isn't a test failure, since it likely just means + * there's not enough memory to run the test. + */ + TEST_EQUAL( mbedtls_lms_generate_private_key( &priv_ctx, MBEDTLS_LMS_SHA256_M32_H10, + MBEDTLS_LMOTS_SHA256_N32_W8, + mbedtls_test_rnd_std_rand, NULL, + seed->x, seed->len ), 0 ); - mbedtls_lms_init( &ctx); + TEST_EQUAL( mbedtls_lms_calculate_public_key( &pub_ctx, &priv_ctx ), 0 ); - mbedtls_lms_import_pubkey( &ctx, pub_key->x ); + TEST_EQUAL( mbedtls_lms_sign( &priv_ctx, mbedtls_test_rnd_std_rand, NULL, + NULL, 0, sig, sizeof( sig ), + NULL ), 0 ); - TEST_ASSERT( mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x ) == expected_rc ); + TEST_EQUAL( mbedtls_lms_verify( &pub_ctx, NULL, 0, sig, + sizeof( sig ) ), 0 ); exit: - mbedtls_lms_free( &ctx ); + mbedtls_lms_public_free( &pub_ctx ); + mbedtls_lms_private_free( &priv_ctx ); } /* END_CASE */ /* BEGIN_CASE */ -void lms_import_export_test ( data_t * pub_key ) +void lms_verify_test ( data_t * msg, data_t * sig, data_t * pub_key, + int expected_rc ) { - mbedtls_lms_context ctx; - uint8_t exported_pub_key[MBEDTLS_LMS_PUBKEY_LEN]; + mbedtls_lms_public_t ctx; + unsigned int size; + unsigned char *tmp_sig = NULL; + + mbedtls_lms_public_init( &ctx); + + TEST_EQUAL(mbedtls_lms_import_public_key( &ctx, pub_key->x, pub_key->len ), 0); + + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), expected_rc); + + /* Test negative cases if the input data is valid */ + if( expected_rc == 0 ) + { + if( msg->len >= 1 ) + { + /* Altering first message byte must cause verification failure */ + msg->x[0] ^= 1; + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + msg->x[0] ^= 1; + + /* Altering last message byte must cause verification failure */ + msg->x[msg->len - 1] ^= 1; + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + msg->x[msg->len - 1] ^= 1; + } + + if( sig->len >= 1 ) + { + /* Altering first signature byte must cause verification failure */ + sig->x[0] ^= 1; + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + sig->x[0] ^= 1; + + /* Altering last signature byte must cause verification failure */ + sig->x[sig->len - 1] ^= 1; + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, sig->x, sig->len ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + sig->x[sig->len - 1] ^= 1; + } + + /* Signatures of all sizes must not verify, whether shorter or longer */ + for( size = 0; size < sig->len; size++ ) { + if( size == sig->len ) + continue; + + ASSERT_ALLOC( tmp_sig, size ); + if( tmp_sig != NULL ) + memcpy( tmp_sig, sig->x, MIN(size, sig->len) ); + + TEST_EQUAL(mbedtls_lms_verify( &ctx, msg->x, msg->len, tmp_sig, size ), + MBEDTLS_ERR_LMS_VERIFY_FAILED); + mbedtls_free( tmp_sig ); + tmp_sig = NULL; + } + } - mbedtls_lms_init(&ctx); - TEST_ASSERT( mbedtls_lms_import_pubkey( &ctx, pub_key->x ) == 0 ); - TEST_ASSERT( mbedtls_lms_export_pubkey( &ctx, exported_pub_key) == 0 ); +exit: + mbedtls_free( tmp_sig ); + mbedtls_lms_public_free( &ctx ); +} +/* END_CASE */ - ASSERT_COMPARE( pub_key->x, MBEDTLS_LMS_PUBKEY_LEN, - exported_pub_key, MBEDTLS_LMS_PUBKEY_LEN ); +/* BEGIN_CASE */ +void lms_import_export_test ( data_t * pub_key, int expected_import_rc ) +{ + mbedtls_lms_public_t ctx; + size_t exported_pub_key_buf_size = 0; + size_t exported_pub_key_size = 0; + unsigned char *exported_pub_key = NULL; + + mbedtls_lms_public_init(&ctx); + TEST_EQUAL( mbedtls_lms_import_public_key( &ctx, pub_key->x, pub_key->len ), + expected_import_rc ); + + if( expected_import_rc == 0 ) + { + exported_pub_key_buf_size = MBEDTLS_LMS_PUBLIC_KEY_LEN(MBEDTLS_LMS_SHA256_M32_H10); + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size ); + + TEST_EQUAL( mbedtls_lms_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, + &exported_pub_key_size ), 0 ); + + TEST_EQUAL( exported_pub_key_size, + MBEDTLS_LMS_PUBLIC_KEY_LEN(MBEDTLS_LMS_SHA256_M32_H10 ) ); + ASSERT_COMPARE( pub_key->x, pub_key->len, + exported_pub_key, exported_pub_key_size ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + + /* Export into too-small buffer should fail */ + exported_pub_key_buf_size = MBEDTLS_LMS_PUBLIC_KEY_LEN(MBEDTLS_LMS_SHA256_M32_H10) - 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lms_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, NULL ), + MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + + /* Export into too-large buffer should succeed */ + exported_pub_key_buf_size = MBEDTLS_LMS_PUBLIC_KEY_LEN(MBEDTLS_LMS_SHA256_M32_H10) + 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lms_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, + &exported_pub_key_size ), + 0 ); + ASSERT_COMPARE( pub_key->x, pub_key->len, + exported_pub_key, exported_pub_key_size ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; + } exit: - mbedtls_lms_free( &ctx ); + mbedtls_free( exported_pub_key ); + mbedtls_lms_public_free( &ctx ); } /* END_CASE */ + diff --git a/tests/suites/test_suite_mpi.data b/tests/suites/test_suite_mpi.data deleted file mode 100644 index 056310ad7b..0000000000 --- a/tests/suites/test_suite_mpi.data +++ /dev/null @@ -1,1898 +0,0 @@ -Arguments with no value -mpi_null: - -Base test mpi_read_write_string #1 -mpi_read_write_string:10:"128":10:"128":100:0:0 - -Base test mpi_read_write_string #1 (Leading 0) -mpi_read_write_string:10:"0128":10:"128":100:0:0 - -Base test mpi_read_write_string #2 -mpi_read_write_string:10:"128":16:"80":100:0:0 - -Base test mpi_read_write_string #3 (Read zero decimal) -mpi_read_write_string:10:"0":10:"0":100:0:0 - -Base test mpi_read_write_string #3 (Read zero hex) -mpi_read_write_string:16:"0":16:"00":100:0:0 - -Base test mpi_read_write_string #3 (Read minus zero decimal) -mpi_read_write_string:10:"-0":10:"0":100:0:0 - -Base test mpi_read_write_string #3 (Read minus zero hex) -mpi_read_write_string:16:"-0":16:"00":100:0:0 - -Base test mpi_read_write_string #3 (Negative decimal) -mpi_read_write_string:10:"-23":10:"-23":100:0:0 - -Base test mpi_read_write_string #3 (Negative decimal, leading 0) -mpi_read_write_string:10:"-023":10:"-23":100:0:0 - -Base test mpi_read_write_string #3 (Negative hex -> decimal) -mpi_read_write_string:16:"-20":10:"-32":100:0:0 - -Base test mpi_read_write_string #3 (Negative hex) -mpi_read_write_string:16:"-23":16:"-23":100:0:0 - -Base test mpi_read_write_string #3 (Negative hex, leading 0) -mpi_read_write_string:16:"-023":16:"-23":100:0:0 - -Base test mpi_read_write_string #4 (Buffer just fits) -mpi_read_write_string:16:"-4":4:"-10":4:0:0 - -Test mpi_read_write_string #1 (Invalid character) -mpi_read_write_string:10:"a28":0:"":100:MBEDTLS_ERR_MPI_INVALID_CHARACTER:0 - -Test mpi_read_write_string #2 (Illegal input radix) -mpi_read_write_string:19:"a28":0:"":100:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0 - -Test mpi_read_write_string #3 (Buffer just fits) -mpi_read_write_string:16:"-23":16:"-23":4:0:0 - -Test mpi_read_write_string #4 (Buffer too small) -mpi_read_write_string:16:"-23":16:"-23":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL - -Test mpi_read_write_string #5 (Illegal output radix) -mpi_read_write_string:16:"-23":17:"-23":4:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mpi_read_write_string #6 (Output radix of 15) -mpi_read_write_string:10:"29":15:"1e":100:0:0 - -Test mpi_read_write_string #7 -mpi_read_write_string:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0:0 - -Test mpi_read_write_string #8 (Empty MPI hex -> hex) -mpi_read_write_string:16:"":16:"":4:0:0 - -Test mpi_read_write_string #9 (Empty MPI hex -> dec) -mpi_read_write_string:16:"":10:"0":4:0:0 - -Test mpi_read_write_string #9 (Empty MPI hex -> base 2) -mpi_read_write_string:16:"":2:"0":4:0:0 - -Test mpi_read_write_string #8 (Empty MPI dec -> hex) -mpi_read_write_string:10:"":16:"":4:0:0 - -Test mpi_read_write_string #9 (Empty MPI dec -> dec) -mpi_read_write_string:10:"":10:"0":4:0:0 - -Test mpi_read_write_string #9 (Empty MPI dec -> base 2) -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 - -Base test mbedtls_mpi_read_binary #1 -mbedtls_mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924" - -Base test mbedtls_mpi_read_binary_le #1 -mbedtls_mpi_read_binary_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":10:"219946662473865722255717126709915431768051735954189829340600976826409773245337023925691629251672268961177825243440202069039100741562168093042339401187848509859789949044607421190014088260008793380554914226244485299326152319899746569" - -Base test mbedtls_mpi_write_binary #1 -mbedtls_mpi_write_binary:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":200:0 - -Test mbedtls_mpi_write_binary #1 (Buffer just fits) -mbedtls_mpi_write_binary:16:"123123123123123123123123123":"0123123123123123123123123123":14:0 - -Test mbedtls_mpi_write_binary #2 (Buffer too small) -mbedtls_mpi_write_binary:16:"123123123123123123123123123":"23123123123123123123123123":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL - -Base test mbedtls_mpi_write_binary_le #1 -mbedtls_mpi_write_binary_le:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":"24448b952fbbef93f89286ba330e62528b151eac265cc8ce3038519d09e148af89288e91f48b41acad55d9dc5e2b18097c106be4ce132721bf6359eaf403e7ff90623e8866ee5c192320418daa682f144adedf84f25de11f49d1fe009d374109":200:0 - -Test mbedtls_mpi_write_binary_le #1 (Buffer just fits) -mbedtls_mpi_write_binary_le:16:"123123123123123123123123123":"2331122331122331122331122301":14:0 - -Test mbedtls_mpi_write_binary_le #2 (Buffer too small) -mbedtls_mpi_write_binary_le:16:"123123123123123123123123123":"23311223311223311223311223":13:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL - -Base test mbedtls_mpi_read_file #1 -mbedtls_mpi_read_file:10:"data_files/mpi_10":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0 - -Test mbedtls_mpi_read_file #1 (Empty file) -mbedtls_mpi_read_file:10:"data_files/hash_file_4":"":MBEDTLS_ERR_MPI_FILE_IO_ERROR - -Test mbedtls_mpi_read_file #2 (Illegal input) -mbedtls_mpi_read_file:10:"data_files/hash_file_3":"":0 - -Test mbedtls_mpi_read_file #3 (Input too big) -mbedtls_mpi_read_file:10:"data_files/mpi_too_big":"":MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL - -Base test mbedtls_mpi_write_file #1 -mbedtls_mpi_write_file:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"data_files/mpi_write" - -Test mbedtls_mpi_lsb: 0 (null) -mbedtls_mpi_lsb:16:"":0 - -Test mbedtls_mpi_lsb: 0 (1 limb) -mbedtls_mpi_lsb:16:"0":0 - -Base test mbedtls_mpi_lsb #1 -mbedtls_mpi_lsb:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":2 - -Base test mbedtls_mpi_lsb #2 -mbedtls_mpi_lsb:10:"24":3 - -Base test mbedtls_mpi_lsb #3 -mbedtls_mpi_lsb:16:"24":2 - -Base test mbedtls_mpi_lsb #4 -mbedtls_mpi_lsb:16:"2000":13 - -Base test mbedtls_mpi_bitlen #1 -mbedtls_mpi_bitlen:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":764 - -Base test mbedtls_mpi_bitlen #2 -mbedtls_mpi_bitlen:10:"24":5 - -Base test mbedtls_mpi_bitlen #3 -mbedtls_mpi_bitlen:10:"1":1 - -Base test mbedtls_mpi_bitlen #4 -mbedtls_mpi_bitlen:10:"15":4 - -Base test mbedtls_mpi_bitlen #5 -mbedtls_mpi_bitlen:10:"16":5 - -Base test mbedtls_mpi_bitlen #6 -mbedtls_mpi_bitlen:10:"10":4 - -Base test mbedtls_mpi_bitlen: 0 (null) -mbedtls_mpi_bitlen:10:"":0 - -Base test mbedtls_mpi_bitlen: 0 (1 limb) -mbedtls_mpi_bitlen:10:"0":0 - -Base test mbedtls_mpi_cmp_int #1 -mbedtls_mpi_cmp_int:693:693:0 - -Base test mbedtls_mpi_cmp_int #2 -mbedtls_mpi_cmp_int:693:692:1 - -Base test mbedtls_mpi_cmp_int #3 -mbedtls_mpi_cmp_int:693:694:-1 - -Base test mbedtls_mpi_cmp_int (Negative values) #1 -mbedtls_mpi_cmp_int:-2:-2:0 - -Base test mbedtls_mpi_cmp_int (Negative values) #2 -mbedtls_mpi_cmp_int:-2:-3:1 - -Base test mbedtls_mpi_cmp_int (Negative values) #3 -mbedtls_mpi_cmp_int:-2:-1:-1 - -Base test mbedtls_mpi_cmp_mpi #1 -mbedtls_mpi_cmp_mpi:10:"693":10:"693":0 - -Base test mbedtls_mpi_cmp_mpi #2 -mbedtls_mpi_cmp_mpi:10:"693":10:"692":1 - -Base test mbedtls_mpi_cmp_mpi #3 -mbedtls_mpi_cmp_mpi:10:"693":10:"694":-1 - -Base test mbedtls_mpi_cmp_mpi (Negative values) #1 -mbedtls_mpi_cmp_mpi:10:"-2":10:"-2":0 - -Base test mbedtls_mpi_cmp_mpi (Negative values) #2 -mbedtls_mpi_cmp_mpi:10:"-2":10:"-3":1 - -Base test mbedtls_mpi_cmp_mpi (Negative values) #3 -mbedtls_mpi_cmp_mpi:10:"-2":10:"-1":-1 - -Base test mbedtls_mpi_cmp_mpi (Mixed values) #4 -mbedtls_mpi_cmp_mpi:10:"-3":10:"2":-1 - -Base test mbedtls_mpi_cmp_mpi (Mixed values) #5 -mbedtls_mpi_cmp_mpi:10:"2":10:"-3":1 - -Base test mbedtls_mpi_cmp_mpi (Mixed values) #6 -mbedtls_mpi_cmp_mpi:10:"-2":10:"31231231289798":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (null) -mbedtls_mpi_cmp_mpi:10:"":10:"":0 - -Test mbedtls_mpi_cmp_mpi: 0 (null) = 0 (1 limb) -mbedtls_mpi_cmp_mpi:10:"":10:"0":0 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (null) -mbedtls_mpi_cmp_mpi:10:"0":10:"":0 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) = 0 (1 limb) -mbedtls_mpi_cmp_mpi:10:"0":10:"0":0 - -Test mbedtls_mpi_cmp_mpi: 0 (null) < positive -mbedtls_mpi_cmp_mpi:10:"":10:"123":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive -mbedtls_mpi_cmp_mpi:10:"0":10:"123":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) > negative -mbedtls_mpi_cmp_mpi:10:"":10:"-123":1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative -mbedtls_mpi_cmp_mpi:10:"0":10:"-123":1 - -Test mbedtls_mpi_cmp_mpi: positive > 0 (null) -mbedtls_mpi_cmp_mpi:10:"123":10:"":1 - -Test mbedtls_mpi_cmp_mpi: positive > 0 (1 limb) -mbedtls_mpi_cmp_mpi:10:"123":10:"0":1 - -Test mbedtls_mpi_cmp_mpi: negative < 0 (null) -mbedtls_mpi_cmp_mpi:10:"-123":10:"":-1 - -Test mbedtls_mpi_cmp_mpi: negative < 0 (1 limb) -mbedtls_mpi_cmp_mpi:10:"-123":10:"0":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) < positive with leading zero limb -mbedtls_mpi_cmp_mpi:16:"":16:"0000000000000000123":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < positive with leading zero limb -mbedtls_mpi_cmp_mpi:16:"0":16:"0000000000000000123":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) > negative with leading zero limb -mbedtls_mpi_cmp_mpi:16:"":16:"-0000000000000000123":1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > negative with leading zero limb -mbedtls_mpi_cmp_mpi:16:"0":16:"-0000000000000000123":1 - -Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (null) -mbedtls_mpi_cmp_mpi:16:"0000000000000000123":16:"":1 - -Test mbedtls_mpi_cmp_mpi: positive with leading zero limb > 0 (1 limb) -mbedtls_mpi_cmp_mpi:16:"0000000000000000123":16:"0":1 - -Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (null) -mbedtls_mpi_cmp_mpi:16:"-0000000000000000123":16:"":-1 - -Test mbedtls_mpi_cmp_mpi: negative with leading zero limb < 0 (1 limb) -mbedtls_mpi_cmp_mpi:16:"-0000000000000000123":16:"0":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) < large positive -mbedtls_mpi_cmp_mpi:16:"":16:"1230000000000000000":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) < large positive -mbedtls_mpi_cmp_mpi:16:"0":16:"1230000000000000000":-1 - -Test mbedtls_mpi_cmp_mpi: 0 (null) > large negative -mbedtls_mpi_cmp_mpi:16:"":16:"-1230000000000000000":1 - -Test mbedtls_mpi_cmp_mpi: 0 (1 limb) > large negative -mbedtls_mpi_cmp_mpi:16:"0":16:"-1230000000000000000":1 - -Test mbedtls_mpi_cmp_mpi: large positive > 0 (null) -mbedtls_mpi_cmp_mpi:16:"1230000000000000000":16:"":1 - -Test mbedtls_mpi_cmp_mpi: large positive > 0 (1 limb) -mbedtls_mpi_cmp_mpi:16:"1230000000000000000":16:"0":1 - -Test mbedtls_mpi_cmp_mpi: large negative < 0 (null) -mbedtls_mpi_cmp_mpi:16:"-1230000000000000000":16:"":-1 - -Test mbedtls_mpi_cmp_mpi: large negative < 0 (1 limb) -mbedtls_mpi_cmp_mpi:16:"-1230000000000000000":16:"0":-1 - -Base test mbedtls_mpi_lt_mpi_ct #1 -mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0 - -Base test mbedtls_mpi_lt_mpi_ct #2 -mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B4":0:0 - -Base test mbedtls_mpi_lt_mpi_ct #3 -mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B6":1:0 - -Base test mbedtls_mpi_lt_mpi_ct (Negative values) #1 -mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-2":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (Negative values) #2 -mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-3":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (Negative values) #3 -mbedtls_mpi_lt_mpi_ct:1:"-2":1:"-1":1:0 - -Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #1 -mbedtls_mpi_lt_mpi_ct:1:"-3":1:"2":1:0 - -Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #2 -mbedtls_mpi_lt_mpi_ct:1:"2":1:"-3":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (Mixed values) #3 -mbedtls_mpi_lt_mpi_ct:2:"-2":2:"1C67967269C6":1:0 - -Base test mbedtls_mpi_lt_mpi_ct (X is longer in storage) -mbedtls_mpi_lt_mpi_ct:3:"2B5":2:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_lt_mpi_ct (Y is longer in storage) -mbedtls_mpi_lt_mpi_ct:3:"2B5":4:"2B5":0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_lt_mpi_ct (length=0) -mbedtls_mpi_lt_mpi_ct:0:"":0:"":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #1 -mbedtls_mpi_lt_mpi_ct:2:"7FFFFFFFFFFFFFFF":2:"FF":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #2 -mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"7FFFFFFFFFFFFFFF":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #3 -mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"1":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #4 -mbedtls_mpi_lt_mpi_ct:2:"8000000000000000":2:"0":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 64 bit) #5 -mbedtls_mpi_lt_mpi_ct:2:"FFFFFFFFFFFFFFFF":2:"FF":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #1 -mbedtls_mpi_lt_mpi_ct:1:"7FFFFFFF":1:"FF":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #2 -mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"7FFFFFFF":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #3 -mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"1":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #4 -mbedtls_mpi_lt_mpi_ct:1:"80000000":1:"0":0:0 - -Base test mbedtls_mpi_lt_mpi_ct (corner case - 32 bit) #5 -mbedtls_mpi_lt_mpi_ct:1:"FFFFFFFF":1:"FF":0:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (XY, equal MS limbs) -mbedtls_mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFF1":2:"-EEFFFFFFFFFFFFFFFF":0:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (X=Y) -mbedtls_mpi_lt_mpi_ct:2:"EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":0:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (X=-Y) -mbedtls_mpi_lt_mpi_ct:2:"-EEFFFFFFFFFFFFFFFF":2:"EEFFFFFFFFFFFFFFFF":1:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #1 -mbedtls_mpi_lt_mpi_ct:2:"11FFFFFFFFFFFFFFFF":2:"FF1111111111111111":1:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #2 -mbedtls_mpi_lt_mpi_ct:2:"FF1111111111111111":2:"11FFFFFFFFFFFFFFFF":0:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #3 -mbedtls_mpi_lt_mpi_ct:2:"-11FFFFFFFFFFFFFFFF":2:"-FF1111111111111111":0:0 - -Multi-limb mbedtls_mpi_lt_mpi_ct (Alternating limbs) #4 -mbedtls_mpi_lt_mpi_ct:2:"-FF1111111111111111":2:"-11FFFFFFFFFFFFFFFF":1:0 - -Base test mbedtls_mpi_cmp_abs #1 -mbedtls_mpi_cmp_abs:10:"693":10:"693":0 - -Base test mbedtls_mpi_cmp_abs #2 -mbedtls_mpi_cmp_abs:10:"693":10:"692":1 - -Base test mbedtls_mpi_cmp_abs #3 -mbedtls_mpi_cmp_abs:10:"693":10:"694":-1 - -Base test mbedtls_mpi_cmp_abs (Negative values) #1 -mbedtls_mpi_cmp_abs:10:"-2":10:"-2":0 - -Base test mbedtls_mpi_cmp_abs (Negative values) #2 -mbedtls_mpi_cmp_abs:10:"-2":10:"-3":-1 - -Base test mbedtls_mpi_cmp_abs (Negative values) #3 -mbedtls_mpi_cmp_abs:10:"-2":10:"-1":1 - -Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (null) -mbedtls_mpi_cmp_abs:10:"":10:"":0 - -Test mbedtls_mpi_cmp_abs: 0 (null) = 0 (1 limb) -mbedtls_mpi_cmp_abs:10:"":10:"0":0 - -Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (null) -mbedtls_mpi_cmp_abs:10:"0":10:"":0 - -Test mbedtls_mpi_cmp_abs: 0 (1 limb) = 0 (1 limb) -mbedtls_mpi_cmp_abs:10:"0":10:"0":0 - -Base test mbedtls_mpi_cmp_abs (Mix values) #1 -mbedtls_mpi_cmp_abs:10:"-2":10:"2":0 - -Base test mbedtls_mpi_cmp_abs (Mix values) #2 -mbedtls_mpi_cmp_abs:10:"2":10:"-3":-1 - -Base test mbedtls_mpi_cmp_abs (Mix values) #3 -mbedtls_mpi_cmp_abs:10:"-2":10:"1":1 - -Copy large negative to large negative -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" - -Copy large negative to large positive -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" - -Copy large negative to small negative -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"-beef" - -Copy large negative to small positive -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"beef" - -Copy large negative to zero (1 limb) -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"0" - -Copy large negative to zero (null) -mbedtls_mpi_copy:"-ca5cadedb01dfaceacc01ade":"" - -Copy large positive to large negative -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" - -Copy large positive to large positive -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" - -Copy large positive to small negative -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"-beef" - -Copy large positive to small positive -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"beef" - -Copy large positive to zero (1 limb) -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"0" - -Copy large positive to zero (null) -mbedtls_mpi_copy:"ca5cadedb01dfaceacc01ade":"" - -Copy small negative to large negative -mbedtls_mpi_copy:"-bead":"-face1e55ca11ab1ecab005e5" - -Copy small negative to large positive -mbedtls_mpi_copy:"-bead":"face1e55ca11ab1ecab005e5" - -Copy small negative to small negative -mbedtls_mpi_copy:"-bead":"-beef" - -Copy small negative to small positive -mbedtls_mpi_copy:"-bead":"beef" - -Copy small negative to zero (1 limb) -mbedtls_mpi_copy:"-bead":"0" - -Copy small negative to zero (null) -mbedtls_mpi_copy:"-bead":"" - -Copy small positive to large negative -mbedtls_mpi_copy:"bead":"-face1e55ca11ab1ecab005e5" - -Copy small positive to large positive -mbedtls_mpi_copy:"bead":"face1e55ca11ab1ecab005e5" - -Copy small positive to small negative -mbedtls_mpi_copy:"bead":"-beef" - -Copy small positive to small positive -mbedtls_mpi_copy:"bead":"beef" - -Copy small positive to zero (1 limb) -mbedtls_mpi_copy:"bead":"0" - -Copy small positive to zero (null) -mbedtls_mpi_copy:"bead":"" - -Copy zero (1 limb) to large negative -mbedtls_mpi_copy:"0":"-face1e55ca11ab1ecab005e5" - -Copy zero (1 limb) to large positive -mbedtls_mpi_copy:"0":"face1e55ca11ab1ecab005e5" - -Copy zero (1 limb) to small negative -mbedtls_mpi_copy:"0":"-beef" - -Copy zero (1 limb) to small positive -mbedtls_mpi_copy:"0":"beef" - -Copy zero (1 limb) to zero (1 limb) -mbedtls_mpi_copy:"0":"0" - -Copy zero (1 limb) to zero (null) -mbedtls_mpi_copy:"0":"" - -Copy zero (null) to large negative -mbedtls_mpi_copy:"":"-face1e55ca11ab1ecab005e5" - -Copy zero (null) to large positive -mbedtls_mpi_copy:"":"face1e55ca11ab1ecab005e5" - -Copy zero (null) to small negative -mbedtls_mpi_copy:"":"-beef" - -Copy zero (null) to small positive -mbedtls_mpi_copy:"":"beef" - -Copy zero (null) to zero (1 limb) -mbedtls_mpi_copy:"":"0" - -Copy zero (null) to zero (null) -mbedtls_mpi_copy:"":"" - -Copy self: large negative -mpi_copy_self:"-ca5cadedb01dfaceacc01ade" - -Copy self: large positive -mpi_copy_self:"ca5cadedb01dfaceacc01ade" - -Copy self: small negative -mpi_copy_self:"-bead" - -Copy self: small positive -mpi_copy_self:"bead" - -Copy self: zero (1 limb) -mpi_copy_self:"0" - -Copy self: zero (null) -mpi_copy_self:"" - -Swap large negative with large negative -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" - -Swap large negative with large positive -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" - -Swap large negative with small negative -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"-beef" - -Swap large negative with small positive -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"beef" - -Swap large negative with zero (1 limb) -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"0" - -Swap large negative with zero (null) -mbedtls_mpi_swap:"-ca5cadedb01dfaceacc01ade":"" - -Swap large positive with large negative -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"-face1e55ca11ab1ecab005e5" - -Swap large positive with large positive -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"face1e55ca11ab1ecab005e5" - -Swap large positive with small negative -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"-beef" - -Swap large positive with small positive -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"beef" - -Swap large positive with zero (1 limb) -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"0" - -Swap large positive with zero (null) -mbedtls_mpi_swap:"ca5cadedb01dfaceacc01ade":"" - -Swap small negative with large negative -mbedtls_mpi_swap:"-bead":"-face1e55ca11ab1ecab005e5" - -Swap small negative with large positive -mbedtls_mpi_swap:"-bead":"face1e55ca11ab1ecab005e5" - -Swap small negative with small negative -mbedtls_mpi_swap:"-bead":"-beef" - -Swap small negative with small positive -mbedtls_mpi_swap:"-bead":"beef" - -Swap small negative with zero (1 limb) -mbedtls_mpi_swap:"-bead":"0" - -Swap small negative with zero (null) -mbedtls_mpi_swap:"-bead":"" - -Swap small positive with large negative -mbedtls_mpi_swap:"bead":"-face1e55ca11ab1ecab005e5" - -Swap small positive with large positive -mbedtls_mpi_swap:"bead":"face1e55ca11ab1ecab005e5" - -Swap small positive with small negative -mbedtls_mpi_swap:"bead":"-beef" - -Swap small positive with small positive -mbedtls_mpi_swap:"bead":"beef" - -Swap small positive with zero (1 limb) -mbedtls_mpi_swap:"bead":"0" - -Swap small positive with zero (null) -mbedtls_mpi_swap:"bead":"" - -Swap zero (1 limb) with large negative -mbedtls_mpi_swap:"0":"-face1e55ca11ab1ecab005e5" - -Swap zero (1 limb) with large positive -mbedtls_mpi_swap:"0":"face1e55ca11ab1ecab005e5" - -Swap zero (1 limb) with small negative -mbedtls_mpi_swap:"0":"-beef" - -Swap zero (1 limb) with small positive -mbedtls_mpi_swap:"0":"beef" - -Swap zero (1 limb) with zero (1 limb) -mbedtls_mpi_swap:"0":"0" - -Swap zero (1 limb) with zero (null) -mbedtls_mpi_swap:"0":"" - -Swap zero (null) with large negative -mbedtls_mpi_swap:"":"-face1e55ca11ab1ecab005e5" - -Swap zero (null) with large positive -mbedtls_mpi_swap:"":"face1e55ca11ab1ecab005e5" - -Swap zero (null) with small negative -mbedtls_mpi_swap:"":"-beef" - -Swap zero (null) with small positive -mbedtls_mpi_swap:"":"beef" - -Swap zero (null) with zero (1 limb) -mbedtls_mpi_swap:"":"0" - -Swap zero (null) with zero (null) -mbedtls_mpi_swap:"":"" - -Swap self: large negative -mpi_swap_self:"-ca5cadedb01dfaceacc01ade" - -Swap self: large positive -mpi_swap_self:"ca5cadedb01dfaceacc01ade" - -Swap self: small negative -mpi_swap_self:"-bead" - -Swap self: small positive -mpi_swap_self:"bead" - -Swap self: zero (1 limb) -mpi_swap_self:"0" - -Swap self: zero (null) -mpi_swap_self:"" - -Shrink 0 limbs in a buffer of size 0 to 0 -mbedtls_mpi_shrink:0:0:0:0 - -Shrink 2 limbs in a buffer of size 2 to 4 -mbedtls_mpi_shrink:2:2:4:4 - -Shrink 2 limbs in a buffer of size 4 to 4 -mbedtls_mpi_shrink:4:2:4:4 - -Shrink 2 limbs in a buffer of size 8 to 4 -mbedtls_mpi_shrink:8:2:4:4 - -Shrink 4 limbs in a buffer of size 8 to 4 -mbedtls_mpi_shrink:8:4:4:4 - -Shrink 6 limbs in a buffer of size 8 to 4 yielding 6 -mbedtls_mpi_shrink:8:6:4:6 - -Shrink 2 limbs in a buffer of size 4 to 0 yielding 2 -mbedtls_mpi_shrink:4:2:0:2 - -Shrink 1 limbs in a buffer of size 4 to 0 yielding 1 -mbedtls_mpi_shrink:4:1:0:1 - -Shrink 0 limbs in a buffer of size 4 to 0 yielding 1 -mbedtls_mpi_shrink:4:0:0:1 - -Base test mbedtls_mpi_add_abs #1 -mbedtls_mpi_add_abs:10:"12345678":10:"642531":10:"12988209" - -Base test mbedtls_mpi_add_abs #2 -mbedtls_mpi_add_abs:10:"-12345678":10:"642531":10:"12988209" - -Base test mbedtls_mpi_add_abs #3 -mbedtls_mpi_add_abs:10:"12345678":10:"-642531":10:"12988209" - -Base test mbedtls_mpi_add_abs #4 -mbedtls_mpi_add_abs:10:"-12345678":10:"-642531":10:"12988209" - -Test mbedtls_mpi_add_abs: 0 (null) + 0 (null) -mbedtls_mpi_add_abs:16:"":16:"":16:"0" - -Test mbedtls_mpi_add_abs: 0 (null) + 1 -mbedtls_mpi_add_abs:16:"":16:"01":16:"01" - -Test mbedtls_mpi_add_abs: 1 + 0 (null) -mbedtls_mpi_add_abs:16:"01":16:"":16:"01" - -Test mbedtls_mpi_add_abs #1 -mbedtls_mpi_add_abs:10:"-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924" - -Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#1] -mbedtls_mpi_add_abs:16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":16:"08":16:"1000000000000000000000000000000" - -Regression mbedtls_mpi_add_abs (add small to very large MPI with carry rollover) [#2] -mbedtls_mpi_add_abs:16:"08":16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8":16:"1000000000000000000000000000000" - -Base test mbedtls_mpi_add_mpi #1 -mbedtls_mpi_add_mpi:10:"12345678":10:"642531":10:"12988209" - -Base test mbedtls_mpi_add_mpi #2 -mbedtls_mpi_add_mpi:10:"-12345678":10:"642531":10:"-11703147" - -Base test mbedtls_mpi_add_mpi #3 -mbedtls_mpi_add_mpi:10:"12345678":10:"-642531":10:"11703147" - -Base test mbedtls_mpi_add_mpi #4 -mbedtls_mpi_add_mpi:10:"-12345678":10:"-642531":10:"-12988209" - -Test mbedtls_mpi_add_mpi: 0 (null) + 0 (null) -mbedtls_mpi_add_mpi:16:"":16:"":16:"0" - -Test mbedtls_mpi_add_mpi: 0 (null) + 1 -mbedtls_mpi_add_mpi:16:"":16:"01":16:"01" - -Test mbedtls_mpi_add_mpi: 1 + 0 (null) -mbedtls_mpi_add_mpi:16:"01":16:"":16:"01" - -Test mbedtls_mpi_add_mpi: 0 (null) + -1 -mbedtls_mpi_add_mpi:16:"":16:"-01":16:"-01" - -Test mbedtls_mpi_add_mpi: -1 + 0 (null) -mbedtls_mpi_add_mpi:16:"-01":16:"":16:"-01" - -Test mbedtls_mpi_add_mpi #1 -mbedtls_mpi_add_mpi:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"735829167410606161590850601304167976688497607296479119740072111384235241328747126510065763883532084601487937110881909725679916932621242907172467691556475037071866553361927361439411910627880345885122142692610250903804554267860479115964668998643528806263534149325837971432443181537363155848647445226342" - -Test mbedtls_mpi_add_mpi #2 -mbedtls_mpi_add_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924" - -Base test mbedtls_mpi_add_mpi inplace #1 -mbedtls_mpi_add_mpi_inplace:10:"12345678":10:"24691356" - -Test mbedtls_mpi_add_mpi inplace #2 -mbedtls_mpi_add_mpi_inplace:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"1287616013607108878460259709922985398302772215068026865836146879048276529684741260122739430789478268181845874665180769440794266671939098512645241958073373266427807905932350214193538360035292323703146295192780306" - -Test mbedtls_mpi_add_mpi inplace #3 -mbedtls_mpi_add_mpi_inplace:16:"ffffffffffffffffffffffffffffffff":16:"01fffffffffffffffffffffffffffffffe" - -Test mbedtls_mpi_add_int #1 -mbedtls_mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561" - -Test mbedtls_mpi_add_int #2 -mbedtls_mpi_add_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097" - -Test mbedtls_mpi_add_int: 0 (null) + 0 -mbedtls_mpi_add_int:16:"":0:16:"0" - -Test mbedtls_mpi_add_int: 0 (null) + 1 -mbedtls_mpi_add_int:16:"":1:16:"1" - -Base test mbedtls_mpi_sub_abs #1 (|B| > |A|) -mbedtls_mpi_sub_abs:10:"5":10:"7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #2 (|B| > |A|) -mbedtls_mpi_sub_abs:10:"-5":10:"-7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #3 (|B| > |A|) -mbedtls_mpi_sub_abs:10:"-5":10:"7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #4 (|B| > |A|) -mbedtls_mpi_sub_abs:10:"5":10:"-7":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #1 (|B| >> |A| with more limbs) -mbedtls_mpi_sub_abs:10:"5":16:"123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #2 (|B| >> |A| with more limbs) -mbedtls_mpi_sub_abs:10:"-5":16:"-123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #3 (|B| >> |A| with more limbs) -mbedtls_mpi_sub_abs:10:"-5":16:"123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #4 (|B| >> |A| with more limbs) -mbedtls_mpi_sub_abs:10:"5":16:"-123456789abcdef01":10:"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_sub_abs #1 -mbedtls_mpi_sub_abs:10:"7":10:"5":10:"2":0 - -Base test mbedtls_mpi_sub_abs #2 -mbedtls_mpi_sub_abs:10:"-7":10:"-5":10:"2":0 - -Base test mbedtls_mpi_sub_abs #3 -mbedtls_mpi_sub_abs:10:"-7":10:"5":10:"2":0 - -Base test mbedtls_mpi_sub_abs #4 -mbedtls_mpi_sub_abs:10:"7":10:"-5":10:"2":0 - -Test mbedtls_mpi_sub_abs: 0 (null) - 0 (null) -mbedtls_mpi_sub_abs:16:"":16:"":16:"":0 - -Test mbedtls_mpi_sub_abs: 0 (null) - 0 (1 limb) -mbedtls_mpi_sub_abs:16:"":16:"00":16:"":0 - -Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (null) -mbedtls_mpi_sub_abs:16:"00":16:"":16:"":0 - -Test mbedtls_mpi_sub_abs: 0 (1 limb) - 0 (1 limb) -mbedtls_mpi_sub_abs:16:"00":16:"00":16:"":0 - -Test mbedtls_mpi_sub_abs: 1 - 0 (null) -mbedtls_mpi_sub_abs:16:"01":16:"":16:"01":0 - -Test mbedtls_mpi_sub_abs: 0 (null) - 1 -mbedtls_mpi_sub_abs:16:"":16:"01":16:"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Test mbedtls_mpi_sub_abs #1 -mbedtls_mpi_sub_abs:16:"FFFFFFFFFF":16:"01":16:"FFFFFFFFFE":0 - -Test mbedtls_mpi_sub_abs #2 -mbedtls_mpi_sub_abs:16:"FFFFFFFFF0":16:"01":16:"FFFFFFFFEF":0 - -Test mbedtls_mpi_sub_abs #3 -mbedtls_mpi_sub_abs:16:"FF00000000":16:"0F00000000":16:"F000000000":0 - -Test mbedtls_mpi_sub_abs #4 -mbedtls_mpi_sub_abs:16:"FF00000000":16:"0F00000001":16:"EFFFFFFFFF":0 - -Base test mbedtls_mpi_sub_mpi #1 (Test with negative result) -mbedtls_mpi_sub_mpi:10:"5":10:"7":10:"-2" - -Base test mbedtls_mpi_sub_mpi #2 (Test with negative inputs) -mbedtls_mpi_sub_mpi:10:"-5":10:"-7":10:"2" - -Base test mbedtls_mpi_sub_mpi #3 (Test with negative base) -mbedtls_mpi_sub_mpi:10:"-5":10:"7":10:"-12" - -Base test mbedtls_mpi_sub_mpi #4 (Test with negative subtraction) -mbedtls_mpi_sub_mpi:10:"5":10:"-7":10:"12" - -Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (null) -mbedtls_mpi_sub_mpi:16:"":16:"":16:"0" - -Test mbedtls_mpi_sub_mpi: 0 (null) - 0 (1 limb) -mbedtls_mpi_sub_mpi:16:"":16:"00":16:"0" - -Test mbedtls_mpi_sub_mpi: 0 (null) - 1 -mbedtls_mpi_sub_mpi:16:"":16:"1":16:"-1" - -Test mbedtls_mpi_sub_mpi: 0 (null) - -1 -mbedtls_mpi_sub_mpi:16:"":16:"-1":16:"1" - -Test mbedtls_mpi_sub_mpi: 0 (1 limb) - 0 (null) -mbedtls_mpi_sub_mpi:16:"00":16:"":16:"0" - -Test mbedtls_mpi_sub_mpi: 1 - 0 (null) -mbedtls_mpi_sub_mpi:16:"1":16:"":16:"1" - -Test mbedtls_mpi_sub_mpi: -1 - 0 (null) -mbedtls_mpi_sub_mpi:16:"-1":16:"":16:"-1" - -Test mbedtls_mpi_sub_mpi #1 -mbedtls_mpi_sub_mpi:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":10:"327915410697802206779318867446098822128109620667782593550526818477669115883344571244192531757243908254863191345527661966602498132304629772495811133247475640339722739829047287290977675016498600299425844468565678239514801901107826091797519355347660820341034314686165532823894621049756947818646317646096" - -Test mbedtls_mpi_sub_mpi #2 (Test for negative result) -mbedtls_mpi_sub_mpi:10:"643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153":10:"56125680981752282333498088313568935051383833838594899821664631784577337171193624243181360054669678410455329112434552942717084003541384594864129940145043086760031292483340068923506115878221189886491132772739661669044958531131327771":10:"-56125680981752282332854280306765380612153703983633407122513245677043323738275550803657221789827307780393959397039813808626161066208794210143732806809073537503708671504303382290292211925255014779394363592722015507193385383534937618" - -Test mbedtls_mpi_sub_int #1 -mbedtls_mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227022647561" - -Test mbedtls_mpi_sub_int #2 -mbedtls_mpi_sub_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227002905097" - -Test mbedtls_mpi_sub_int: 0 (null) - 0 -mbedtls_mpi_sub_int:16:"":0:16:"0" - -Test mbedtls_mpi_sub_int: 0 (null) - 1 -mbedtls_mpi_sub_int:16:"":1:16:"-1" - -Test mbedtls_mpi_sub_int: 0 (null) - -1 -mbedtls_mpi_sub_int:16:"":-1:16:"1" - -Test mbedtls_mpi_shift_l #1 -mbedtls_mpi_shift_l:10:"64":1:10:"128" - -Test mbedtls_mpi_shift_l #2 -mbedtls_mpi_shift_l:10:"658385546911733550164516088405238961461880256029834598831972039469421755117818013653494814438931957316403111689187691446941406788869098983929874080332195117465344344350008880118042764943201875870917468833709791733282363323948005998269792207":37:10:"90487820548639020691922304619723076305400961610119884872723190678642804168382367856686134531865643066983017249846286450251272364365605022750900439437595355052945035915579216557330505438734955340526145476988250171181404966718289259743378883640981192704" - -Test mbedtls_mpi_shift_l: 0 (null) <<= 0 -mbedtls_mpi_shift_l:16:"":0:16:"0" - -Test mbedtls_mpi_shift_l: 0 (null) <<= 1 -mbedtls_mpi_shift_l:16:"":1:16:"0" - -Test mbedtls_mpi_shift_l: 0 (null) <<= 64 -mbedtls_mpi_shift_l:16:"":64:16:"0" - -Test mbedtls_mpi_shift_r #1 -mbedtls_mpi_shift_r:10:"128":1:10:"64" - -Test mbedtls_mpi_shift_r #2 -mbedtls_mpi_shift_r:10:"120815570979701484704906977000760567182871429114712069861589084706550626575967516787438008593490722779337547394120718248995900363209947025063336882559539208430319216688889117222633155838468458047056355241515415159736436403445579777425189969":45:10:"3433785053053426415343295076376096153094051405637175942660777670498379921354157795219578264137985649407981651226029903483433269093721578004287291678324982297860947730012217028349628999378309630601971640587504883789518896817457" - -Test mbedtls_mpi_shift_r #4 [#1] -mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":63:16:"01" - -Test mbedtls_mpi_shift_r #4 [#2] -mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":64:16:"00" - -Test mbedtls_mpi_shift_r #6 -mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":65:16:"00" - -Test mbedtls_mpi_shift_r #7 -mbedtls_mpi_shift_r:16:"FFFFFFFFFFFFFFFF":128:16:"00" - -Test mbedtls_mpi_shift_r: 0 (null) >>= 0 -mbedtls_mpi_shift_r:16:"":0:16:"0" - -Test mbedtls_mpi_shift_r: 0 (null) >>= 1 -mbedtls_mpi_shift_r:16:"":1:16:"0" - -Test mbedtls_mpi_shift_r: 0 (null) >>= 64 -mbedtls_mpi_shift_r:16:"":64:16:"0" - -Base test mbedtls_mpi_mul_mpi #1 -mbedtls_mpi_mul_mpi:10:"5":10:"7":10:"35" - -Base test mbedtls_mpi_mul_mpi #2 -mbedtls_mpi_mul_mpi:10:"-5":10:"7":10:"-35" - -Base test mbedtls_mpi_mul_mpi #3 -mbedtls_mpi_mul_mpi:10:"5":10:"-7":10:"-35" - -Base test mbedtls_mpi_mul_mpi #4 -mbedtls_mpi_mul_mpi:10:"-5":10:"-7":10:"35" - -Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (null) -mbedtls_mpi_mul_mpi:16:"":16:"":16:"0" - -Test mbedtls_mpi_mul_mpi: 0 (null) * 0 (1 limb) -mbedtls_mpi_mul_mpi:16:"":16:"00":16:"0" - -Test mbedtls_mpi_mul_mpi: 0 (null) * 1 -mbedtls_mpi_mul_mpi:16:"":16:"01":16:"0" - -Test mbedtls_mpi_mul_mpi: 0 (null) * -1 -mbedtls_mpi_mul_mpi:16:"":16:"-01":16:"0" - -Test mbedtls_mpi_mul_mpi: 0 (1 limb) * -1 -mbedtls_mpi_mul_mpi:16:"00":16:"-01":16:"0" - -Test mbedtls_mpi_mul_mpi: 0 (1 limb) * 0 (null) -mbedtls_mpi_mul_mpi:16:"00":16:"":16:"0" - -Test mbedtls_mpi_mul_mpi: 1 * 0 (null) -mbedtls_mpi_mul_mpi:16:"01":16:"":16:"0" - -Test mbedtls_mpi_mul_mpi: -1 * 0 (null) -mbedtls_mpi_mul_mpi:16:"-01":16:"":16:"0" - -Test mbedtls_mpi_mul_mpi: -1 * 0 (1 limb) -mbedtls_mpi_mul_mpi:16:"-01":16:"00":16:"0" - -Test mbedtls_mpi_mul_mpi #1 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in B, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A -mbedtls_mpi_mul_mpi:16:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0 -mbedtls_mpi_mul_mpi:16:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, B < 0 -mbedtls_mpi_mul_mpi:16:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B -mbedtls_mpi_mul_mpi:16:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0 -mbedtls_mpi_mul_mpi:16:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, B < 0 -mbedtls_mpi_mul_mpi:16:"000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #1, leading 0 limb in A and B, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-000000000000000002f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-000000000000000001b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb59" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in B, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb590000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #2, trailing 0 limb in A and B, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf24510000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c890000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in A, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf245100000000000000000000000000000000":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c89":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, B < 0 -mbedtls_mpi_mul_mpi:16:"02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":16:"-0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_mpi #3, trailing 0 limbs in B, A < 0, B < 0 -mbedtls_mpi_mul_mpi:16:"-02f77b94b179d4a51360f04fa56e2c0784ce3b8a742280b016904896a5605fbe9e0f0683f82c439d979ab14e11b34e05ae96232b18fb2e0d1319f4942732d7eadf92ae90cb8c68ec8ece154d334f553564b6f6db185b33b8d3635598c3d128acde8bbb7b13697e48d1a542e5f9168d2d83a8dd05ae1eaf2451":16:"-01b0b14c432710cde936e3fc100515e95dca61e10b8a68d9632bfa0546a9731a1ce6bebc6cb5fe6f5fd7e57b25f737f6a0ce5402e216b8b81c06f0c5ccce447d7f5631d14bff9dfa16f7cc72c56c84b636d00a5f35199d17ee9bf3f8746f44374ffd4ae22cf84089f04a9f7f356d6dc9f8cf8ef208a9b88c8900000000000000000000000000000000":16:"0503ae899d35ae5b7706b067aed7cb2952da37a5d4ad58f05f69abe14e8aaae88eab2baed858177cb4595c0edc92e5ac13c2bba2bfa23276dd023e9e52f547d4c9edb138d86aad329d7afb01e15eab7281e181cb249fc91bf09d621d86561301edda156f80e3bbff853a312852fe9e3d0541cb86801390aff1dc3c05bcb592c266f625b70e419b4c7e7e85399bb06c0e50b099b4292f9eaff4d869681faa1f745b5fcb3349ed93c572739a31dcf76b43370cf9f86cc54e982dfac9467bde915c697e60554e0d698be6bb2dd1f8bc64659f6baee7641b51f4b5ed7010c04600fcd382db84a93fe3d4d86e86a459c6cebb5900000000000000000000000000000000" - -Test mbedtls_mpi_mul_int #1 -mbedtls_mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"==" - -Test mbedtls_mpi_mul_int #2 (Unsigned, thus failure) -mbedtls_mpi_mul_int:10:"2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"!=" - -Test mbedtls_mpi_mul_int #3 -mbedtls_mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":9871232:10:"-20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"==" - -Test mbedtls_mpi_mul_int #4 (Unsigned, thus failure) -mbedtls_mpi_mul_int:10:"-2039568783564019774057658669290345772801939933143482630947726464532830627227012776329":-9871232:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":"!=" - -Test mbedtls_mpi_mul_int: 0 (null) * 0 -mbedtls_mpi_mul_int:16:"":0:16:"":"==" - -Test mbedtls_mpi_mul_int: 0 (null) * 1 -mbedtls_mpi_mul_int:16:"":1:16:"":"==" - -Test mbedtls_mpi_mul_int: 0 (null) * 0x1234 -mbedtls_mpi_mul_int:16:"":0x1234:16:"":"==" - -Base test mbedtls_mpi_div_mpi #1 -mbedtls_mpi_div_mpi:10:"1000":10:"13":10:"76":10:"12":0 - -Base test mbedtls_mpi_div_mpi #2 (Divide by zero (1 limb)) -mbedtls_mpi_div_mpi:10:"1000":10:"0":10:"1":10:"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_div_mpi #2 (Divide by zero (null)) -mbedtls_mpi_div_mpi:10:"1000":10:"":10:"1":10:"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_div_mpi #3 -mbedtls_mpi_div_mpi:10:"1000":10:"-13":10:"-76":10:"12":0 - -Test mbedtls_mpi_div_mpi: 0 (null) / 0 (null) -mbedtls_mpi_div_mpi:16:"":16:"":16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_mpi: 0 (null) / 0 (1 limb) -mbedtls_mpi_div_mpi:16:"":16:"0":16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (null) -mbedtls_mpi_div_mpi:16:"0":16:"":16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_mpi: 0 (1 limb) / 0 (1 limb) -mbedtls_mpi_div_mpi:16:"0":16:"0":16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_mpi: 0 (null) / 1 -mbedtls_mpi_div_mpi:16:"":16:"1":16:"":16:"":0 - -Test mbedtls_mpi_div_mpi: 0 (null) / -1 -mbedtls_mpi_div_mpi:16:"":16:"-1":16:"":16:"":0 - -Test mbedtls_mpi_div_mpi #1 -mbedtls_mpi_div_mpi:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":10:"34":10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0 - -Test mbedtls_mpi_div_mpi #2 -mbedtls_mpi_div_mpi:10:"476221599179424887669515829231223263939342135681791605842540429321038144633323941248706405375723482912535192363845116154236465184147599697841273424891410002781967962186252583311115708128167171262206919514587899883547279647025952837516324649656913580411611297312678955801899536937577476819667861053063432906071315727948826276092545739432005962781562403795455162483159362585281248265005441715080197800335757871588045959754547836825977169125866324128449699877076762316768127816074587766799018626179199776188490087103869164122906791440101822594139648973454716256383294690817576188762":10:"28911710017320205966167820725313234361535259163045867986277478145081076845846493521348693253530011243988160148063424837895971948244167867236923919506962312185829914482993478947657472351461336729641485069323635424692930278888923450060546465883490944265147851036817433970984747733020522259537":10:"16471581891701794764704009719057349996270239948993452268812975037240586099924712715366967486587417803753916334331355573776945238871512026832810626226164346328807407669366029926221415383560814338828449642265377822759768011406757061063524768140567867350208554439342320410551341675119078050953":10:"1":0 - -Test mbedtls_mpi_div_mpi #3 -mbedtls_mpi_div_mpi:10:"1000":10:"7":10:"142":10:"6":0 - -Test mbedtls_mpi_div_mpi #4 -mbedtls_mpi_div_mpi:10:"777":10:"7":10:"111":10:"0":0 - -Base test mbedtls_mpi_div_int #1 -mbedtls_mpi_div_int:10:"1000":13:10:"76":10:"12":0 - -Base test mbedtls_mpi_div_int #2 (Divide by zero) -mbedtls_mpi_div_int:10:"1000":0:10:"1":10:"1":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_div_int #3 -mbedtls_mpi_div_int:10:"1000":-13:10:"-76":10:"12":0 - -Test mbedtls_mpi_div_int #1 -mbedtls_mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":34:10:"592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0 - -Test mbedtls_mpi_div_int #2 -mbedtls_mpi_div_int:10:"20133056642518226042310730101376278483547239130123806338055387803943342738063359782107667328":-34:10:"-592148724779947824773845002981655249516095268533053127589864347174804198178334111238460803":10:"26":0 - -Test mbedtls_mpi_div_int: 0 (null) / 0 -mbedtls_mpi_div_int:16:"":0:16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_int: 0 (1 limb) / 0 -mbedtls_mpi_div_int:16:"00":0:16:"":16:"":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Test mbedtls_mpi_div_int: 0 (null) / 1 -mbedtls_mpi_div_int:16:"":1:16:"":16:"":0 - -Base test mbedtls_mpi_mod_mpi #1 -mbedtls_mpi_mod_mpi:10:"1000":10:"13":10:"12":0 - -Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (null)) -mbedtls_mpi_mod_mpi:10:"1000":10:"":10:"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_mod_mpi #2 (Divide by zero (1 limb)) -mbedtls_mpi_mod_mpi:10:"1000":10:"0":10:"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_mod_mpi #3 -mbedtls_mpi_mod_mpi:10:"-1000":10:"13":10:"1":0 - -Base test mbedtls_mpi_mod_mpi #4 (Negative modulo) -mbedtls_mpi_mod_mpi:10:"1000":10:"-13":10:"-1":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_mod_mpi #5 (Negative modulo) -mbedtls_mpi_mod_mpi:10:"-1000":10:"-13":10:"-12":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Test mbedtls_mpi_mod_mpi: 0 (null) % 1 -mbedtls_mpi_mod_mpi:16:"":16:"1":16:"":0 - -Test mbedtls_mpi_mod_mpi: 0 (null) % -1 -mbedtls_mpi_mod_mpi:16:"":16:"-1":16:"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_mod_int #1 -mbedtls_mpi_mod_int:10:"1000":13:12:0 - -Base test mbedtls_mpi_mod_int #2 (Divide by zero) -mbedtls_mpi_mod_int:10:"1000":0:0:MBEDTLS_ERR_MPI_DIVISION_BY_ZERO - -Base test mbedtls_mpi_mod_int #3 -mbedtls_mpi_mod_int:10:"-1000":13:1:0 - -Base test mbedtls_mpi_mod_int #4 (Negative modulo) -mbedtls_mpi_mod_int:10:"1000":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_mod_int #5 (Negative modulo) -mbedtls_mpi_mod_int:10:"-1000":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_mod_int #6 (By 1) -mbedtls_mpi_mod_int:10:"1000":1:0:0 - -Base test mbedtls_mpi_mod_int #7 (By 2) -mbedtls_mpi_mod_int:10:"1001":2:1:0 - -Base test mbedtls_mpi_mod_int #8 (By 2) -mbedtls_mpi_mod_int:10:"1000":2:0:0 - -Test mbedtls_mpi_mod_int: 0 (null) % 1 -mbedtls_mpi_mod_int:16:"":1:0:0 - -Test mbedtls_mpi_mod_int: 0 (null) % 2 -mbedtls_mpi_mod_int:16:"":2:0:0 - -Test mbedtls_mpi_mod_int: 0 (null) % -1 -mbedtls_mpi_mod_int:16:"":-1:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Test mbedtls_mpi_mod_int: 0 (null) % -2 -mbedtls_mpi_mod_int:16:"":-2:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE - -Base test mbedtls_mpi_exp_mod #1 -mbedtls_mpi_exp_mod:10:"23":10:"13":10:"29":10:"24":0 - -Base test mbedtls_mpi_exp_mod #2 (Even N) -mbedtls_mpi_exp_mod:10:"23":10:"13":10:"30":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_exp_mod #2 (N = 0 (null)) -mbedtls_mpi_exp_mod:10:"23":10:"13":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_exp_mod #3 (Negative N) -mbedtls_mpi_exp_mod:10:"23":10:"13":10:"-29":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_exp_mod #4 (Negative base) -mbedtls_mpi_exp_mod:10:"-23":10:"13":10:"29":10:"5":0 - -Base test mbedtls_mpi_exp_mod #5 (Negative exponent) -mbedtls_mpi_exp_mod:10:"23":10:"-13":10:"29":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Base test mbedtls_mpi_exp_mod #6 (Negative base + exponent) -mbedtls_mpi_exp_mod:10:"-23":10:"-13":10:"29":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (null) mod 9 -mbedtls_mpi_exp_mod:16:"":16:"":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 0 (null) ^ 0 (1 limb) mod 9 -mbedtls_mpi_exp_mod:16:"":16:"00":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 0 (null) ^ 1 mod 9 -mbedtls_mpi_exp_mod:16:"":16:"01":16:"09":16:"":0 - -Test mbedtls_mpi_exp_mod: 0 (null) ^ 2 mod 9 -mbedtls_mpi_exp_mod:16:"":16:"02":16:"09":16:"":0 - -Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (null) mod 9 -mbedtls_mpi_exp_mod:16:"00":16:"":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 0 (1 limb) mod 9 -mbedtls_mpi_exp_mod:16:"00":16:"00":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 1 mod 9 -mbedtls_mpi_exp_mod:16:"00":16:"01":16:"09":16:"":0 - -Test mbedtls_mpi_exp_mod: 0 (1 limb) ^ 2 mod 9 -mbedtls_mpi_exp_mod:16:"00":16:"02":16:"09":16:"":0 - -Test mbedtls_mpi_exp_mod: 1 ^ 0 (null) mod 9 -mbedtls_mpi_exp_mod:16:"01":16:"":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 4 ^ 0 (null) mod 9 -mbedtls_mpi_exp_mod:16:"04":16:"":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 10 ^ 0 (null) mod 9 -mbedtls_mpi_exp_mod:16:"0a":16:"":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 1 ^ 0 (1 limb) mod 9 -mbedtls_mpi_exp_mod:16:"01":16:"00":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 4 ^ 0 (1 limb) mod 9 -mbedtls_mpi_exp_mod:16:"04":16:"00":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: 10 ^ 0 (1 limb) mod 9 -mbedtls_mpi_exp_mod:16:"0a":16:"00":16:"09":16:"1":0 - -Test mbedtls_mpi_exp_mod: MAX_SIZE exponent -mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:10:10:"":0 - -Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent -mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:10:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_exp_mod: MAX_SIZE modulus -mbedtls_mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE:10:"":0 - -Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 modulus -mbedtls_mpi_exp_mod_size:2:2:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_exp_mod: MAX_SIZE exponent and modulus -mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:10:"":0 - -Test mbedtls_mpi_exp_mod: MAX_SIZE + 1 exponent and modulus -mbedtls_mpi_exp_mod_size:2:MBEDTLS_MPI_MAX_SIZE + 1:MBEDTLS_MPI_MAX_SIZE + 1:10:"":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_exp_mod #1 -depends_on:MPI_MAX_BITS_LARGER_THAN_792 -mbedtls_mpi_exp_mod:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"583137007797276923956891216216022144052044091311388601652961409557516421612874571554415606746479105795833145583959622117418531166391184939066520869800857530421873250114773204354963864729386957427276448683092491947566992077136553066273207777134303397724679138833126700957":10:"114597449276684355144920670007147953232659436380163461553186940113929777196018164149703566472936578890991049344459204199888254907113495794730452699842273939581048142004834330369483813876618772578869083248061616444392091693787039636316845512292127097865026290173004860736":0 - -Test mbedtls_mpi_exp_mod (Negative base) [#1] -mbedtls_mpi_exp_mod:10:"-10000000000":10:"10000000000":10:"99999":10:"1":0 - -Test mbedtls_mpi_exp_mod (Negative base) [#2] -depends_on:MPI_MAX_BITS_LARGER_THAN_792 -mbedtls_mpi_exp_mod:16:"-9f13012cd92aa72fb86ac8879d2fde4f7fd661aaae43a00971f081cc60ca277059d5c37e89652e2af2585d281d66ef6a9d38a117e9608e9e7574cd142dc55278838a2161dd56db9470d4c1da2d5df15a908ee2eb886aaa890f23be16de59386663a12f1afbb325431a3e835e3fd89b98b96a6f77382f458ef9a37e1f84a03045c8676ab55291a94c2228ea15448ee96b626b998":16:"40a54d1b9e86789f06d9607fb158672d64867665c73ee9abb545fc7a785634b354c7bae5b962ce8040cf45f2c1f3d3659b2ee5ede17534c8fc2ec85c815e8df1fe7048d12c90ee31b88a68a081f17f0d8ce5f4030521e9400083bcea73a429031d4ca7949c2000d597088e0c39a6014d8bf962b73bb2e8083bd0390a4e00b9b3":16:"eeaf0ab9adb38dd69c33f80afa8fc5e86072618775ff3c0b9ea2314c9c256576d674df7496ea81d3383b4813d692c6e0e0d5d8e250b98be48e495c1d6089dad15dc7d7b46154d6b6ce8ef4ad69b15d4982559b297bcf1885c529f566660e57ec68edbc3c05726cc02fd4cbf4976eaa9afd5138fe8376435b9fc61d2fc0eb06e3":16:"21acc7199e1b90f9b4844ffe12c19f00ec548c5d32b21c647d48b6015d8eb9ec9db05b4f3d44db4227a2b5659c1a7cceb9d5fa8fa60376047953ce7397d90aaeb7465e14e820734f84aa52ad0fc66701bcbb991d57715806a11531268e1e83dd48288c72b424a6287e9ce4e5cc4db0dd67614aecc23b0124a5776d36e5c89483":0 - -Base test GCD #1 -mbedtls_mpi_gcd:10:"693":10:"609":10:"21" - -Base test GCD #2 -mbedtls_mpi_gcd:10:"1764":10:"868":10:"28" - -Base test GCD #3 -mbedtls_mpi_gcd:10:"768454923":10:"542167814":10:"1" - -Test GCD: 0 (null), 0 (null) -mbedtls_mpi_gcd:16:"":16:"":16:"0" - -Test GCD: 0 (null), 0 (1 limb) -mbedtls_mpi_gcd:16:"":16:"00":16:"0" - -Test GCD: 0 (null), 3 -mbedtls_mpi_gcd:16:"":16:"03":16:"3" - -Test GCD: 0 (null), 6 -mbedtls_mpi_gcd:16:"":16:"06":16:"6" - -Test GCD: 0 (1 limb), 0 (null) -mbedtls_mpi_gcd:16:"00":16:"":16:"0" - -Test GCD: 0 (1 limb), 3 -mbedtls_mpi_gcd:16:"00":16:"03":16:"3" - -Test GCD: 0 (1 limb), 6 -mbedtls_mpi_gcd:16:"00":16:"06":16:"6" - -Test GCD: 3, 0 (null) -mbedtls_mpi_gcd:16:"03":16:"":16:"3" - -Test GCD: 3, 0 (1 limb) -mbedtls_mpi_gcd:16:"03":16:"00":16:"3" - -Test GCD: 6, 0 (null) -mbedtls_mpi_gcd:16:"06":16:"":16:"6" - -Test GCD: 6, 0 (1 limb) -mbedtls_mpi_gcd:16:"06":16:"00":16:"6" - -Test GCD: gcd=1, 0 < A < B -mbedtls_mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1" - -Test GCD: gcd=1, 0 < B < A -mbedtls_mpi_gcd:10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"1" - -Test GCD: gcd=1, A > 0, B < 0 -mbedtls_mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"-5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1" - -Test GCD: gcd=1, A < 0 < B, |A| < |B| -mbedtls_mpi_gcd:10:"-433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1" - -Test GCD: gcd=1, B < A < 0 -mbedtls_mpi_gcd:10:"-433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"-5781538327977828897150909166778407659250458379645823062042492461576758526757490910073628008613977550546382774775570888130029763571528699574717583228939535960234464230882573615930384979100379102915657483866755371559811718767760594919456971354184113721":10:"1" - -Test GCD: gcd=2, 0 < A < B -mbedtls_mpi_gcd:10:"866038481820754956434747145919120219639297294032193121047538021762345738166676571147513149114791725930190032967735626087327963892955396933002903664815184654712662526249110275464787876484571564289857507839177265358101598397874265844290169694":10:"11563076655955657794301818333556815318500916759291646124084984923153517053514981820147256017227955101092765549551141776260059527143057399149435166457879071920468928461765147231860769958200758205831314967733510743119623437535521189838913942708368227442":10:"2" - -Test GCD: gcd=2, 0 < B < A -mbedtls_mpi_gcd:10:"11563076655955657794301818333556815318500916759291646124084984923153517053514981820147256017227955101092765549551141776260059527143057399149435166457879071920468928461765147231860769958200758205831314967733510743119623437535521189838913942708368227442":10:"866038481820754956434747145919120219639297294032193121047538021762345738166676571147513149114791725930190032967735626087327963892955396933002903664815184654712662526249110275464787876484571564289857507839177265358101598397874265844290169694":10:"2" - -Test GCD: gcd=3, 0 < A < B -mbedtls_mpi_gcd:10:"1299057722731132434652120718878680329458945941048289681571307032643518607250014856721269723672187588895285049451603439130991945839433095399504355497222776982068993789373665413197181814726857346434786261758765898037152397596811398766435254541":10:"17344614983933486691452727500335222977751375138937469186127477384730275580272472730220884025841932651639148324326712664390089290714586098724152749686818607880703392692647720847791154937301137308746972451600266114679435156303281784758370914062552341163":10:"3" - -Test GCD: gcd=3, 0 < B < A -mbedtls_mpi_gcd:10:"17344614983933486691452727500335222977751375138937469186127477384730275580272472730220884025841932651639148324326712664390089290714586098724152749686818607880703392692647720847791154937301137308746972451600266114679435156303281784758370914062552341163":10:"1299057722731132434652120718878680329458945941048289681571307032643518607250014856721269723672187588895285049451603439130991945839433095399504355497222776982068993789373665413197181814726857346434786261758765898037152397596811398766435254541":10:"3" - -Test GCD: gcd=4, 0 < A < B -mbedtls_mpi_gcd:10:"1732076963641509912869494291838240439278594588064386242095076043524691476333353142295026298229583451860380065935471252174655927785910793866005807329630369309425325052498220550929575752969143128579715015678354530716203196795748531688580339388":10:"23126153311911315588603636667113630637001833518583292248169969846307034107029963640294512034455910202185531099102283552520119054286114798298870332915758143840937856923530294463721539916401516411662629935467021486239246875071042379677827885416736454884":10:"4" - -Test GCD: gcd=4, 0 < B < A -mbedtls_mpi_gcd:10:"23126153311911315588603636667113630637001833518583292248169969846307034107029963640294512034455910202185531099102283552520119054286114798298870332915758143840937856923530294463721539916401516411662629935467021486239246875071042379677827885416736454884":10:"1732076963641509912869494291838240439278594588064386242095076043524691476333353142295026298229583451860380065935471252174655927785910793866005807329630369309425325052498220550929575752969143128579715015678354530716203196795748531688580339388":10:"4" - -Test GCD: gcd=6, 0 < A < B -mbedtls_mpi_gcd:10:"2598115445462264869304241437757360658917891882096579363142614065287037214500029713442539447344375177790570098903206878261983891678866190799008710994445553964137987578747330826394363629453714692869572523517531796074304795193622797532870509082":10:"34689229967866973382905455000670445955502750277874938372254954769460551160544945460441768051683865303278296648653425328780178581429172197448305499373637215761406785385295441695582309874602274617493944903200532229358870312606563569516741828125104682326":10:"6" - -Test GCD: gcd=6, 0 < B < A -mbedtls_mpi_gcd:10:"34689229967866973382905455000670445955502750277874938372254954769460551160544945460441768051683865303278296648653425328780178581429172197448305499373637215761406785385295441695582309874602274617493944903200532229358870312606563569516741828125104682326":10:"2598115445462264869304241437757360658917891882096579363142614065287037214500029713442539447344375177790570098903206878261983891678866190799008710994445553964137987578747330826394363629453714692869572523517531796074304795193622797532870509082":10:"6" - -Test GCD: 0 < A = B -mbedtls_mpi_gcd:10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847":10:"433019240910377478217373572959560109819648647016096560523769010881172869083338285573756574557395862965095016483867813043663981946477698466501451832407592327356331263124555137732393938242285782144928753919588632679050799198937132922145084847" - -Base test mbedtls_mpi_inv_mod #1 -mbedtls_mpi_inv_mod:10:"3":10:"11":10:"4":0 - -Test mbedtls_mpi_inv_mod: mod 0 (null) -mbedtls_mpi_inv_mod:10:"3":10:"":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_inv_mod: mod 0 (1 limb) -mbedtls_mpi_inv_mod:10:"3":10:"0":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_inv_mod: mod negative -mbedtls_mpi_inv_mod:10:"3":10:"-11":10:"4":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_inv_mod: 2^-1 mod 4 -mbedtls_mpi_inv_mod:10:"2":10:"4":10:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_inv_mod: mod 1 -mbedtls_mpi_inv_mod:10:"3":10:"1":10:"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_inv_mod: 0 (null) ^-1 -mbedtls_mpi_inv_mod:16:"":16:"11":16:"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_inv_mod: 0 (1 limb) ^-1 -mbedtls_mpi_inv_mod:16:"00":16:"11":16:"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_inv_mod #1 -mbedtls_mpi_inv_mod:16:"aa4df5cb14b4c31237f98bd1faf527c283c2d0f3eec89718664ba33f9762907c":16:"fffbbd660b94412ae61ead9c2906a344116e316a256fd387874c6c675b1d587d":16:"8d6a5c1d7adeae3e94b9bcd2c47e0d46e778bc8804a2cc25c02d775dc3d05b0c":0 - -Base test mbedtls_mpi_is_prime #1 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"0":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Base test mbedtls_mpi_is_prime #2 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"1":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Base test mbedtls_mpi_is_prime #3 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"2":0 - -Base test mbedtls_mpi_is_prime #4 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"3":0 - -Base test mbedtls_mpi_is_prime #5 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"4":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Base test mbedtls_mpi_is_prime #6 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"5":0 - -Base test mbedtls_mpi_is_prime #7 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"27":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Base test mbedtls_mpi_is_prime #8 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"47":0 - -Test mbedtls_mpi_is_prime #1a -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"83726728883146151979668243326097049289208482987685965276439157162337476477581":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_is_prime #1b -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"81248637410584921454869308488899267096530643632730258201256092582281263244641":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_is_prime #2a -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0 - -Test mbedtls_mpi_is_prime #2b -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912001":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE - -Test mbedtls_mpi_is_prime #3 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"2833419889721787128217599":0 - -Test mbedtls_mpi_is_prime #4 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"195845982777569926302400511":0 - -Test mbedtls_mpi_is_prime #5 [#1] -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"4776913109852041418248056622882488319":0 - -Test mbedtls_mpi_is_prime #5 [#2] -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"768614336404564651":0 - -Test mbedtls_mpi_is_prime #6 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"201487636602438195784363":0 - -Test mbedtls_mpi_is_prime #7 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"845100400152152934331135470251":0 - -Test mbedtls_mpi_is_prime #8 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"56713727820156410577229101238628035243":0 - -Test mbedtls_mpi_is_prime #9 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"203956878356401977405765866929034577280193993314348263094772646453283062722701277632936616063144088173312372882677123879538709400158306567338328279154499698366071906766440037074217117805690872792848149112022286332144876183376326512083574821647933992961249917319836219304274280243803104015000563790123":0 - -Test mbedtls_mpi_is_prime #10 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"531872289054204184185084734375133399408303613982130856645299464930952178606045848877129147820387996428175564228204785846141207532462936339834139412401975338705794646595487324365194792822189473092273993580587964571659678084484152603881094176995594813302284232006001752128168901293560051833646881436219":0 - -Test mbedtls_mpi_is_prime #11 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"319705304701141539155720137200974664666792526059405792539680974929469783512821793995613718943171723765238853752439032835985158829038528214925658918372196742089464683960239919950882355844766055365179937610326127675178857306260955550407044463370239890187189750909036833976197804646589380690779463976173":0 - -Test mbedtls_mpi_is_prime #12 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"200603822195324642393516294012917598972967449320074999667103434371470616000652036570009912021332527788252300901905236578801044680456930305350440933538867383130165841118050781326291059830545891570648243241795871":0 - -Test mbedtls_mpi_is_prime #13 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"827131507221654563937832686696200995595835694437983658840870036586124168186967796809117749047430768825822857042432722828096779098498192459819306321073968735177531164565305635281198148032612029767584644305912099":0 - -Test mbedtls_mpi_is_prime #14 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"964274047248418797145090983157197980855078966882276492572788532954904112655338439361306213898569516593744267391754033306465125919199692703323878557833023573312685002670662846477592597659826113460619815244721311":0 - -Test mbedtls_mpi_is_prime #15 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"170141183460469231731687303715884105727":0 - -Test mbedtls_mpi_is_prime #16 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"2147483647":0 - -Test mbedtls_mpi_is_prime #17 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"961748941":0 - -Test mbedtls_mpi_is_prime #18 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"179424691":0 - -Test mbedtls_mpi_is_prime #19 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"32452867":0 - -Test mbedtls_mpi_is_prime #20 -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime:10:"49979687":0 - -Test mbedtls_mpi_is_prime_det (4 non-witnesses) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime_det:"043BD64BA10B11DA83FBD296B04BCA9E0552FAF6E09CAC74E2D7E735ED0DB09FC47ED76145644203EE0C826013BC602F560BCDAAED557D04683859A65D659FF828A245A2C5B1AC41E01E4669A525A45E23AF":"040EA852F7935ACCECC0E87B845281F047D10DC9AAFEF990AF9D3D66770DA30B0C5B5E03EEA8C0CB79B936FE0BB8EE5389EC1D34EB16C58AA3F2E11AF084160CDF6400BE1CC179867AB074866952D9F34EE7042D27F960E715A97FCB93F3182247D0A6AE51BD21CC2F6B0651F9E572C5FB86F3137053FA85FD7A51816D69B3A53A5A438C17754836D04E98CA240B901F828332F2D72D88C497DA45F533F99A6E53EDEA6B0424EC8951B048FA9A80134B37D0A67014597934E3CFC52C5A4DD4751ADF8D66FC79E84E2A3148C4B15C17E12CB659390FD275F39A331FFC80EC699BC3F6FAB868E30E9B14575FCDAB6FAED01E00112DD28704177E09C335AD43A696FEA761E8DF3B0663277A5C3637F9060CB5E5654F72E9A6B0F369E660AD4CF7ABF4195493545B367BD55271CD4BB7D9C15D3F508FE8F7409C2126FC8E73B43A67CD4EFB21E9F15DBF040A2A8D5F5ED75CEAC12B595C0051F3EC9D5A58ACE82A9506E64F780E9836728260FFE1BFD73E8A9869E3D46A35A856D3028F7FEAB9F4F1A04449AEDC80017EE1014080D87F0B50C8EF255324CD89F7D039":82:5 - -Test mbedtls_mpi_is_prime_det (39 non-witnesses) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_is_prime_det:"155102B67930FBE8858DF6C0642D77D419A7B7968E622CC7500F3E3F2C5168368C50E0083187":"119B3E2C721834D83416239B04447AA18AE0163E61DCAE97054563D79E094A6FA4485BD6A0501445BF57FE9C058926CDB862E04CC1A95D79D61D9AB3466857A53E04F8D7470C9C86649B226A13DDC534E18DFD5C22FAEA317CA4D4960F18457FD6D2FFB5F3273F74C89980DC774590D8D30D1159CA81999ED94A042D67DA68C82616AD46C2C88288A8EBD0B37AC7C152D9522CA4544642AD1210F6B642FEBF43563FA872B0DEFAFC69D0B6570E8FEA9570D0AADCFA9B06CC8BFD62CEDC221541210EEEF9762448C6D49F26AA767A4D66CB168589E0201923015314E6CD4A480E5936E7CF145F73A564C5B782635B3AFC3028E2632C5D3458224A7C9E8BA1876E8F690463C878292D3DC011E9640331E7F7621F2B5E0F6713DD8C9D6767521C4BA880DA8D11C67753C8493D2C4C4F1443147550D0B25B7FAD04EAFA9F8AA60974C1365C8A794CFEECEB4279B1150909A97E5A7A10B5D91186CA5B25A612036631FE73529C8CFAE51E76FB704A772DE5320EFC1212E7A399B1FEBF57D014AF9129DFF5D2C5DFBBEEAC55F360CF6D22FA90B8E2E9AD0C71AB6495A9452A58D653B8CC26128C66B43EFBA6E39AEC5717A1A3C2AE1449FCABAFE1180B159DA55190CD81A3D9E8D798647E11B827F0A057D6DA5AAD78AB5112EE65E10E8B8B369BA24E1B8AD2CD8548C497016C07A143DE1232F8059BE303572456FA92E76A0F23D1340629228B7D27C02D3833A72745B91A3DBEB5E081117A9F19597F00E4277B414FAEA8C8CEB895C37F956A5A22F8D7A10ADA50B22BAB312504904511AA0EFDD4D3BF20ECB17E8A684564FFB5BBD5E22C429F9A75A4FB4AE468FE7612ED53C7A11212E7EF3435CC9CA6E7DB167B8CCE2BECF35F89013F8F876223C77FA81570970858663C6E32B91080AA47F9C90177F51E6FD7747B910C9489C7B6ACB070996198AD9A40A69711274159210A9A12DBAAA4FB4632446066AB70D735DC95F7C2BCE517E88C064D728DE82B1B043DF4AEE0EFF5131120A4E5B9B4180EB6F6B8A0D1491ABDA069058A9966B1A517D8E7B4997DC52A1E698FD79E271153DF1913FE6787A5D99DE69F39C3F22D26DC731CFBB33FF5C267D85D7A3DAE8E1C87E1DB2F1236212EF1942EA756967FB3D07D629E59EA4034D9A9B5E270DD4A31C8A3DFDA99C1094B5537132C196DA2AEAF5253A019B9AF25B5DCB0D4DD75C7C9C353DA9DAABFB23959A5455312E7E1C21268C1BC14E83DCFDF50C27FD3E8B4EDC04C5F3CB5FCFFF2B57151E1B1EE1A6456DC006BC43E1158674AA4CF7D146DE4A57103BE43ED130C8007294ED2418C7A2B769A7D20EBB5A8367A77B313F81BB119B9954305FF160FF83EED7F808EE6D340A5CCC000CF81AA497D315D350CCE4E86A31456B8AA85B677491FC662933DFA55EB5BFF64B8D85430D676A85D1CAFAFF383E68C4E6C22A51063739EC03FC58C36C07C44E54828BE2152B2E9AFB0F179B157D09B64C147B524BB5424BB1914419424D9100D06EDCFC718F4DF3D562E9E16C446663F35273CA7BC5426B868A80C8D415C9A12A1619CDB7CDB5BEBC70313150BDF8C3AB26B809FE62D28E798EF1EF98C410A2DA0A9071F82154AC569078B0E647E2C085D1D907E634453442803D0492D3D0C78CACB762020C0E589C8B0981321EA2771305FD0413F3B2963FCE9A232F6641DB7E12ADC009A032063C41756E5E19E5711DE12711F07AFE7545B4D83F3EFD7BFD0435297C89DF3D4AF96EBE2CE8D64B93E36EA5D7E5A0492151D0CAEE7449A7D35E1A3C83E22C3B35162C073CC3B1CF76FBDEE84270721FC042EAAEB7325110181415E2031CFB7462F15111291CDAC0560FF9F4C7341F2FA261B97CEF348D074AA2EB4DB153FE6B1410519DA4213B611999868F3B867A2B6D758D333C4989DE80782683CA26ECDE373C71524F01B76349CE8A07A5EBECBB42259CF970DDA756EC996B189FEA045FEE45F23D476960913106ECA2510B8517AA75D56FA4152B2BDDC212014E5D07FD964D6EE532F0616DF74E104659955132331FABF2D2AD265E71C93C648A956FA0A3DB21FF103D516527F2DA0E870340B61EE8A8ED913B60605EB5A67B834D0FC90564386012585609870FEF6530B3E3C037B55506F0B5694F6B0FC":38:40 - -Test mbedtls_mpi_gen_prime (Too small) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:2:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Test mbedtls_mpi_gen_prime (OK, minimum size) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:3:0:0 - -Test mbedtls_mpi_gen_prime (corner case limb size -1 bits) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:63:0:0 - -Test mbedtls_mpi_gen_prime (corner case limb size) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:64:0:0 - -Test mbedtls_mpi_gen_prime (corner case limb size +1 bits) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:65:0:0 - -Test mbedtls_mpi_gen_prime (Larger) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:128:0:0 - -Test mbedtls_mpi_gen_prime (Safe) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH:0 - -Test mbedtls_mpi_gen_prime (Safe with lower error rate) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:128:MBEDTLS_MPI_GEN_PRIME_FLAG_DH | MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 - -Test mbedtls_mpi_gen_prime standard RSA #1 (lower error rate) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:1024:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 - -Test mbedtls_mpi_gen_prime standard RSA #2 (lower error rate) -depends_on:MBEDTLS_GENPRIME -mbedtls_mpi_gen_prime:1536:MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR:0 - -Test bit getting (Value bit 25) -mbedtls_mpi_get_bit:10:"49979687":25:1 - -Test bit getting (Larger but same limb) -mbedtls_mpi_get_bit:10:"49979687":26:0 - -Test bit getting (Larger and non-existing limb) -mbedtls_mpi_get_bit:10:"49979687":500:0 - -Test bit getting in 0 (null) -mbedtls_mpi_get_bit:10:"":500:0 - -Test bit getting (Value bit 24) -mbedtls_mpi_get_bit:10:"49979687":24:0 - -Test bit getting (Value bit 23) -mbedtls_mpi_get_bit:10:"49979687":23:1 - -Test bit set (Change existing value with a 1) -mbedtls_mpi_set_bit:10:"49979687":24:1:10:"66756903":0 - -Test bit set (Change existing value with a 0) -mbedtls_mpi_set_bit:10:"49979687":25:0:10:"16425255":0 - -Test bit set (Add above existing limbs with a 0) -mbedtls_mpi_set_bit:10:"49979687":80:0:10:"49979687":0 - -Test bit set (Add above existing limbs with a 1) -mbedtls_mpi_set_bit:10:"49979687":80:1:10:"1208925819614629224685863":0 - -Test bit set (Add to 0 (null) with a 0) -mbedtls_mpi_set_bit:16:"":65:0:16:"":0 - -Test bit set (Add to 0 (null) with a 1) -mbedtls_mpi_set_bit:16:"":65:1:16:"020000000000000000":0 - -Test bit set (Bit index larger than 31 with a 0) -mbedtls_mpi_set_bit:16:"FFFFFFFFFFFFFFFF":32:0:16:"FFFFFFFEFFFFFFFF":0 - -Test bit set (Bit index larger than 31 with a 1) -mbedtls_mpi_set_bit:16:"00":32:1:16:"0100000000":0 - -Test bit set (Invalid bit value) -mbedtls_mpi_set_bit:16:"00":5:2:16:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -Fill random: 0 bytes -mpi_fill_random:0:0:0:0 - -Fill random: 1 byte, good -mpi_fill_random:1:1:0:0 - -Fill random: 2 bytes, good, no leading zero -mpi_fill_random:2:2:0:0 - -Fill random: 2 bytes, good, 1 leading zero -mpi_fill_random:2:256:0:0 - -Fill random: MAX_SIZE - 7, good -mpi_fill_random:MBEDTLS_MPI_MAX_SIZE - 7:MBEDTLS_MPI_MAX_SIZE - 7:0:0 - -Fill random: MAX_SIZE, good -mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE:0:0 - -Fill random: 0 bytes, previously small >0 -mpi_fill_random:0:0:1:0 - -Fill random: 0 bytes, previously small <0 -mpi_fill_random:0:0:-1:0 - -Fill random: 0 bytes, previously large >0 -mpi_fill_random:0:0:65:0 - -Fill random: 0 bytes, previously large <0 -mpi_fill_random:0:0:-65:0 - -Fill random: 1 byte, previously small >0 -mpi_fill_random:1:1:1:0 - -Fill random: 1 byte, previously small <0 -mpi_fill_random:1:1:-1:0 - -Fill random: 1 byte, previously large >0 -mpi_fill_random:1:1:65:0 - -Fill random: 1 byte, previously large <0 -mpi_fill_random:1:1:-65:0 - -Fill random: 9 bytes, previously small >0 -mpi_fill_random:1:1:1:0 - -Fill random: 9 bytes, previously small <0 -mpi_fill_random:1:1:-1:0 - -Fill random: 1 byte, RNG failure -mpi_fill_random:1:0:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 2 bytes, RNG failure after 1 byte -mpi_fill_random:2:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 4 bytes, RNG failure after 3 bytes -mpi_fill_random:4:3:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 8 bytes, RNG failure after 7 bytes -mpi_fill_random:8:7:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 16 bytes, RNG failure after 1 bytes -mpi_fill_random:16:1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 16 bytes, RNG failure after 8 bytes -mpi_fill_random:16:8:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: 16 bytes, RNG failure after 15 bytes -mpi_fill_random:16:15:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -Fill random: MAX_SIZE bytes, RNG failure after MAX_SIZE-1 bytes -mpi_fill_random:MBEDTLS_MPI_MAX_SIZE:MBEDTLS_MPI_MAX_SIZE-1:0:MBEDTLS_ERR_ENTROPY_SOURCE_FAILED - -MPI random in range: 1..2 -mpi_random_many:1:"02":1000 - -MPI random in range: 1..3 -mpi_random_many:1:"03":1000 - -MPI random in range: 1..4 -mpi_random_many:1:"04":1000 - -MPI random in range: 1..5 -mpi_random_many:1:"05":1000 - -MPI random in range: 1..6 -mpi_random_many:1:"06":1000 - -MPI random in range: 1..7 -mpi_random_many:1:"07":1000 - -MPI random in range: 1..8 -mpi_random_many:1:"08":1000 - -MPI random in range: 1..9 -mpi_random_many:1:"09":1000 - -MPI random in range: 1..10 -mpi_random_many:1:"0a":1000 - -MPI random in range: 1..11 -mpi_random_many:1:"0b":1000 - -MPI random in range: 1..12 -mpi_random_many:1:"0c":1000 - -MPI random in range: 1..255 -mpi_random_many:1:"ff":100 - -MPI random in range: 1..256 -mpi_random_many:1:"0100":100 - -MPI random in range: 1..257 -mpi_random_many:1:"0101":100 - -MPI random in range: 1..272 -mpi_random_many:1:"0110":100 - -MPI random in range: 1..2^64-1 -mpi_random_many:1:"ffffffffffffffff":100 - -MPI random in range: 1..2^64 -mpi_random_many:1:"010000000000000000":100 - -MPI random in range: 1..2^64+1 -mpi_random_many:1:"010000000000000001":100 - -MPI random in range: 1..2^64+2^63 -mpi_random_many:1:"018000000000000000":100 - -MPI random in range: 1..2^65-1 -mpi_random_many:1:"01ffffffffffffffff":100 - -MPI random in range: 1..2^65 -mpi_random_many:1:"020000000000000000":100 - -MPI random in range: 1..2^65+1 -mpi_random_many:1:"020000000000000001":100 - -MPI random in range: 1..2^65+2^64 -mpi_random_many:1:"030000000000000000":100 - -MPI random in range: 1..2^66+2^65 -mpi_random_many:1:"060000000000000000":100 - -MPI random in range: 1..2^71-1 -mpi_random_many:1:"7fffffffffffffffff":100 - -MPI random in range: 1..2^71 -mpi_random_many:1:"800000000000000000":100 - -MPI random in range: 1..2^71+1 -mpi_random_many:1:"800000000000000001":100 - -MPI random in range: 1..2^71+2^70 -mpi_random_many:1:"c00000000000000000":100 - -MPI random in range: 1..2^72-1 -mpi_random_many:1:"ffffffffffffffffff":100 - -MPI random in range: 1..2^72 -mpi_random_many:1:"01000000000000000000":100 - -MPI random in range: 1..2^72+1 -mpi_random_many:1:"01000000000000000001":100 - -MPI random in range: 1..2^72+2^71 -mpi_random_many:1:"01800000000000000000":100 - -MPI random in range: 0..1 -mpi_random_many:0:"04":10000 - -MPI random in range: 0..4 -mpi_random_many:0:"04":10000 - -MPI random in range: 2..4 -mpi_random_many:2:"04":10000 - -MPI random in range: 3..4 -mpi_random_many:3:"04":10000 - -MPI random in range: smaller result -mpi_random_sizes:1:"aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb":1:0 - -MPI random in range: same size result (32-bit limbs) -mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":2:0 - -MPI random in range: same size result (64-bit limbs) -mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":1:0 - -MPI random in range: larger result -mpi_random_sizes:1:"aaaaaaaaaaaaaaaa":3:0 - -## The "0 limb in upper bound" tests rely on the fact that -## mbedtls_mpi_read_binary() bases the size of the MPI on the size of -## the input, without first checking for leading zeros. If this was -## not the case, the tests would still pass, but would not exercise -## the advertised behavior. -MPI random in range: leading 0 limb in upper bound #0 -mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":0:0 - -MPI random in range: leading 0 limb in upper bound #1 -mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":1:0 - -MPI random in range: leading 0 limb in upper bound #2 -mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":2:0 - -MPI random in range: leading 0 limb in upper bound #3 -mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":3:0 - -MPI random in range: leading 0 limb in upper bound #4 -mpi_random_sizes:1:"00aaaaaaaaaaaaaaaa":4:0 - -MPI random in range: previously small >0 -mpi_random_sizes:1:"1234567890":4:1 - -MPI random in range: previously small <0 -mpi_random_sizes:1:"1234567890":4:-1 - -MPI random in range: previously large >0 -mpi_random_sizes:1:"1234":4:65 - -MPI random in range: previously large <0 -mpi_random_sizes:1:"1234":4:-65 - -MPI random bad arguments: min < 0 -mpi_random_fail:-1:"04":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI random bad arguments: min = N = 0 -mpi_random_fail:0:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI random bad arguments: min = N = 1 -mpi_random_fail:1:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI random bad arguments: min > N = 0 -mpi_random_fail:1:"00":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI random bad arguments: min > N = 1 -mpi_random_fail:2:"01":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI random bad arguments: min > N = 1, 0 limb in upper bound -mpi_random_fail:2:"000000000000000001":MBEDTLS_ERR_MPI_BAD_INPUT_DATA - -MPI Selftest -depends_on:MBEDTLS_SELF_TEST -mpi_selftest: diff --git a/tests/suites/test_suite_mps.function b/tests/suites/test_suite_mps.function index c40c50e694..ec1122ae43 100644 --- a/tests/suites/test_suite_mps.function +++ b/tests/suites/test_suite_mps.function @@ -295,7 +295,7 @@ void mbedtls_mps_reader_reclaim_overflow() /* This test exercises the behaviour of the MPS reader with accumulator * in the situation where upon calling mbedtls_mps_reader_reclaim(), the * uncommitted data together with the excess data missing in the last - * call to medtls_mps_reader_get() exceeds the bounds of the type + * call to mbedtls_mps_reader_get() exceeds the bounds of the type * holding the buffer length. */ diff --git a/tests/suites/test_suite_oid.data b/tests/suites/test_suite_oid.data index 5be1f8db60..1738841d59 100644 --- a/tests/suites/test_suite_oid.data +++ b/tests/suites/test_suite_oid.data @@ -59,31 +59,31 @@ OID get x509 extension - wrong oid - id-ce oid_get_x509_extension:"551D":0 OID hash id - id-md5 -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"2A864886f70d0205":MBEDTLS_MD_MD5 OID hash id - id-sha1 -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"2b0e03021a":MBEDTLS_MD_SHA1 OID hash id - id-sha224 -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"608648016503040204":MBEDTLS_MD_SHA224 OID hash id - id-sha256 -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"608648016503040201":MBEDTLS_MD_SHA256 OID hash id - id-sha384 -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"608648016503040202":MBEDTLS_MD_SHA384 OID hash id - id-sha512 -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"608648016503040203":MBEDTLS_MD_SHA512 OID hash id - id-ripemd160 -depends_on:MBEDTLS_RIPEMD160_C +depends_on:MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA oid_get_md_alg_id:"2b24030201":MBEDTLS_MD_RIPEMD160 OID hash id - invalid oid diff --git a/tests/suites/test_suite_oid.function b/tests/suites/test_suite_oid.function index a255530e62..b06f524100 100644 --- a/tests/suites/test_suite_oid.function +++ b/tests/suites/test_suite_oid.function @@ -3,6 +3,7 @@ #include "mbedtls/asn1.h" #include "mbedtls/asn1write.h" #include "string.h" +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -82,7 +83,7 @@ void oid_get_x509_extension( data_t *oid, int exp_type ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_MD_C */ +/* BEGIN_CASE */ void oid_get_md_alg_id( data_t *oid, int exp_md_id ) { mbedtls_asn1_buf md_oid = { 0, 0, NULL }; diff --git a/tests/suites/test_suite_pem.data b/tests/suites/test_suite_pem.data index 59884e548f..1c9e0bf22d 100644 --- a/tests/suites/test_suite_pem.data +++ b/tests/suites/test_suite_pem.data @@ -20,22 +20,25 @@ PEM read (unencrypted, valid) mbedtls_pem_read_buffer:"^":"$":"^\nTWJlZCBUTFM=\n$":"":0:"4d62656420544c53" PEM read (DES-EDE3-CBC + invalid iv) +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C mbedtls_pem_read_buffer:"^":"$":"^\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: DES-EDE3-CBC,00$":"pwd":MBEDTLS_ERR_PEM_INVALID_ENC_IV:"" PEM read (DES-CBC + invalid iv) +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C mbedtls_pem_read_buffer:"^":"$":"^\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: DES-CBC,00$":"pwd":MBEDTLS_ERR_PEM_INVALID_ENC_IV:"" PEM read (unknown encryption algorithm) +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C mbedtls_pem_read_buffer:"^":"$":"^\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: AES-,00$":"pwd":MBEDTLS_ERR_PEM_UNKNOWN_ENC_ALG:"" PEM read (malformed PEM DES-CBC) -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pem_read_buffer:"-----BEGIN EC PRIVATE KEY-----":"-----END EC PRIVATE KEY-----":"-----BEGIN EC PRIVATE KEY-----\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: DES-CBC,AA94892A169FA426\n\nMAAA\n-----END EC PRIVATE KEY-----":"pwd":MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH:"" PEM read (malformed PEM DES-EDE3-CBC) -depends_on:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pem_read_buffer:"-----BEGIN EC PRIVATE KEY-----":"-----END EC PRIVATE KEY-----":"-----BEGIN EC PRIVATE KEY-----\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: DES-EDE3-CBC,AA94892A169FA426\n\nMAAA\n-----END EC PRIVATE KEY-----":"pwd":MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH:"" PEM read (malformed PEM AES-128-CBC) -depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pem_read_buffer:"-----BEGIN EC PRIVATE KEY-----":"-----END EC PRIVATE KEY-----":"-----BEGIN EC PRIVATE KEY-----\nProc-Type\: 4,ENCRYPTED\nDEK-Info\: AES-128-CBC,AA94892A169FA426AA94892A169FA426\n\nMAAA\n-----END EC PRIVATE KEY-----":"pwd":MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH:"" diff --git a/tests/suites/test_suite_pem.function b/tests/suites/test_suite_pem.function index bf5ac738a2..6328247272 100644 --- a/tests/suites/test_suite_pem.function +++ b/tests/suites/test_suite_pem.function @@ -3,6 +3,8 @@ #include "mbedtls/pem.h" #include "mbedtls/des.h" #include "mbedtls/aes.h" +#include "mbedtls/legacy_or_psa.h" + /* END_HEADER */ /* BEGIN_CASE depends_on:MBEDTLS_PEM_WRITE_C */ @@ -32,7 +34,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_AES_C:MBEDTLS_DES_C:MBEDTLS_MD5_C:MBEDTLS_CIPHER_MODE_CBC */ +/* BEGIN_CASE depends_on:MBEDTLS_PEM_PARSE_C */ void mbedtls_pem_read_buffer( char *header, char *footer, char *data, char *pwd, int res, data_t *out ) { diff --git a/tests/suites/test_suite_pk.data b/tests/suites/test_suite_pk.data index 6fd595c079..bd5d31ec41 100644 --- a/tests/suites/test_suite_pk.data +++ b/tests/suites/test_suite_pk.data @@ -1,3 +1,6 @@ +PK invalid parameters +pk_invalid_param: + PK valid parameters valid_parameters: @@ -310,12 +313,12 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_GENPRIME pk_can_do_ext:0:MBEDTLS_PK_RSA:0:0:0:1024:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):PSA_KEY_USAGE_SIGN_HASH:1 RSA verify test vector #1 (good) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -pk_rsa_verify_test_vec:"206ef4bf396c6087f8229ef196fd35f37ccb8de5efcdb238f20d556668f114257a11fbe038464a67830378e62ae9791453953dac1dbd7921837ba98e84e856eb80ed9487e656d0b20c28c8ba5e35db1abbed83ed1c7720a97701f709e3547a4bfcabca9c89c57ad15c3996577a0ae36d7c7b699035242f37954646c1cd5c08ac":MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +pk_rsa_verify_test_vec:"6a8a1f225703fe39753c1017b43eec9e070a70b1":MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 RSA verify test vector #2 (bad) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -pk_rsa_verify_test_vec:"d6248c3e96b1a7e5fea978870fcc4c9786b4e5156e16b7faef4557d667f730b8bc4c784ef00c624df5309513c3a5de8ca94c2152e0459618666d3148092562ebc256ffca45b27fd2d63c68bd5e0a0aefbe496e9e63838a361b1db6fc272464f191490bf9c029643c49d2d9cd08833b8a70b4b3431f56fb1eb55ccd39e77a9c92":MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"3203b7647fb7e345aa457681e5131777f1adc371f2fba8534928c4e52ef6206a856425d6269352ecbf64db2f6ad82397768cafdd8cd272e512d617ad67992226da6bc291c31404c17fd4b7e2beb20eff284a44f4d7af47fd6629e2c95809fa7f2241a04f70ac70d3271bb13258af1ed5c5988c95df7fa26603515791075feccd":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +pk_rsa_verify_test_vec:"9f294f0c7b32da6221a3ef83654322038e8968fa":MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"3203b7647fb7e345aa457681e5131777f1adc371f2fba8534928c4e52ef6206a856425d6269352ecbf64db2f6ad82397768cafdd8cd272e512d617ad67992226da6bc291c31404c17fd4b7e2beb20eff284a44f4d7af47fd6629e2c95809fa7f2241a04f70ac70d3271bb13258af1ed5c5988c95df7fa26603515791075feccd":MBEDTLS_ERR_RSA_VERIFY_FAILED ECDSA verify test vector #1 (good) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED @@ -403,23 +406,23 @@ pk_sign_verify:MBEDTLS_PK_RSA:512:0:0 RSA encrypt-decrypt test depends_on:MBEDTLS_PKCS1_V15 -pk_rsa_encrypt_decrypt_test:"4E636AF98E40F3ADCFCCB698F4E80B9F":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":0 +pk_rsa_encrypt_decrypt_test:"4E636AF98E40F3ADCFCCB698F4E80B9F":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":0 RSA decrypt test vector #1 depends_on:MBEDTLS_PKCS1_V15 -pk_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":0 +pk_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":0 RSA decrypt test vector #2 depends_on:MBEDTLS_PKCS1_V15 -pk_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404feb284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_INVALID_PADDING +pk_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404feb284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_INVALID_PADDING RSA Opaque decrypt test vector #1 depends_on:MBEDTLS_PKCS1_V15 -pk_wrap_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":0 +pk_wrap_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":0 RSA Opaque decrypt test vector #2 depends_on:MBEDTLS_PKCS1_V15 -pk_wrap_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404feb284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_INVALID_PADDING +pk_wrap_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404feb284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_INVALID_PADDING EC nocrypt depends_on:MBEDTLS_ECP_C @@ -438,103 +441,103 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_GENPRIME pk_rsa_alt: Verify ext RSA #1 (PKCS1 v2.1, salt_len = ANY, OK) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:0 +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:0 Verify ext RSA #2 (PKCS1 v2.1, salt_len = ANY, wrong message) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616766":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #3 (PKCS1 v2.1, salt_len = 0, OK) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:0:128:0 +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:0:128:0 Verify ext RSA #4 (PKCS1 v2.1, salt_len = max, OK) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:128:0 +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:128:0 Verify ext RSA #5 (PKCS1 v2.1, wrong salt_len) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:32:128:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:32:128:MBEDTLS_ERR_RSA_INVALID_PADDING Verify ext RSA #6 (PKCS1 v2.1, MGF1 alg != MSG hash alg) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_NONE:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:0 +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_NONE:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:0 Verify ext RSA #7 (PKCS1 v2.1, wrong MGF1 alg != MSG hash alg) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C -pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_NONE:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_NONE:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_INVALID_PADDING Verify ext RSA #8 (PKCS1 v2.1, RSASSA-PSS without options) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_BAD_INPUT_DATA +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_BAD_INPUT_DATA Verify ext RSA #9 (PKCS1 v1.5, RSA with options) -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSA:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_BAD_INPUT_DATA +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSA:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_BAD_INPUT_DATA Verify ext RSA #10 (PKCS1 v1.5, RSA without options) -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #11 (PKCS1 v2.1, asking for ECDSA) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_ECDSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_TYPE_MISMATCH +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_ECDSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:MBEDTLS_ERR_PK_TYPE_MISMATCH Verify ext RSA #12 (PKCS1 v1.5, good) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -pk_rsa_verify_ext_test_vec:"206ef4bf396c6087f8229ef196fd35f37ccb8de5efcdb238f20d556668f114257a11fbe038464a67830378e62ae9791453953dac1dbd7921837ba98e84e856eb80ed9487e656d0b20c28c8ba5e35db1abbed83ed1c7720a97701f709e3547a4bfcabca9c89c57ad15c3996577a0ae36d7c7b699035242f37954646c1cd5c08ac":MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":MBEDTLS_PK_RSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +pk_rsa_verify_ext_test_vec:"6a8a1f225703fe39753c1017b43eec9e070a70b1":MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":MBEDTLS_PK_RSA:-1:MBEDTLS_RSA_SALT_LEN_ANY:128:0 Verify ext RSA #13 (PKCS1 v2.1, salt_len = max, sig_len too long) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:129:MBEDTLS_ERR_PK_SIG_LEN_MISMATCH +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:129:MBEDTLS_ERR_PK_SIG_LEN_MISMATCH Verify ext RSA #14 (PKCS1 v2.1, salt_len = ANY, sig_len too long) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:129:MBEDTLS_ERR_PK_SIG_LEN_MISMATCH +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:129:MBEDTLS_ERR_PK_SIG_LEN_MISMATCH Verify ext RSA #15 (PKCS1 v2.1, salt_len = ANY, sig_len too short) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:127:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:127:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #16 (PKCS1 v2.1, salt_len = max, sig_len too short) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616765":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:127:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:127:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #17 (PKCS1 v2.1, salt_len = ANY, wrong message, sig_len too short) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616766":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:127:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:127:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #18 (PKCS1 v2.1, salt_len = max, wrong message, sig_len too short) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616766":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:127:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:127:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #19 (PKCS1 v2.1, salt_len = ANY, wrong message, sig_len too long) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616766":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:129:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:129:MBEDTLS_ERR_RSA_VERIFY_FAILED Verify ext RSA #20 (PKCS1 v2.1, salt_len = max, wrong message, sig_len too long) -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C -pk_rsa_verify_ext_test_vec:"54657374206d657373616766":MBEDTLS_MD_SHA256:1024:16:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":16:"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:129:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:129:MBEDTLS_ERR_RSA_VERIFY_FAILED Check pair #1 (EC, OK) -depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/ec_256_prv.pem":0 Check pair #2 (EC, bad) -depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/server5.key":MBEDTLS_ERR_ECP_BAD_INPUT_DATA Check pair #3 (RSA, OK) -depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_PEM_PARSE_C mbedtls_pk_check_pair:"data_files/server1.pubkey":"data_files/server1.key":0 Check pair #4 (RSA, bad) -depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_PEM_PARSE_C mbedtls_pk_check_pair:"data_files/server1.pubkey":"data_files/server2.key":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED Check pair #5 (RSA vs EC) -depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PEM_PARSE_C mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/server1.key":MBEDTLS_ERR_PK_TYPE_MISMATCH RSA hash_len overflow (size_t vs unsigned int) @@ -542,36 +545,36 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_HAVE_INT64 pk_rsa_overflow: ECDSA restartable sign/verify: ECDSA, max_ops=0 (disabled) -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 ECDSA restartable sign/verify: ECKEY, max_ops=0 (disabled) -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":0:0:0 ECDSA restartable sign/verify: ECDSA, max_ops=1 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 ECDSA restartable sign/verify: ECKEY, max_ops=1 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":1:1:10000 ECDSA restartable sign/verify: ECDSA, max_ops=10000 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 ECDSA restartable sign/verify: ECKEY, max_ops=10000 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":10000:0:0 ECDSA restartable sign/verify: ECDSA, max_ops=250 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:64 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:64 ECDSA restartable sign/verify: ECKEY, max_ops=250 -depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"test":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:64 +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA +pk_sign_verify_restart:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP256R1:"C9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721":"60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6":"7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299":MBEDTLS_MD_SHA256:"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08":"3045022100f1abb023518351cd71d881567b1ea663ed3efcf6c5132b354f28d3b0b7d383670220019f4113742a2b14bd25926b49c649155f267e60d3814b4c0cc84250e46f0083":250:2:64 PSA wrapped sign: SECP256R1 depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED @@ -615,61 +618,61 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_GENPRIME pk_psa_sign:1024:PSA_KEY_TYPE_RSA_KEY_PAIR:1024 PK Sign ext:RSA2048,PK_RSA,MD_SHA256 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA256 PK Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA256 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256 PK Sign ext:RSA2048,PK_RSA,MD_SHA384 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA384_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA384 PK Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA384 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA384_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA384 PK Sign ext:RSA2048,PK_RSA,MD_SHA512 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA512_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA512 PK Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA512 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA512_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA512 PK Sign ext:SECP256R1,PK_ECDSA,MD_SHA256 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA pk_psa_sign_ext:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_PK_ECDSA:MBEDTLS_MD_SHA256 PK Sign ext:SECP384R1,PK_ECDSA,MD_SHA384 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA pk_psa_sign_ext:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_PK_ECDSA:MBEDTLS_MD_SHA384 PK Sign ext:SECP521R1,PK_ECDSA,MD_SHA512 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_SHA512_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA pk_psa_sign_ext:MBEDTLS_PK_ECDSA:MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_PK_ECDSA:MBEDTLS_MD_SHA512 PK wrapped Sign ext:RSA2048,PK_RSA,MD_SHA256 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA256 PK wrapped Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA256 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256 PK wrapped Sign ext:RSA2048,PK_RSA,MD_SHA384 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA384_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA384 PK wrapped Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA384 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA384_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA384 PK wrapped Sign ext:RSA2048,PK_RSA,MD_SHA512 -depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_SHA512_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSA:MBEDTLS_MD_SHA512 PK wrapped Sign ext:RSA2048,PK_RSASSA_PSS,MD_SHA512 -depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_SHA512_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_RSA_C pk_psa_wrap_sign_ext:MBEDTLS_PK_RSA:2048:MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA512 diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function index 34ebdccb76..beb3e7c680 100644 --- a/tests/suites/test_suite_pk.function +++ b/tests/suites/test_suite_pk.function @@ -7,6 +7,9 @@ #include "mbedtls/ecp.h" #include "mbedtls/rsa.h" +#include "hash_info.h" +#include "mbedtls/legacy_or_psa.h" + #include #include @@ -296,6 +299,53 @@ exit: } /* END_CASE */ +/* BEGIN_CASE */ +void pk_invalid_param() +{ + mbedtls_pk_context ctx; + mbedtls_pk_type_t pk_type = 0; + unsigned char buf[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; + size_t buf_size = sizeof( buf ); + + mbedtls_pk_init( &ctx ); + + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_verify_restartable( &ctx, MBEDTLS_MD_NONE, + NULL, buf_size, + buf, buf_size, + NULL ) ); + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_verify_restartable( &ctx, MBEDTLS_MD_SHA256, + NULL, 0, + buf, buf_size, + NULL ) ); + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_verify_ext( pk_type, NULL, + &ctx, MBEDTLS_MD_NONE, + NULL, buf_size, + buf, buf_size ) ); + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_verify_ext( pk_type, NULL, + &ctx, MBEDTLS_MD_SHA256, + NULL, 0, + buf, buf_size ) ); + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_sign_restartable( &ctx, MBEDTLS_MD_NONE, + NULL, buf_size, + buf, buf_size, &buf_size, + NULL, NULL, + NULL ) ); + TEST_EQUAL( MBEDTLS_ERR_PK_BAD_INPUT_DATA, + mbedtls_pk_sign_restartable( &ctx, MBEDTLS_MD_SHA256, + NULL, 0, + buf, buf_size, &buf_size, + NULL, NULL, + NULL ) ); +exit: + mbedtls_pk_free( &ctx ); +} +/* END_CASE */ + /* BEGIN_CASE */ void valid_parameters( ) { @@ -475,11 +525,9 @@ void mbedtls_pk_check_pair( char * pub_file, char * prv_file, int ret ) /* BEGIN_CASE depends_on:MBEDTLS_RSA_C */ void pk_rsa_verify_test_vec( data_t * message_str, int digest, int mod, - int radix_N, char * input_N, int radix_E, - char * input_E, data_t * result_str, - int result ) + char * input_N, char * input_E, + data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; mbedtls_rsa_context *rsa; mbedtls_pk_context pk; mbedtls_pk_restart_ctx *rs_ctx = NULL; @@ -496,23 +544,18 @@ void pk_rsa_verify_test_vec( data_t * message_str, int digest, int mod, mbedtls_pk_init( &pk ); - memset( hash_result, 0x00, MBEDTLS_MD_MAX_SIZE ); TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 ); rsa = mbedtls_pk_rsa( pk ); rsa->len = mod / 8; - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, radix_E, input_E ) == 0 ); - - - if( mbedtls_md_info_from_type( digest ) != NULL ) - TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ), message_str->x, message_str->len, hash_result ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, input_E ) == 0 ); - TEST_ASSERT( mbedtls_pk_verify( &pk, digest, hash_result, 0, + TEST_ASSERT( mbedtls_pk_verify( &pk, digest, message_str->x, 0, result_str->x, mbedtls_pk_get_len( &pk ) ) == result ); - TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, digest, hash_result, 0, + TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, digest, message_str->x, 0, result_str->x, mbedtls_pk_get_len( &pk ), rs_ctx ) == result ); exit: @@ -526,46 +569,29 @@ exit: /* BEGIN_CASE depends_on:MBEDTLS_RSA_C */ void pk_rsa_verify_ext_test_vec( data_t * message_str, int digest, - int mod, int radix_N, char * input_N, - int radix_E, char * input_E, - data_t * result_str, int pk_type, - int mgf1_hash_id, int salt_len, int sig_len, + int mod, char * input_N, + char * input_E, data_t * result_str, + int pk_type, int mgf1_hash_id, + int salt_len, int sig_len, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; mbedtls_rsa_context *rsa; mbedtls_pk_context pk; mbedtls_pk_rsassa_pss_options pss_opts; void *options; - size_t hash_len; int ret; USE_PSA_INIT( ); mbedtls_pk_init( &pk ); - memset( hash_result, 0x00, sizeof( hash_result ) ); - TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 ); rsa = mbedtls_pk_rsa( pk ); rsa->len = mod / 8; - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, input_E ) == 0 ); - if( digest != MBEDTLS_MD_NONE ) - { - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, - hash_result ) == 0 ); - hash_len = mbedtls_md_get_size( md_info ); - } - else - { - memcpy( hash_result, message_str->x, message_str->len ); - hash_len = message_str->len; - } - if( mgf1_hash_id < 0 ) { options = NULL; @@ -579,7 +605,7 @@ void pk_rsa_verify_ext_test_vec( data_t * message_str, int digest, } ret = mbedtls_pk_verify_ext( pk_type, options, &pk, - digest, hash_result, hash_len, + digest, message_str->x, message_str->len, result_str->x, sig_len ); #if defined(MBEDTLS_USE_PSA_CRYPTO) @@ -640,47 +666,36 @@ exit: /* BEGIN_CASE depends_on:MBEDTLS_ECP_RESTARTABLE:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC */ void pk_sign_verify_restart( int pk_type, int grp_id, char *d_str, char *QX_str, char *QY_str, - int md_alg, char *msg, data_t *sig_check, + int md_alg, data_t *hash, data_t *sig_check, int max_ops, int min_restart, int max_restart ) { int ret, cnt_restart; mbedtls_pk_restart_ctx rs_ctx; mbedtls_pk_context prv, pub; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; unsigned char sig[MBEDTLS_ECDSA_MAX_LEN]; - size_t hlen, slen; - const mbedtls_md_info_t *md_info; + size_t slen; USE_PSA_INIT(); mbedtls_pk_restart_init( &rs_ctx ); mbedtls_pk_init( &prv ); mbedtls_pk_init( &pub ); - memset( hash, 0, sizeof( hash ) ); memset( sig, 0, sizeof( sig ) ); TEST_ASSERT( mbedtls_pk_setup( &prv, mbedtls_pk_info_from_type( pk_type ) ) == 0 ); TEST_ASSERT( mbedtls_ecp_group_load( &mbedtls_pk_ec( prv )->grp, grp_id ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &mbedtls_pk_ec( prv )->d, 16, d_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &mbedtls_pk_ec( prv )->d, d_str ) == 0 ); TEST_ASSERT( mbedtls_pk_setup( &pub, mbedtls_pk_info_from_type( pk_type ) ) == 0 ); TEST_ASSERT( mbedtls_ecp_group_load( &mbedtls_pk_ec( pub )->grp, grp_id ) == 0 ); TEST_ASSERT( mbedtls_ecp_point_read_string( &mbedtls_pk_ec( pub )->Q, 16, QX_str, QY_str ) == 0 ); - md_info = mbedtls_md_info_from_type( md_alg ); - TEST_ASSERT( md_info != NULL ); - - hlen = mbedtls_md_get_size( md_info ); - TEST_ASSERT( mbedtls_md( md_info, - (const unsigned char *) msg, strlen( msg ), - hash ) == 0 ); - mbedtls_ecp_set_max_ops( max_ops ); slen = sizeof( sig ); cnt_restart = 0; do { - ret = mbedtls_pk_sign_restartable( &prv, md_alg, hash, hlen, + ret = mbedtls_pk_sign_restartable( &prv, md_alg, hash->x, hash->len, sig, sizeof( sig ), &slen, mbedtls_test_rnd_std_rand, NULL, &rs_ctx ); @@ -696,25 +711,17 @@ void pk_sign_verify_restart( int pk_type, int grp_id, char *d_str, cnt_restart = 0; do { ret = mbedtls_pk_verify_restartable( &pub, md_alg, - hash, hlen, sig, slen, &rs_ctx ); + hash->x, hash->len, sig, slen, &rs_ctx ); } while( ret == MBEDTLS_ERR_ECP_IN_PROGRESS && ++cnt_restart ); TEST_ASSERT( ret == 0 ); TEST_ASSERT( cnt_restart >= min_restart ); TEST_ASSERT( cnt_restart <= max_restart ); - hash[0]++; - do { - ret = mbedtls_pk_verify_restartable( &pub, md_alg, - hash, hlen, sig, slen, &rs_ctx ); - } while( ret == MBEDTLS_ERR_ECP_IN_PROGRESS ); - TEST_ASSERT( ret != 0 ); - hash[0]--; - sig[0]++; do { ret = mbedtls_pk_verify_restartable( &pub, md_alg, - hash, hlen, sig, slen, &rs_ctx ); + hash->x, hash->len, sig, slen, &rs_ctx ); } while( ret == MBEDTLS_ERR_ECP_IN_PROGRESS ); TEST_ASSERT( ret != 0 ); sig[0]--; @@ -724,12 +731,12 @@ void pk_sign_verify_restart( int pk_type, int grp_id, char *d_str, if( min_restart > 0 ) { ret = mbedtls_pk_verify_restartable( &pub, md_alg, - hash, hlen, sig, slen, &rs_ctx ); + hash->x, hash->len, sig, slen, &rs_ctx ); TEST_ASSERT( ret == MBEDTLS_ERR_ECP_IN_PROGRESS ); mbedtls_pk_restart_free( &rs_ctx ); slen = sizeof( sig ); - ret = mbedtls_pk_sign_restartable( &prv, md_alg, hash, hlen, + ret = mbedtls_pk_sign_restartable( &prv, md_alg, hash->x, hash->len, sig, sizeof sig, &slen, mbedtls_test_rnd_std_rand, NULL, &rs_ctx ); @@ -744,7 +751,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void pk_sign_verify( int type, int parameter, int sign_ret, int verify_ret ) { mbedtls_pk_context pk; @@ -834,10 +841,10 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_RSA_C */ -void pk_rsa_encrypt_decrypt_test( data_t * message, int mod, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, int ret ) +void pk_rsa_encrypt_decrypt_test( data_t * message, int mod, + char * input_P, char * input_Q, + char * input_N, char * input_E, + int ret ) { unsigned char output[300], result[300]; mbedtls_test_rnd_pseudo_info rnd_info; @@ -863,8 +870,8 @@ void pk_rsa_encrypt_decrypt_test( data_t * message, int mod, int radix_P, /* load public key */ rsa->len = mod / 8; - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &rsa->E, input_E ) == 0 ); TEST_ASSERT( mbedtls_pk_encrypt( &pk, message->x, message->len, output, &olen, sizeof( output ), @@ -881,12 +888,12 @@ void pk_rsa_encrypt_decrypt_test( data_t * message, int mod, int radix_P, rsa = mbedtls_pk_rsa( pk ); /* load public key */ - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); /* load private key */ - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( rsa, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( rsa ) == (size_t) ( mod / 8 ) ); TEST_ASSERT( mbedtls_rsa_complete( rsa ) == 0 ); @@ -911,10 +918,10 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_RSA_C */ -void pk_rsa_decrypt_test_vec( data_t * cipher, int mod, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, data_t * clear, int ret ) +void pk_rsa_decrypt_test_vec( data_t * cipher, int mod, + char * input_P, char * input_Q, + char * input_N, char * input_E, + data_t * clear, int ret ) { unsigned char output[256]; mbedtls_test_rnd_pseudo_info rnd_info; @@ -937,12 +944,12 @@ void pk_rsa_decrypt_test_vec( data_t * cipher, int mod, int radix_P, rsa = mbedtls_pk_rsa( pk ); /* load public key */ - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); /* load private key */ - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( rsa, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( rsa ) == (size_t) ( mod / 8 ) ); TEST_ASSERT( mbedtls_rsa_complete( rsa ) == 0 ); @@ -968,10 +975,10 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_RSA_C:MBEDTLS_USE_PSA_CRYPTO */ -void pk_wrap_rsa_decrypt_test_vec( data_t * cipher, int mod, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, data_t * clear, int ret ) +void pk_wrap_rsa_decrypt_test_vec( data_t * cipher, int mod, + char * input_P, char * input_Q, + char * input_N, char * input_E, + data_t * clear, int ret ) { unsigned char output[256]; mbedtls_test_rnd_pseudo_info rnd_info; @@ -995,12 +1002,12 @@ void pk_wrap_rsa_decrypt_test_vec( data_t * cipher, int mod, int radix_P, rsa = mbedtls_pk_rsa( pk ); /* load public key */ - TEST_EQUAL( mbedtls_test_read_mpi( &N, radix_N, input_N ), 0 ); - TEST_EQUAL( mbedtls_test_read_mpi( &E, radix_E, input_E ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &N, input_N ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &E, input_E ), 0 ); /* load private key */ - TEST_EQUAL( mbedtls_test_read_mpi( &P, radix_P, input_P ), 0 ); - TEST_EQUAL( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &P, input_P ), 0 ); + TEST_EQUAL( mbedtls_test_read_mpi( &Q, input_Q ), 0 ); TEST_EQUAL( mbedtls_rsa_import( rsa, &N, &P, &Q, NULL, &E ), 0 ); TEST_EQUAL( mbedtls_rsa_get_len( rsa ), (size_t) ( mod / 8 ) ); TEST_EQUAL( mbedtls_rsa_complete( rsa ), 0 ); @@ -1187,7 +1194,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C:MBEDTLS_USE_PSA_CRYPTO */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO */ void pk_psa_sign( int parameter_arg, int psa_type_arg, int expected_bits_arg ) { @@ -1315,9 +1322,8 @@ void pk_psa_sign_ext( int pk_type, int parameter, int key_pk_type, int md_alg ) mbedtls_pk_context pk; size_t sig_len; unsigned char sig[MBEDTLS_PK_SIGNATURE_MAX_SIZE]; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( md_alg ); - size_t hash_len = mbedtls_md_get_size( md_info ); + unsigned char hash[PSA_HASH_MAX_SIZE]; + size_t hash_len = mbedtls_hash_info_get_size( md_alg ); void const *options = NULL; mbedtls_pk_rsassa_pss_options rsassa_pss_options; memset( hash, 0x2a, sizeof( hash ) ); @@ -1338,8 +1344,8 @@ void pk_psa_sign_ext( int pk_type, int parameter, int key_pk_type, int md_alg ) if( key_pk_type == MBEDTLS_PK_RSASSA_PSS ) { rsassa_pss_options.mgf1_hash_id = md_alg; - TEST_ASSERT( md_info != NULL ); - rsassa_pss_options.expected_salt_len = mbedtls_md_get_size( md_info ); + TEST_ASSERT( hash_len != 0 ); + rsassa_pss_options.expected_salt_len = hash_len; options = (const void*) &rsassa_pss_options; } TEST_ASSERT( mbedtls_pk_verify_ext( key_pk_type, options, &pk, md_alg, @@ -1360,11 +1366,10 @@ void pk_psa_wrap_sign_ext( int pk_type, int parameter, int key_pk_type, int md_a unsigned char sig[MBEDTLS_PK_SIGNATURE_MAX_SIZE]; unsigned char pkey[PSA_EXPORT_PUBLIC_KEY_MAX_SIZE]; unsigned char *pkey_start; - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; - psa_algorithm_t psa_md_alg = mbedtls_psa_translate_md( md_alg ); + unsigned char hash[PSA_HASH_MAX_SIZE]; + psa_algorithm_t psa_md_alg = mbedtls_hash_info_psa_from_md( md_alg ); psa_algorithm_t psa_alg; size_t hash_len = PSA_HASH_LENGTH( psa_md_alg ); - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( md_alg ); void const *options = NULL; mbedtls_pk_rsassa_pss_options rsassa_pss_options; int ret; @@ -1416,8 +1421,8 @@ void pk_psa_wrap_sign_ext( int pk_type, int parameter, int key_pk_type, int md_a if( key_pk_type == MBEDTLS_PK_RSASSA_PSS ) { rsassa_pss_options.mgf1_hash_id = md_alg; - TEST_ASSERT( md_info != NULL ); - rsassa_pss_options.expected_salt_len = mbedtls_md_get_size( md_info ); + TEST_ASSERT( hash_len != 0 ); + rsassa_pss_options.expected_salt_len = hash_len; options = (const void*) &rsassa_pss_options; } TEST_EQUAL( mbedtls_pk_verify_ext( key_pk_type, options, &pk, md_alg, diff --git a/tests/suites/test_suite_pkcs12.data b/tests/suites/test_suite_pkcs12.data index a8c4bab35a..601b5bbc68 100644 --- a/tests/suites/test_suite_pkcs12.data +++ b/tests/suites/test_suite_pkcs12.data @@ -1,35 +1,35 @@ PKCS#12 derive key : MD5: Zero length password and hash -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"":USE_GIVEN_INPUT:"":USE_GIVEN_INPUT:3:"6afdcbd5ebf943272134f1c3de2dc11b6afdcbd5ebf943272134f1c3de2dc11b6afdcbd5ebf943272134f1c3de2dc11b":0 PKCS#12 derive key: MD5: NULL password and hash -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"":USE_NULL_INPUT:"":USE_NULL_INPUT:3:"6afdcbd5ebf943272134f1c3de2dc11b6afdcbd5ebf943272134f1c3de2dc11b6afdcbd5ebf943272134f1c3de2dc11b":0 PKCS#12 derive key: MD5: Zero length password -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"":USE_GIVEN_INPUT:"0123456789abcdef":USE_GIVEN_INPUT:3:"832d8502114fcccfd3de0c2b2863b1c45fb92a8db2ed1e704727b324adc267bdd66ae4918a81fa2d1ba15febfb9e6c4e":0 PKCS#12 derive key: MD5: NULL password -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"":USE_NULL_INPUT:"0123456789abcdef":USE_GIVEN_INPUT:3:"832d8502114fcccfd3de0c2b2863b1c45fb92a8db2ed1e704727b324adc267bdd66ae4918a81fa2d1ba15febfb9e6c4e":0 PKCS#12 derive key: MD5: Invalid length NULL password -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"0123456789abcdef":USE_NULL_INPUT:"0123456789abcdef":USE_GIVEN_INPUT:3:"":MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA PKCS#12 derive key: MD5: Zero length salt -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"0123456789abcdef":USE_GIVEN_INPUT:"":USE_GIVEN_INPUT:3:"832d8502114fcccfd3de0c2b2863b1c45fb92a8db2ed1e704727b324adc267bdd66ae4918a81fa2d1ba15febfb9e6c4e":0 PKCS#12 derive key: MD5: NULL salt -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"0123456789abcdef":USE_GIVEN_INPUT:"":USE_NULL_INPUT:3:"832d8502114fcccfd3de0c2b2863b1c45fb92a8db2ed1e704727b324adc267bdd66ae4918a81fa2d1ba15febfb9e6c4e":0 PKCS#12 derive key: MD5: Invalid length NULL salt -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"0123456789abcdef":USE_GIVEN_INPUT:"0123456789abcdef":USE_NULL_INPUT:3:"":MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA PKCS#12 derive key: MD5: Valid password and salt -depends_on:MBEDTLS_MD5_C +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA pkcs12_derive_key:MBEDTLS_MD_MD5:48:"0123456789abcdef":USE_GIVEN_INPUT:"0123456789abcdef":USE_GIVEN_INPUT:3:"46559deeee036836ab1b633ec620178d4c70eacf42f72a2ad7360c812efa09ca3d7567b489a109050345c2dc6a262995":0 diff --git a/tests/suites/test_suite_pkcs12.function b/tests/suites/test_suite_pkcs12.function index 54dc042c3d..3fad814a54 100644 --- a/tests/suites/test_suite_pkcs12.function +++ b/tests/suites/test_suite_pkcs12.function @@ -2,6 +2,8 @@ #include "mbedtls/pkcs12.h" #include "common.h" +#include "mbedtls/legacy_or_psa.h" + typedef enum { USE_NULL_INPUT = 0, @@ -23,7 +25,6 @@ void pkcs12_derive_key( int md_type, int key_size_arg, data_t* expected_output, int expected_status ) { - int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED; unsigned char *output_data = NULL; unsigned char *password = NULL; @@ -44,15 +45,15 @@ void pkcs12_derive_key( int md_type, int key_size_arg, ASSERT_ALLOC( output_data, key_size ); - ret = mbedtls_pkcs12_derivation( output_data, - key_size, - password, - password_len, - salt, - salt_len, - md_type, - MBEDTLS_PKCS12_DERIVE_KEY, - iterations ); + int ret = mbedtls_pkcs12_derivation( output_data, + key_size, + password, + password_len, + salt, + salt_len, + md_type, + MBEDTLS_PKCS12_DERIVE_KEY, + iterations ); TEST_EQUAL( ret, expected_status ); diff --git a/tests/suites/test_suite_pkcs1_v15.data b/tests/suites/test_suite_pkcs1_v15.data index 32dd2181fa..1496a8906d 100644 --- a/tests/suites/test_suite_pkcs1_v15.data +++ b/tests/suites/test_suite_pkcs1_v15.data @@ -1,44 +1,56 @@ RSAES-V15 Encryption input=NULL with length=0 -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_NONE:"":"aafd12f659cae63489b479e5076ddec2f06cb58f67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb3267c6697351ff4aec29cdbaabf2fbe34676cac0":"42c6fce63a3b858ba89fe83004cac3651d1497c15090bf0086b9a4b9ff3bd451502838a413095aefe231832ba10bb467ae3f95c889cd8e9a6e32b4df633b2170d07a2168c086745f0017cf1d9facff2eee55af2fcb03730209173b2a0bbfb2d4c34d7ea93b3b0cb84a8a7b6371670e14482e6dcedbdd9efe66d906e0238586fe":0 +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_NONE:"":"aafd12f659cae63489b479e5076ddec2f06cb58f67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb3267c6697351ff4aec29cdbaabf2fbe34676cac0":"42c6fce63a3b858ba89fe83004cac3651d1497c15090bf0086b9a4b9ff3bd451502838a413095aefe231832ba10bb467ae3f95c889cd8e9a6e32b4df633b2170d07a2168c086745f0017cf1d9facff2eee55af2fcb03730209173b2a0bbfb2d4c34d7ea93b3b0cb84a8a7b6371670e14482e6dcedbdd9efe66d906e0238586fe":0 RSAES-V15 Decryption empty output with NULL buffer -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_NONE:"":"aafd12f659cae63489b479e5076ddec2f06cb58f":"42c6fce63a3b858ba89fe83004cac3651d1497c15090bf0086b9a4b9ff3bd451502838a413095aefe231832ba10bb467ae3f95c889cd8e9a6e32b4df633b2170d07a2168c086745f0017cf1d9facff2eee55af2fcb03730209173b2a0bbfb2d4c34d7ea93b3b0cb84a8a7b6371670e14482e6dcedbdd9efe66d906e0238586fe":0 +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_NONE:"":"aafd12f659cae63489b479e5076ddec2f06cb58f":"42c6fce63a3b858ba89fe83004cac3651d1497c15090bf0086b9a4b9ff3bd451502838a413095aefe231832ba10bb467ae3f95c889cd8e9a6e32b4df633b2170d07a2168c086745f0017cf1d9facff2eee55af2fcb03730209173b2a0bbfb2d4c34d7ea93b3b0cb84a8a7b6371670e14482e6dcedbdd9efe66d906e0238586fe":0 RSAES-V15 Encryption Test Vector Int -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32":"6c5ebca6116b1e91316613fbb5e93197270a849122d549122d05815e2626f80d20f7f3f038c98295203c0f7f6bb8c3568455c67dec82bca86be86eff43b56b7ba2d15375f9a42454c2a2c709953a6e4a977462e35fd21a9c2fb3c0ad2a370f7655267bf6f04814784982988e663b869fc8588475af860d499e5a6ffdfc2c6bfd":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc8770e93ea141e1fc673e017e97eadc6b968f385c2aecb03bfb32":"6c5ebca6116b1e91316613fbb5e93197270a849122d549122d05815e2626f80d20f7f3f038c98295203c0f7f6bb8c3568455c67dec82bca86be86eff43b56b7ba2d15375f9a42454c2a2c709953a6e4a977462e35fd21a9c2fb3c0ad2a370f7655267bf6f04814784982988e663b869fc8588475af860d499e5a6ffdfc2c6bfd":0 RSAES-V15 Decryption Test Vector Int -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f":"28818cb14236ad18f4527e7f1f7633e96cef021bc3234475d7f61e88702b6335b42a352ed3f3267ac7c3e9ba4af17e45096c63eefd8d9a7cb42dfc52fffb2f5b8afb305b46312c2eb50634123b4437a2287ac57b7509d59a583fb741989a49f32625e9267b4641a6607b7303d35c68489db53c8d387b620d0d46a852e72ea43c":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f":"28818cb14236ad18f4527e7f1f7633e96cef021bc3234475d7f61e88702b6335b42a352ed3f3267ac7c3e9ba4af17e45096c63eefd8d9a7cb42dfc52fffb2f5b8afb305b46312c2eb50634123b4437a2287ac57b7509d59a583fb741989a49f32625e9267b4641a6607b7303d35c68489db53c8d387b620d0d46a852e72ea43c":0 RSAES-V15 Encryption Test Vector Data just fits -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"4293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"18cdb161f40a18509a3501b7e8ec1c7522e2490319efee8581179b5bcf3750f83a865952d078efd48f58f8060b0d43f9888b43a094fe15209451826ef797195885ff9fa3e26994eee85dbe5dd0404a71565708286027b433c88c85af555b96c34c304dc7c8278233654c022ef340042cfff55e6b15b67cfea8a5a384ef64a6ac":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"4293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"18cdb161f40a18509a3501b7e8ec1c7522e2490319efee8581179b5bcf3750f83a865952d078efd48f58f8060b0d43f9888b43a094fe15209451826ef797195885ff9fa3e26994eee85dbe5dd0404a71565708286027b433c88c85af555b96c34c304dc7c8278233654c022ef340042cfff55e6b15b67cfea8a5a384ef64a6ac":0 RSAES-V15 Decryption Test Vector Data just fits -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"4293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"18cdb161f40a18509a3501b7e8ec1c7522e2490319efee8581179b5bcf3750f83a865952d078efd48f58f8060b0d43f9888b43a094fe15209451826ef797195885ff9fa3e26994eee85dbe5dd0404a71565708286027b433c88c85af555b96c34c304dc7c8278233654c022ef340042cfff55e6b15b67cfea8a5a384ef64a6ac":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"4293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"18cdb161f40a18509a3501b7e8ec1c7522e2490319efee8581179b5bcf3750f83a865952d078efd48f58f8060b0d43f9888b43a094fe15209451826ef797195885ff9fa3e26994eee85dbe5dd0404a71565708286027b433c88c85af555b96c34c304dc7c8278233654c022ef340042cfff55e6b15b67cfea8a5a384ef64a6ac":0 RSAES-V15 Encryption Test Vector Data too long 1 -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"b84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"05abded6751d620a95177abdba915027b58dd6eecf4ebe71f71c400b115e1d9e12465ace4db3cc03eb57fcbbfe017770f438cf84c10bad505919aefebfa0752087f6376b055beabf0e089fbb90e10f99c795d2d5676eea196db7f94a8fd34aedaba39fb230281bb9917cc91793eb37f84dedb2421e9680c39cfda34d4a012134":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"b84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"05abded6751d620a95177abdba915027b58dd6eecf4ebe71f71c400b115e1d9e12465ace4db3cc03eb57fcbbfe017770f438cf84c10bad505919aefebfa0752087f6376b055beabf0e089fbb90e10f99c795d2d5676eea196db7f94a8fd34aedaba39fb230281bb9917cc91793eb37f84dedb2421e9680c39cfda34d4a012134":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSAES-V15 Decryption Test Vector Padding too short 7 -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"b84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"05abded6751d620a95177abdba915027b58dd6eecf4ebe71f71c400b115e1d9e12465ace4db3cc03eb57fcbbfe017770f438cf84c10bad505919aefebfa0752087f6376b055beabf0e089fbb90e10f99c795d2d5676eea196db7f94a8fd34aedaba39fb230281bb9917cc91793eb37f84dedb2421e9680c39cfda34d4a012134":MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"b84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"05abded6751d620a95177abdba915027b58dd6eecf4ebe71f71c400b115e1d9e12465ace4db3cc03eb57fcbbfe017770f438cf84c10bad505919aefebfa0752087f6376b055beabf0e089fbb90e10f99c795d2d5676eea196db7f94a8fd34aedaba39fb230281bb9917cc91793eb37f84dedb2421e9680c39cfda34d4a012134":MBEDTLS_ERR_RSA_INVALID_PADDING RSAES-V15 Encryption Test Vector Data too long 3 -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"aa1ab84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"10d60b8040d57d8701bacb55f2f283d54601ec24d465601ac7f7d5a2f75cac380ba78ca4ab6f3c159f3a9fd6839f5adde0333852ebf876c585664c1a58a1e6885231982f2027be6d7f08ff1807d3ceda8e41ad1f02ddf97a7458832fd13a1f431de6a4ab79e3d4b88bb1df2c5c77fcde9e7b5aa1e7bb29112eae58763127752a":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"aa1ab84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"10d60b8040d57d8701bacb55f2f283d54601ec24d465601ac7f7d5a2f75cac380ba78ca4ab6f3c159f3a9fd6839f5adde0333852ebf876c585664c1a58a1e6885231982f2027be6d7f08ff1807d3ceda8e41ad1f02ddf97a7458832fd13a1f431de6a4ab79e3d4b88bb1df2c5c77fcde9e7b5aa1e7bb29112eae58763127752a":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSAES-V15 Decryption Test Vector Padding too short 5 -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"aa1ab84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"10d60b8040d57d8701bacb55f2f283d54601ec24d465601ac7f7d5a2f75cac380ba78ca4ab6f3c159f3a9fd6839f5adde0333852ebf876c585664c1a58a1e6885231982f2027be6d7f08ff1807d3ceda8e41ad1f02ddf97a7458832fd13a1f431de6a4ab79e3d4b88bb1df2c5c77fcde9e7b5aa1e7bb29112eae58763127752a":MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"aa1ab84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"10d60b8040d57d8701bacb55f2f283d54601ec24d465601ac7f7d5a2f75cac380ba78ca4ab6f3c159f3a9fd6839f5adde0333852ebf876c585664c1a58a1e6885231982f2027be6d7f08ff1807d3ceda8e41ad1f02ddf97a7458832fd13a1f431de6a4ab79e3d4b88bb1df2c5c77fcde9e7b5aa1e7bb29112eae58763127752a":MBEDTLS_ERR_RSA_INVALID_PADDING RSAES-V15 Encryption Test Vector Data too long 8 -pkcs1_rsaes_v15_encrypt:1024:16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"a5a384ef64a6acb84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"72f98d12ddc230484179ec3022d11b3719222daaa0dc016fc3dbd6771a3f2c9fdd0560f86d616dd50ef1fa5b8c7e1fc40b5abf7b845d7795b3a6af02457b97f783360575cde7497bdf9c104650d4e9a8f4034406de1af95ace39bef2b9e979b74d9a2c0a741d8a21221d9afc98992776cad52d73151613dbc10da9bd8038751a":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"a5a384ef64a6acb84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"72f98d12ddc230484179ec3022d11b3719222daaa0dc016fc3dbd6771a3f2c9fdd0560f86d616dd50ef1fa5b8c7e1fc40b5abf7b845d7795b3a6af02457b97f783360575cde7497bdf9c104650d4e9a8f4034406de1af95ace39bef2b9e979b74d9a2c0a741d8a21221d9afc98992776cad52d73151613dbc10da9bd8038751a":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSAES-V15 Decryption Test Vector Padding too short 0 -pkcs1_rsaes_v15_decrypt:1024:16:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":16:"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":16:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":16:"11":MBEDTLS_MD_SHA1:"a5a384ef64a6acb84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"72f98d12ddc230484179ec3022d11b3719222daaa0dc016fc3dbd6771a3f2c9fdd0560f86d616dd50ef1fa5b8c7e1fc40b5abf7b845d7795b3a6af02457b97f783360575cde7497bdf9c104650d4e9a8f4034406de1af95ace39bef2b9e979b74d9a2c0a741d8a21221d9afc98992776cad52d73151613dbc10da9bd8038751a":MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsaes_v15_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"a5a384ef64a6acb84293cecc8095232ae595b84c15ec26f35cf5fde88ae7a9aaa717bcb1ecc4de498da81db97425000770817b5dde5eed01ca3745ff5ab894d0fc0921e5a10b081490129d8ccbaa154ad3dd461397af8ec964ef99402d60a7591ee44b8ce1c16ef88fcb2717076c730d88223893bdd8000b23d87d38ab":"aafd12f659cae63489b479e5076ddec2f06cb58f":"72f98d12ddc230484179ec3022d11b3719222daaa0dc016fc3dbd6771a3f2c9fdd0560f86d616dd50ef1fa5b8c7e1fc40b5abf7b845d7795b3a6af02457b97f783360575cde7497bdf9c104650d4e9a8f4034406de1af95ace39bef2b9e979b74d9a2c0a741d8a21221d9afc98992776cad52d73151613dbc10da9bd8038751a":MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-V15 Signing Test Vector Int -pkcs1_rsassa_v15_sign:1024:16:"d17f655bf27c8b16d35462c905cc04a26f37e2a67fa9c0ce0dced472394a0df743fe7f929e378efdb368eddff453cf007af6d948e0ade757371f8a711e278f6b":16:"c6d92b6fee7414d1358ce1546fb62987530b90bd15e0f14963a5e2635adb69347ec0c01b2ab1763fd8ac1a592fb22757463a982425bb97a3a437c5bf86d03f2f":16:"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":16:"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"859eef2fd78aca00308bdc471193bf55bf9d78db8f8a672b484634f3c9c26e6478ae10260fe0dd8c082e53a5293af2173cd50c6d5d354febf78b26021c25c02712e78cd4694c9f469777e451e7f8e9e04cd3739c6bbfedae487fb55644e9ca74ff77a53cb729802f6ed4a5ffa8ba159890fc":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"2154f928615e5101fcdeb57bc08fc2f35c3d5996403861ae3efb1d0712f8bb05cc21f7f5f11f62e5b6ea9f0f2b62180e5cbe7ba535032d6ac8068fff7f362f73d2c3bf5eca6062a1723d7cfd5abb6dcf7e405f2dc560ffe6fc37d38bee4dc9e24fe2bece3e3b4a3f032701d3f0947b42930083dd4ad241b3309b514595482d42":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsassa_v15_sign:1024:"d17f655bf27c8b16d35462c905cc04a26f37e2a67fa9c0ce0dced472394a0df743fe7f929e378efdb368eddff453cf007af6d948e0ade757371f8a711e278f6b":"c6d92b6fee7414d1358ce1546fb62987530b90bd15e0f14963a5e2635adb69347ec0c01b2ab1763fd8ac1a592fb22757463a982425bb97a3a437c5bf86d03f2f":"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"37b66ae0445843353d47ecb0b4fd14c110e62d6a":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"2154f928615e5101fcdeb57bc08fc2f35c3d5996403861ae3efb1d0712f8bb05cc21f7f5f11f62e5b6ea9f0f2b62180e5cbe7ba535032d6ac8068fff7f362f73d2c3bf5eca6062a1723d7cfd5abb6dcf7e405f2dc560ffe6fc37d38bee4dc9e24fe2bece3e3b4a3f032701d3f0947b42930083dd4ad241b3309b514595482d42":0 RSASSA-V15 Verification Test Vector Int -pkcs1_rsassa_v15_verify:1024:16:"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":16:"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"859eef2fd78aca00308bdc471193bf55bf9d78db8f8a672b484634f3c9c26e6478ae10260fe0dd8c082e53a5293af2173cd50c6d5d354febf78b26021c25c02712e78cd4694c9f469777e451e7f8e9e04cd3739c6bbfedae487fb55644e9ca74ff77a53cb729802f6ed4a5ffa8ba159890fc":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"2154f928615e5101fcdeb57bc08fc2f35c3d5996403861ae3efb1d0712f8bb05cc21f7f5f11f62e5b6ea9f0f2b62180e5cbe7ba535032d6ac8068fff7f362f73d2c3bf5eca6062a1723d7cfd5abb6dcf7e405f2dc560ffe6fc37d38bee4dc9e24fe2bece3e3b4a3f032701d3f0947b42930083dd4ad241b3309b514595482d42":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA +pkcs1_rsassa_v15_verify:1024:"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"37b66ae0445843353d47ecb0b4fd14c110e62d6a":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"2154f928615e5101fcdeb57bc08fc2f35c3d5996403861ae3efb1d0712f8bb05cc21f7f5f11f62e5b6ea9f0f2b62180e5cbe7ba535032d6ac8068fff7f362f73d2c3bf5eca6062a1723d7cfd5abb6dcf7e405f2dc560ffe6fc37d38bee4dc9e24fe2bece3e3b4a3f032701d3f0947b42930083dd4ad241b3309b514595482d42":0 RSAES-V15 decoding: good, payload=max, tight output buffer pkcs1_v15_decode:"0002505152535455565700":117:117:0 diff --git a/tests/suites/test_suite_pkcs1_v15.function b/tests/suites/test_suite_pkcs1_v15.function index 6f859d5da8..0fad7c6003 100644 --- a/tests/suites/test_suite_pkcs1_v15.function +++ b/tests/suites/test_suite_pkcs1_v15.function @@ -1,16 +1,18 @@ /* BEGIN_HEADER */ #include "mbedtls/rsa.h" #include "mbedtls/md.h" + +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES - * depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_SHA1_C + * depends_on:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C * END_DEPENDENCIES */ /* BEGIN_CASE */ -void pkcs1_rsaes_v15_encrypt( int mod, int radix_N, char * input_N, - int radix_E, char * input_E, int hash, +void pkcs1_rsaes_v15_encrypt( int mod, char * input_N, + char * input_E, int hash, data_t * message_str, data_t * rnd_buf, data_t * result_str, int result ) { @@ -30,8 +32,8 @@ void pkcs1_rsaes_v15_encrypt( int mod, int radix_N, char * input_N, MBEDTLS_RSA_PKCS_V15, hash ) == 0 ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( ( mod + 7 ) / 8 ) ); TEST_ASSERT( mbedtls_rsa_check_pubkey( &ctx ) == 0 ); @@ -57,12 +59,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void pkcs1_rsaes_v15_decrypt( int mod, int radix_P, char * input_P, - int radix_Q, char * input_Q, int radix_N, - char * input_N, int radix_E, char * input_E, - int hash, data_t * result_str, - char * seed, data_t * message_str, - int result ) +void pkcs1_rsaes_v15_decrypt( int mod, char * input_P, char * input_Q, + char * input_N, char * input_E, int hash, + data_t * result_str, char * seed, + data_t * message_str, int result ) { unsigned char output[128]; mbedtls_rsa_context ctx; @@ -80,10 +80,10 @@ void pkcs1_rsaes_v15_decrypt( int mod, int radix_P, char * input_P, memset( output, 0x00, sizeof( output ) ); memset( &rnd_info, 0, sizeof( mbedtls_test_rnd_pseudo_info ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( ( mod + 7 ) / 8 ) ); @@ -262,14 +262,12 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void pkcs1_rsassa_v15_sign( int mod, int radix_P, char * input_P, int radix_Q, - char * input_Q, int radix_N, char * input_N, - int radix_E, char * input_E, int digest, int hash, +void pkcs1_rsassa_v15_sign( int mod, char * input_P, + char * input_Q, char * input_N, + char * input_E, int digest, int hash, data_t * message_str, data_t * rnd_buf, data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); unsigned char output[128]; mbedtls_rsa_context ctx; mbedtls_mpi N, P, Q, E; @@ -286,25 +284,21 @@ void pkcs1_rsassa_v15_sign( int mod, int radix_P, char * input_P, int radix_Q, TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V15, hash ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( ( mod + 7 ) / 8 ) ); TEST_ASSERT( mbedtls_rsa_complete( &ctx ) == 0 ); TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 ); - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - TEST_ASSERT( mbedtls_rsa_pkcs1_sign( &ctx, &mbedtls_test_rnd_buffer_rand, &info, - digest, mbedtls_md_get_size( md_info ), hash_result, + digest, message_str->len, message_str->x, output ) == result ); if( result == 0 ) { @@ -321,13 +315,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void pkcs1_rsassa_v15_verify( int mod, int radix_N, char * input_N, - int radix_E, char * input_E, int digest, - int hash, data_t * message_str, char * salt, - data_t * result_str, int result ) +void pkcs1_rsassa_v15_verify( int mod, char * input_N, char * input_E, + int digest, int hash, data_t * message_str, + char * salt, data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); mbedtls_rsa_context ctx; mbedtls_mpi N, E; ((void) salt); @@ -336,19 +327,14 @@ void pkcs1_rsassa_v15_verify( int mod, int radix_N, char * input_N, mbedtls_rsa_init( &ctx ); TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V15, hash ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( ( mod + 7 ) / 8 ) ); TEST_ASSERT( mbedtls_rsa_check_pubkey( &ctx ) == 0 ); - - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - - TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, mbedtls_md_get_size( md_info ), hash_result, result_str->x ) == result ); + TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, message_str->len, message_str->x, result_str->x ) == result ); exit: mbedtls_mpi_free( &N ); mbedtls_mpi_free( &E ); diff --git a/tests/suites/test_suite_pkcs1_v21.data b/tests/suites/test_suite_pkcs1_v21.data index 106bbf0c5b..39afb79de2 100644 --- a/tests/suites/test_suite_pkcs1_v21.data +++ b/tests/suites/test_suite_pkcs1_v21.data @@ -1,1042 +1,1292 @@ RSAES-OAEP Encryption Test Vector Int +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f":"1253e04dc0a5397bb44a7ab87e9bf2a039a33d1e996fc82a94ccd30074c95df763722017069e5268da5d1c0b4f872cf653c11df82314a67968dfeae28def04bb6d84b1c31d654a1970e5783bd6eb96a024c2ca2f4a90fe9f2ef5c9c140e5bb48da9536ad8700c84fc9130adea74e558d51a74ddf85d8b50de96838d6063e0955":0 RSAES-OAEP Encryption Test Vector Data just fits +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd":"aafd12f659cae63489b479e5076ddec2f06cb58f":"3082f2288fff275213d53168f0a272573cff81837c249dc1f380a12ac124c8f217b700708a1ce7dce154265f31a126ebdd9ed3ef9145ae29124a25f4e65aa52c5a9ff34f6cf4de9ba937ae406dc7d1f277af4f6fb7ea73bfbab2bd397b6b2c53570e173ffcf3b9f0bb96837623a4f87bd81b41446c59e681a2f3da81239e9bdf":0 RSAES-OAEP Encryption Test Vector Data too long +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"aafd12f659cae63489b479e5076ddec2f06cb58f":"1253e04dc0a5397bb44a7ab87e9bf2a039a33d1e996fc82a94ccd30074c95df763722017069e5268da5d1c0b4f872cf653c11df82314a67968dfeae28def04bb6d84b1c31d654a1970e5783bd6eb96a024c2ca2f4a90fe9f2ef5c9c140e5bb48da9536ad8700c84fc9130adea74e558d51a74ddf85d8b50de96838d6063e0955":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSAES-OAEP Encryption Test Vector 1_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34":"18b776ea21069d69776a33e96bad48e1dda0a5ef":"354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a":0 RSAES-OAEP Encryption Test Vector 1_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5":"0cc742ce4a9b7f32f951bcb251efd925fe4fe35f":"640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44":0 RSAES-OAEP Encryption Test Vector 1_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051":"2514df4695755a67b288eaf4905c36eec66fd2fd":"423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb":0 RSAES-OAEP Encryption Test Vector 1_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85":"c4435a3e1a18a68b6820436290a37cefb85db3fb":"45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755":0 RSAES-OAEP Encryption Test Vector 1_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"8da89fd9e5f974a29feffb462b49180f6cf9e802":"b318c42df3be0f83fea823f5a7b47ed5e425a3b5":"36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439":0 RSAES-OAEP Encryption Test Vector 1_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1024:"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"26521050844271":"e4ec0982c2336f3a677f6a356174eb0ce887abc2":"42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255":0 RSAES-OAEP Encryption Test Vector 2_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7":"8c407b5ec2899e5099c53e8ce793bf94e71b1782":"0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e":0 RSAES-OAEP Encryption Test Vector 2_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"2d":"b600cf3c2e506d7f16778c910d3a8b003eee61d5":"018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245":0 RSAES-OAEP Encryption Test Vector 2_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e":"a73768aeeaa91f9d8c1ed6f9d2b63467f07ccae3":"018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053":0 RSAES-OAEP Encryption Test Vector 2_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a":"9a7b3b0e708bd96f8190ecab4fb9b2b3805a8156":"00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641":0 RSAES-OAEP Encryption Test Vector 2_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"2ef2b066f854c33f3bdcbb5994a435e73d6c6c":"eb3cebbc4adc16bb48e88c8aec0e34af7f427fd3":"00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec":0 RSAES-OAEP Encryption Test Vector 2_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1025:"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0":"4c45cf4d57c98e3d6d2095adc51c489eb50dff84":"010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a":0 RSAES-OAEP Encryption Example 3_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"087820b569e8fa8d":"8ced6b196290805790e909074015e6a20b0c4894":"026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80":0 RSAES-OAEP Encryption Example 3_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"4653acaf171960b01f52a7be63a3ab21dc368ec43b50d82ec3781e04":"b4291d6567550848cc156967c809baab6ca507f0":"024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5":0 RSAES-OAEP Encryption Example 3_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"d94cd0e08fa404ed89":"ce8928f6059558254008badd9794fadcd2fd1f65":"0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a":0 RSAES-OAEP Encryption Example 3_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"6cc641b6b61e6f963974dad23a9013284ef1":"6e2979f52d6814a57d83b090054888f119a5b9a3":"02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0":0 RSAES-OAEP Encryption Example 3_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223":"2d760bfe38c59de34cdc8b8c78a38e66284a2d27":"0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60":0 RSAES-OAEP Encryption Example 3_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1026:"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1":"f174779c5fd3cfe007badcb7a36c9b55bfcfbf0e":"00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730":0 RSAES-OAEP Encryption Example 4_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2":"1cac19ce993def55f98203f6852896c95ccca1f3":"04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8":0 RSAES-OAEP Encryption Example 4_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8":"f545d5897585e3db71aa0cb8da76c51d032ae963":"0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e":0 RSAES-OAEP Encryption Example 4_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99":"ad997feef730d6ea7be60d0dc52e72eacbfdd275":"0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb24c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065":0 RSAES-OAEP Encryption Example 4_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"fb2ef112f5e766eb94019297934794f7be2f6fc1c58e":"136454df5730f73c807a7e40d8c1a312ac5b9dd3":"02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4":0 RSAES-OAEP Encryption Example 4_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284":"bca8057f824b2ea257f2861407eef63d33208681":"00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2":0 RSAES-OAEP Encryption Example 4_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1027:"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"f22242751ec6b1":"2e7e1e17f647b5ddd033e15472f90f6812f3ac4e":"00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9":0 RSAES-OAEP Encryption Example 5_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8":"44c92e283f77b9499c603d963660c87d2f939461":"036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5":0 RSAES-OAEP Encryption Example 5_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399":"cb28f5860659fceee49c3eeafce625a70803bd32":"03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad":0 RSAES-OAEP Encryption Example 5_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7":"2285f40d770482f9a9efa2c72cb3ac55716dc0ca":"0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967":0 RSAES-OAEP Encryption Example 5_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"15c5b9ee1185":"49fa45d3a78dd10dfd577399d1eb00af7eed5513":"0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a82cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf":0 RSAES-OAEP Encryption Example 5_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a":"f0287413234cc5034724a094c4586b87aff133fc":"07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723":0 RSAES-OAEP Encryption Example 5_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1028:"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"541e37b68b6c8872b84c02":"d9fba45c96f21e6e26d29eb2cdcb6585be9cb341":"08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a":0 RSAES-OAEP Encryption Example 6_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4":"dd0f6cfe415e88e5a469a51fbba6dfd40adb4384":"0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3":0 RSAES-OAEP Encryption Example 6_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7":"8d14bd946a1351148f5cae2ed9a0c653e85ebd85":"0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f":0 RSAES-OAEP Encryption Example 6_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c":"6c075bc45520f165c0bf5ea4c5df191bc9ef0e44":"0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65":0 RSAES-OAEP Encryption Example 6_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"684e3038c5c041f7":"3bbc3bd6637dfe12846901029bf5b0c07103439c":"008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8":0 RSAES-OAEP Encryption Example 6_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693":"b46b41893e8bef326f6759383a83071dae7fcabc":"00003474416c7b68bdf961c385737944d7f1f40cb395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab":0 RSAES-OAEP Encryption Example 6_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1029:"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"50ba14be8462720279c306ba":"0a2403312a41e3d52f060fbc13a67de5cf7609a7":"0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470":0 RSAES-OAEP Encryption Example 7_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"47aae909":"43dd09a07ff4cac71caa4632ee5e1c1daee4cd8f":"1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1":0 RSAES-OAEP Encryption Example 7_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7":"3a9c3cec7b84f9bd3adecbc673ec99d54b22bc9b":"1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6":0 RSAES-OAEP Encryption Example 7_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"d976fc":"76a75e5b6157a556cf8884bb2e45c293dd545cf5":"2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b":0 RSAES-OAEP Encryption Example 7_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb":"7866314a6ad6f2b250a35941db28f5864b585859":"0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac":0 RSAES-OAEP Encryption Example 7_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"bb47231ca5ea1d3ad46c99345d9a8a61":"b2166ed472d58db10cab2c6b000cccf10a7dc509":"028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478":0 RSAES-OAEP Encryption Example 7_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1030:"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"2184827095d35c3f86f600e8e59754013296":"52673bde2ca166c2aa46131ac1dc808d67d7d3b1":"14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d1f62574842216ae674115":0 RSAES-OAEP Encryption Example 8_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967":"7706ffca1ecfb1ebee2a55e5c6e24cd2797a4125":"09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61":0 RSAES-OAEP Encryption Example 8_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc":"a3717da143b4dcffbc742665a8fa950585548343":"2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d":0 RSAES-OAEP Encryption Example 8_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"8604ac56328c1ab5ad917861":"ee06209073cca026bb264e5185bf8c68b7739f86":"4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f":0 RSAES-OAEP Encryption Example 8_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc":"990ad573dc48a973235b6d82543618f2e955105d":"2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0":0 RSAES-OAEP Encryption Example 8_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"4a5f4914bee25de3c69341de07":"ecc63b28f0756f22f52ac8e6ec1251a6ec304718":"1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2":0 RSAES-OAEP Encryption Example 8_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1031:"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be":"3925c71b362d40a0a6de42145579ba1e7dd459fc":"3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210":0 RSAES-OAEP Encryption Example 9_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6":"8ec965f134a3ec9931e92a1ca0dc8169d5ea705c":"267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72":0 RSAES-OAEP Encryption Example 9_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659":"ecb1b8b25fa50cdab08e56042867f4af5826d16c":"93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8":0 RSAES-OAEP Encryption Example 9_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"fd326429df9b890e09b54b18b8f34f1e24":"e89bb032c6ce622cbdb53bc9466014ea77f777c0":"81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3":0 RSAES-OAEP Encryption Example 9_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e":"606f3b99c0b9ccd771eaa29ea0e4c884f3189ccc":"bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858":0 RSAES-OAEP Encryption Example 9_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d":"fcbc421402e9ecabc6082afa40ba5f26522c840e":"232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e":0 RSAES-OAEP Encryption Example 9_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:1536:"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"b6b28ea2198d0c1008bc64":"23aade0e1e08bb9b9a78d2302a52f9c21b2e1ba2":"438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f":0 RSAES-OAEP Encryption Example 10_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee":"47e1ab7119fee56c95ee5eaad86f40d0aa63bd33":"53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc":0 RSAES-OAEP Encryption Example 10_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"e6ad181f053b58a904f2457510373e57":"6d17f5b4c1ffac351d195bf7b09d09f09a4079cf":"a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9dddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795":0 RSAES-OAEP Encryption Example 10_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124":"385387514deccc7c740dd8cdf9daee49a1cbfd54":"9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede":0 RSAES-OAEP Encryption Example 10_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9":"5caca6a0f764161a9684f85d92b6e0ef37ca8b65":"6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8":0 RSAES-OAEP Encryption Example 10_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9":"95bca9e3859894b3dd869fa7ecd5bbc6401bf3e4":"75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0":0 RSAES-OAEP Encryption Example 10_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac":"9f47ddf42e97eea856a9bdbc714eb3ac22f6eb32":"2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46":0 RSAES-OAEP Encryption input=NULL with length=0 -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_encrypt:2048:"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"":"9f47ddf42e97eea856a9bdbc714eb3ac22f6eb32":"32b75304e631e94d4b02819642c7ffa66116af504cb3c4687420cc4b7f069fc6cc3b1a254611995ce2914a9e88152d38bbf87ccedcad9b9890341284e56e802a1b1f8f6bd3d5c991bd92eb8a8ea0a1d8bae141088ff8dceaebdb73515cf06ce33baa37c53093f1d1edc3502818cc70edcfddb41646374beb5b4f67f7f773e43778d4d31012e5a207c474e762ac3251ea6ede9018ad6e8e9ea65a3528a62b694eb9d8becff220a7c6c70d33eaafa52cf67a8090f67b6f9c43c6fe0b0f2375cbb9e611c0fcfef5312feb5e53d4a89d3d7e06c966e0c92ab9e5838239f390bcfd918d94c224df8e8ccb57ee364389908b6a0e550133f7565016804fbd6cb338314a":0 RSAES-OAEP Decryption Test Vector Int +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"eecfae81b1b9b3c908810b10a1b5600199eb9f44aef4fda493b81a9e3d84f632124ef0236e5d1e3b7e28fae7aa040a2d5b252176459d1f397541ba2a58fb6599":"c97fb1f027f453f6341233eaaad1d9353f6c42d08866b1d05a0f2035028b9d869840b41666b42e92ea0da3b43204b5cfce3352524d0416a5a441e700af461503":"bbf82f090682ce9c2338ac2b9da871f7368d07eed41043a440d6b6f07454f51fb8dfbaaf035c02ab61ea48ceeb6fcd4876ed520d60e1ec4619719d8a5b8b807fafb8e0a3dfc737723ee6b4b7d93a2584ee6a649d060953748834b2454598394ee0aab12d7b61a51f527a9a41f6c1687fe2537298ca2a8f5946f8e5fd091dbdcb":"11":MBEDTLS_MD_SHA1:"d436e99569fd32a7c8a05bbc90d32c49":"aafd12f659cae63489b479e5076ddec2f06cb58f":"1253e04dc0a5397bb44a7ab87e9bf2a039a33d1e996fc82a94ccd30074c95df763722017069e5268da5d1c0b4f872cf653c11df82314a67968dfeae28def04bb6d84b1c31d654a1970e5783bd6eb96a024c2ca2f4a90fe9f2ef5c9c140e5bb48da9536ad8700c84fc9130adea74e558d51a74ddf85d8b50de96838d6063e0955":0 RSAES-OAEP Decryption Test Vector 1_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"6628194e12073db03ba94cda9ef9532397d50dba79b987004afefe34":"18b776ea21069d69776a33e96bad48e1dda0a5ef":"354fe67b4a126d5d35fe36c777791a3f7ba13def484e2d3908aff722fad468fb21696de95d0be911c2d3174f8afcc201035f7b6d8e69402de5451618c21a535fa9d7bfc5b8dd9fc243f8cf927db31322d6e881eaa91a996170e657a05a266426d98c88003f8477c1227094a0d9fa1e8c4024309ce1ecccb5210035d47ac72e8a":0 RSAES-OAEP Decryption Test Vector 1_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"750c4047f547e8e41411856523298ac9bae245efaf1397fbe56f9dd5":"0cc742ce4a9b7f32f951bcb251efd925fe4fe35f":"640db1acc58e0568fe5407e5f9b701dff8c3c91e716c536fc7fcec6cb5b71c1165988d4a279e1577d730fc7a29932e3f00c81515236d8d8e31017a7a09df4352d904cdeb79aa583adcc31ea698a4c05283daba9089be5491f67c1a4ee48dc74bbbe6643aef846679b4cb395a352d5ed115912df696ffe0702932946d71492b44":0 RSAES-OAEP Decryption Test Vector 1_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"d94ae0832e6445ce42331cb06d531a82b1db4baad30f746dc916df24d4e3c2451fff59a6423eb0e1d02d4fe646cf699dfd818c6e97b051":"2514df4695755a67b288eaf4905c36eec66fd2fd":"423736ed035f6026af276c35c0b3741b365e5f76ca091b4e8c29e2f0befee603595aa8322d602d2e625e95eb81b2f1c9724e822eca76db8618cf09c5343503a4360835b5903bc637e3879fb05e0ef32685d5aec5067cd7cc96fe4b2670b6eac3066b1fcf5686b68589aafb7d629b02d8f8625ca3833624d4800fb081b1cf94eb":0 RSAES-OAEP Decryption Test Vector 1_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"52e650d98e7f2a048b4f86852153b97e01dd316f346a19f67a85":"c4435a3e1a18a68b6820436290a37cefb85db3fb":"45ead4ca551e662c9800f1aca8283b0525e6abae30be4b4aba762fa40fd3d38e22abefc69794f6ebbbc05ddbb11216247d2f412fd0fba87c6e3acd888813646fd0e48e785204f9c3f73d6d8239562722dddd8771fec48b83a31ee6f592c4cfd4bc88174f3b13a112aae3b9f7b80e0fc6f7255ba880dc7d8021e22ad6a85f0755":0 RSAES-OAEP Decryption Test Vector 1_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"8da89fd9e5f974a29feffb462b49180f6cf9e802":"b318c42df3be0f83fea823f5a7b47ed5e425a3b5":"36f6e34d94a8d34daacba33a2139d00ad85a9345a86051e73071620056b920e219005855a213a0f23897cdcd731b45257c777fe908202befdd0b58386b1244ea0cf539a05d5d10329da44e13030fd760dcd644cfef2094d1910d3f433e1c7c6dd18bc1f2df7f643d662fb9dd37ead9059190f4fa66ca39e869c4eb449cbdc439":0 RSAES-OAEP Decryption Test Vector 1_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1024:"d32737e7267ffe1341b2d5c0d150a81b586fb3132bed2f8d5262864a9cb9f30af38be448598d413a172efb802c21acf1c11c520c2f26a471dcad212eac7ca39d":"cc8853d1d54da630fac004f471f281c7b8982d8224a490edbeb33d3e3d5cc93c4765703d1dd791642f1f116a0dd852be2419b2af72bfe9a030e860b0288b5d77":"a8b3b284af8eb50b387034a860f146c4919f318763cd6c5598c8ae4811a1e0abc4c7e0b082d693a5e7fced675cf4668512772c0cbc64a742c6c630f533c8cc72f62ae833c40bf25842e984bb78bdbf97c0107d55bdb662f5c4e0fab9845cb5148ef7392dd3aaff93ae1e6b667bb3d4247616d4f5ba10d4cfd226de88d39f16fb":"010001":MBEDTLS_MD_SHA1:"26521050844271":"e4ec0982c2336f3a677f6a356174eb0ce887abc2":"42cee2617b1ecea4db3f4829386fbd61dafbf038e180d837c96366df24c097b4ab0fac6bdf590d821c9f10642e681ad05b8d78b378c0f46ce2fad63f74e0ad3df06b075d7eb5f5636f8d403b9059ca761b5c62bb52aa45002ea70baace08ded243b9d8cbd62a68ade265832b56564e43a6fa42ed199a099769742df1539e8255":0 RSAES-OAEP Decryption Test Vector 2_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"8ff00caa605c702830634d9a6c3d42c652b58cf1d92fec570beee7":"8c407b5ec2899e5099c53e8ce793bf94e71b1782":"0181af8922b9fcb4d79d92ebe19815992fc0c1439d8bcd491398a0f4ad3a329a5bd9385560db532683c8b7da04e4b12aed6aacdf471c34c9cda891addcc2df3456653aa6382e9ae59b54455257eb099d562bbe10453f2b6d13c59c02e10f1f8abb5da0d0570932dacf2d0901db729d0fefcc054e70968ea540c81b04bcaefe720e":0 RSAES-OAEP Decryption Test Vector 2_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"2d":"b600cf3c2e506d7f16778c910d3a8b003eee61d5":"018759ff1df63b2792410562314416a8aeaf2ac634b46f940ab82d64dbf165eee33011da749d4bab6e2fcd18129c9e49277d8453112b429a222a8471b070993998e758861c4d3f6d749d91c4290d332c7a4ab3f7ea35ff3a07d497c955ff0ffc95006b62c6d296810d9bfab024196c7934012c2df978ef299aba239940cba10245":0 RSAES-OAEP Decryption Test Vector 2_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"74fc88c51bc90f77af9d5e9a4a70133d4b4e0b34da3c37c7ef8e":"a73768aeeaa91f9d8c1ed6f9d2b63467f07ccae3":"018802bab04c60325e81c4962311f2be7c2adce93041a00719c88f957575f2c79f1b7bc8ced115c706b311c08a2d986ca3b6a9336b147c29c6f229409ddec651bd1fdd5a0b7f610c9937fdb4a3a762364b8b3206b4ea485fd098d08f63d4aa8bb2697d027b750c32d7f74eaf5180d2e9b66b17cb2fa55523bc280da10d14be2053":0 RSAES-OAEP Decryption Test Vector 2_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"a7eb2a5036931d27d4e891326d99692ffadda9bf7efd3e34e622c4adc085f721dfe885072c78a203b151739be540fa8c153a10f00a":"9a7b3b0e708bd96f8190ecab4fb9b2b3805a8156":"00a4578cbc176318a638fba7d01df15746af44d4f6cd96d7e7c495cbf425b09c649d32bf886da48fbaf989a2117187cafb1fb580317690e3ccd446920b7af82b31db5804d87d01514acbfa9156e782f867f6bed9449e0e9a2c09bcecc6aa087636965e34b3ec766f2fe2e43018a2fddeb140616a0e9d82e5331024ee0652fc7641":0 RSAES-OAEP Decryption Test Vector 2_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"2ef2b066f854c33f3bdcbb5994a435e73d6c6c":"eb3cebbc4adc16bb48e88c8aec0e34af7f427fd3":"00ebc5f5fda77cfdad3c83641a9025e77d72d8a6fb33a810f5950f8d74c73e8d931e8634d86ab1246256ae07b6005b71b7f2fb98351218331ce69b8ffbdc9da08bbc9c704f876deb9df9fc2ec065cad87f9090b07acc17aa7f997b27aca48806e897f771d95141fe4526d8a5301b678627efab707fd40fbebd6e792a25613e7aec":0 RSAES-OAEP Decryption Test Vector 2_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1025:"0159dbde04a33ef06fb608b80b190f4d3e22bcc13ac8e4a081033abfa416edb0b338aa08b57309ea5a5240e7dc6e54378c69414c31d97ddb1f406db3769cc41a43":"012b652f30403b38b40995fd6ff41a1acc8ada70373236b7202d39b2ee30cfb46db09511f6f307cc61cc21606c18a75b8a62f822df031ba0df0dafd5506f568bd7":"01947c7fce90425f47279e70851f25d5e62316fe8a1df19371e3e628e260543e4901ef6081f68c0b8141190d2ae8daba7d1250ec6db636e944ec3722877c7c1d0a67f14b1694c5f0379451a43e49a32dde83670b73da91a1c99bc23b436a60055c610f0baf99c1a079565b95a3f1526632d1d4da60f20eda25e653c4f002766f45":"010001":MBEDTLS_MD_SHA1:"8a7fb344c8b6cb2cf2ef1f643f9a3218f6e19bba89c0":"4c45cf4d57c98e3d6d2095adc51c489eb50dff84":"010839ec20c27b9052e55befb9b77e6fc26e9075d7a54378c646abdf51e445bd5715de81789f56f1803d9170764a9e93cb78798694023ee7393ce04bc5d8f8c5a52c171d43837e3aca62f609eb0aa5ffb0960ef04198dd754f57f7fbe6abf765cf118b4ca443b23b5aab266f952326ac4581100644325f8b721acd5d04ff14ef3a":0 RSAES-OAEP Decryption Example 3_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"087820b569e8fa8d":"8ced6b196290805790e909074015e6a20b0c4894":"026a0485d96aebd96b4382085099b962e6a2bdec3d90c8db625e14372de85e2d5b7baab65c8faf91bb5504fb495afce5c988b3f6a52e20e1d6cbd3566c5cd1f2b8318bb542cc0ea25c4aab9932afa20760eaddec784396a07ea0ef24d4e6f4d37e5052a7a31e146aa480a111bbe926401307e00f410033842b6d82fe5ce4dfae80":0 RSAES-OAEP Decryption Example 3_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"4653acaf171960b01f52a7be63a3ab21dc368ec43b50d82ec3781e04":"b4291d6567550848cc156967c809baab6ca507f0":"024db89c7802989be0783847863084941bf209d761987e38f97cb5f6f1bc88da72a50b73ebaf11c879c4f95df37b850b8f65d7622e25b1b889e80fe80baca2069d6e0e1d829953fc459069de98ea9798b451e557e99abf8fe3d9ccf9096ebbf3e5255d3b4e1c6d2ecadf067a359eea86405acd47d5e165517ccafd47d6dbee4bf5":0 RSAES-OAEP Decryption Example 3_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"d94cd0e08fa404ed89":"ce8928f6059558254008badd9794fadcd2fd1f65":"0239bce681032441528877d6d1c8bb28aa3bc97f1df584563618995797683844ca86664732f4bed7a0aab083aaabfb7238f582e30958c2024e44e57043b97950fd543da977c90cdde5337d618442f99e60d7783ab59ce6dd9d69c47ad1e962bec22d05895cff8d3f64ed5261d92b2678510393484990ba3f7f06818ae6ffce8a3a":0 RSAES-OAEP Decryption Example 3_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"6cc641b6b61e6f963974dad23a9013284ef1":"6e2979f52d6814a57d83b090054888f119a5b9a3":"02994c62afd76f498ba1fd2cf642857fca81f4373cb08f1cbaee6f025c3b512b42c3e8779113476648039dbe0493f9246292fac28950600e7c0f32edf9c81b9dec45c3bde0cc8d8847590169907b7dc5991ceb29bb0714d613d96df0f12ec5d8d3507c8ee7ae78dd83f216fa61de100363aca48a7e914ae9f42ddfbe943b09d9a0":0 RSAES-OAEP Decryption Example 3_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"df5151832b61f4f25891fb4172f328d2eddf8371ffcfdbe997939295f30eca6918017cfda1153bf7a6af87593223":"2d760bfe38c59de34cdc8b8c78a38e66284a2d27":"0162042ff6969592a6167031811a239834ce638abf54fec8b99478122afe2ee67f8c5b18b0339805bfdbc5a4e6720b37c59cfba942464c597ff532a119821545fd2e59b114e61daf71820529f5029cf524954327c34ec5e6f5ba7efcc4de943ab8ad4ed787b1454329f70db798a3a8f4d92f8274e2b2948ade627ce8ee33e43c60":0 RSAES-OAEP Decryption Example 3_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1026:"01bf01d216d73595cf0270c2beb78d40a0d8447d31da919a983f7eea781b77d85fe371b3e9373e7b69217d3150a02d8958de7fad9d555160958b4454127e0e7eaf":"018d3399658166db3829816d7b295416759e9c91987f5b2d8aecd63b04b48bd7b2fcf229bb7f8a6dc88ba13dd2e39ad55b6d1a06160708f9700be80b8fd3744ce7":"02b58fec039a860700a4d7b6462f93e6cdd491161ddd74f4e810b40e3c1652006a5c277b2774c11305a4cbab5a78efa57e17a86df7a3fa36fc4b1d2249f22ec7c2dd6a463232accea906d66ebe80b5704b10729da6f833234abb5efdd4a292cbfad33b4d33fa7a14b8c397b56e3acd21203428b77cdfa33a6da706b3d8b0fc43e9":"010001":MBEDTLS_MD_SHA1:"3c3bad893c544a6d520ab022319188c8d504b7a788b850903b85972eaa18552e1134a7ad6098826254ff7ab672b3d8eb3158fac6d4cbaef1":"f174779c5fd3cfe007badcb7a36c9b55bfcfbf0e":"00112051e75d064943bc4478075e43482fd59cee0679de6893eec3a943daa490b9691c93dfc0464b6623b9f3dbd3e70083264f034b374f74164e1a00763725e574744ba0b9db83434f31df96f6e2a26f6d8eba348bd4686c2238ac07c37aac3785d1c7eea2f819fd91491798ed8e9cef5e43b781b0e0276e37c43ff9492d005730":0 RSAES-OAEP Decryption Example 4_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"4a86609534ee434a6cbca3f7e962e76d455e3264c19f605f6e5ff6137c65c56d7fb344cd52bc93374f3d166c9f0c6f9c506bad19330972d2":"1cac19ce993def55f98203f6852896c95ccca1f3":"04cce19614845e094152a3fe18e54e3330c44e5efbc64ae16886cb1869014cc5781b1f8f9e045384d0112a135ca0d12e9c88a8e4063416deaae3844f60d6e96fe155145f4525b9a34431ca3766180f70e15a5e5d8e8b1a516ff870609f13f896935ced188279a58ed13d07114277d75c6568607e0ab092fd803a223e4a8ee0b1a8":0 RSAES-OAEP Decryption Example 4_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"b0adc4f3fe11da59ce992773d9059943c03046497ee9d9f9a06df1166db46d98f58d27ec074c02eee6cbe2449c8b9fc5080c5c3f4433092512ec46aa793743c8":"f545d5897585e3db71aa0cb8da76c51d032ae963":"0097b698c6165645b303486fbf5a2a4479c0ee85889b541a6f0b858d6b6597b13b854eb4f839af03399a80d79bda6578c841f90d645715b280d37143992dd186c80b949b775cae97370e4ec97443136c6da484e970ffdb1323a20847821d3b18381de13bb49aaea66530c4a4b8271f3eae172cd366e07e6636f1019d2a28aed15e":0 RSAES-OAEP Decryption Example 4_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"bf6d42e701707b1d0206b0c8b45a1c72641ff12889219a82bdea965b5e79a96b0d0163ed9d578ec9ada20f2fbcf1ea3c4089d83419ba81b0c60f3606da99":"ad997feef730d6ea7be60d0dc52e72eacbfdd275":"0301f935e9c47abcb48acbbe09895d9f5971af14839da4ff95417ee453d1fd77319072bb7297e1b55d7561cd9d1bb24c1a9a37c619864308242804879d86ebd001dce5183975e1506989b70e5a83434154d5cbfd6a24787e60eb0c658d2ac193302d1192c6e622d4a12ad4b53923bca246df31c6395e37702c6a78ae081fb9d065":0 RSAES-OAEP Decryption Example 4_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"fb2ef112f5e766eb94019297934794f7be2f6fc1c58e":"136454df5730f73c807a7e40d8c1a312ac5b9dd3":"02d110ad30afb727beb691dd0cf17d0af1a1e7fa0cc040ec1a4ba26a42c59d0a796a2e22c8f357ccc98b6519aceb682e945e62cb734614a529407cd452bee3e44fece8423cc19e55548b8b994b849c7ecde4933e76037e1d0ce44275b08710c68e430130b929730ed77e09b015642c5593f04e4ffb9410798102a8e96ffdfe11e4":0 RSAES-OAEP Decryption Example 4_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"28ccd447bb9e85166dabb9e5b7d1adadc4b9d39f204e96d5e440ce9ad928bc1c2284":"bca8057f824b2ea257f2861407eef63d33208681":"00dbb8a7439d90efd919a377c54fae8fe11ec58c3b858362e23ad1b8a44310799066b99347aa525691d2adc58d9b06e34f288c170390c5f0e11c0aa3645959f18ee79e8f2be8d7ac5c23d061f18dd74b8c5f2a58fcb5eb0c54f99f01a83247568292536583340948d7a8c97c4acd1e98d1e29dc320e97a260532a8aa7a758a1ec2":0 RSAES-OAEP Decryption Example 4_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1027:"027458c19ec1636919e736c9af25d609a51b8f561d19c6bf6943dd1ee1ab8a4a3f232100bd40b88decc6ba235548b6ef792a11c9de823d0a7922c7095b6eba5701":"0210ee9b33ab61716e27d251bd465f4b35a1a232e2da00901c294bf22350ce490d099f642b5375612db63ba1f20386492bf04d34b3c22bceb909d13441b53b5139":"051240b6cc0004fa48d0134671c078c7c8dec3b3e2f25bc2564467339db38853d06b85eea5b2de353bff42ac2e46bc97fae6ac9618da9537a5c8f553c1e357625991d6108dcd7885fb3a25413f53efcad948cb35cd9b9ae9c1c67626d113d57dde4c5bea76bb5bb7de96c00d07372e9685a6d75cf9d239fa148d70931b5f3fb039":"010001":MBEDTLS_MD_SHA1:"f22242751ec6b1":"2e7e1e17f647b5ddd033e15472f90f6812f3ac4e":"00a5ffa4768c8bbecaee2db77e8f2eec99595933545520835e5ba7db9493d3e17cddefe6a5f567624471908db4e2d83a0fbee60608fc84049503b2234a07dc83b27b22847ad8920ff42f674ef79b76280b00233d2b51b8cb2703a9d42bfbc8250c96ec32c051e57f1b4ba528db89c37e4c54e27e6e64ac69635ae887d9541619a9":0 RSAES-OAEP Decryption Example 5_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"af71a901e3a61d3132f0fc1fdb474f9ea6579257ffc24d164170145b3dbde8":"44c92e283f77b9499c603d963660c87d2f939461":"036046a4a47d9ed3ba9a89139c105038eb7492b05a5d68bfd53accff4597f7a68651b47b4a4627d927e485eed7b4566420e8b409879e5d606eae251d22a5df799f7920bfc117b992572a53b1263146bcea03385cc5e853c9a101c8c3e1bda31a519807496c6cb5e5efb408823a352b8fa0661fb664efadd593deb99fff5ed000e5":0 RSAES-OAEP Decryption Example 5_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"a3b844a08239a8ac41605af17a6cfda4d350136585903a417a79268760519a4b4ac3303ec73f0f87cfb32399":"cb28f5860659fceee49c3eeafce625a70803bd32":"03d6eb654edce615bc59f455265ed4e5a18223cbb9be4e4069b473804d5de96f54dcaaa603d049c5d94aa1470dfcd2254066b7c7b61ff1f6f6770e3215c51399fd4e34ec5082bc48f089840ad04354ae66dc0f1bd18e461a33cc1258b443a2837a6df26759aa2302334986f87380c9cc9d53be9f99605d2c9a97da7b0915a4a7ad":0 RSAES-OAEP Decryption Example 5_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"308b0ecbd2c76cb77fc6f70c5edd233fd2f20929d629f026953bb62a8f4a3a314bde195de85b5f816da2aab074d26cb6acddf323ae3b9c678ac3cf12fbdde7":"2285f40d770482f9a9efa2c72cb3ac55716dc0ca":"0770952181649f9f9f07ff626ff3a22c35c462443d905d456a9fd0bff43cac2ca7a9f554e9478b9acc3ac838b02040ffd3e1847de2e4253929f9dd9ee4044325a9b05cabb808b2ee840d34e15d105a3f1f7b27695a1a07a2d73fe08ecaaa3c9c9d4d5a89ff890d54727d7ae40c0ec1a8dd86165d8ee2c6368141016a48b55b6967":0 RSAES-OAEP Decryption Example 5_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"15c5b9ee1185":"49fa45d3a78dd10dfd577399d1eb00af7eed5513":"0812b76768ebcb642d040258e5f4441a018521bd96687e6c5e899fcd6c17588ff59a82cc8ae03a4b45b31299af1788c329f7dcd285f8cf4ced82606b97612671a45bedca133442144d1617d114f802857f0f9d739751c57a3f9ee400912c61e2e6992be031a43dd48fa6ba14eef7c422b5edc4e7afa04fdd38f402d1c8bb719abf":0 RSAES-OAEP Decryption Example 5_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"21026e6800c7fa728fcaaba0d196ae28d7a2ac4ffd8abce794f0985f60c8a6737277365d3fea11db8923a2029a":"f0287413234cc5034724a094c4586b87aff133fc":"07b60e14ec954bfd29e60d0047e789f51d57186c63589903306793ced3f68241c743529aba6a6374f92e19e0163efa33697e196f7661dfaaa47aac6bde5e51deb507c72c589a2ca1693d96b1460381249b2cdb9eac44769f2489c5d3d2f99f0ee3c7ee5bf64a5ac79c42bd433f149be8cb59548361640595513c97af7bc2509723":0 RSAES-OAEP Decryption Example 5_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1028:"03b0d3962f6d17549cbfca11294348dcf0e7e39f8c2bc6824f2164b606d687860dae1e632393cfedf513228229069e2f60e4acd7e633a436063f82385f48993707":"02e4c32e2f517269b7072309f00c0e31365f7ce28b236b82912df239abf39572cf0ed604b02982e53564c52d6a05397de5c052a2fddc141ef7189836346aeb331f":"0aadf3f9c125e5d891f31ac448e993defe580f802b45f9d7f22ba5021e9c47576b5a1e68031ba9db4e6dabe4d96a1d6f3d267268cff408005f118efcadb99888d1c234467166b2a2b849a05a889c060ac0da0c5fae8b55f309ba62e703742fa0326f2d10b011021489ff497770190d895fd39f52293c39efd73a698bdab9f10ed9":"010001":MBEDTLS_MD_SHA1:"541e37b68b6c8872b84c02":"d9fba45c96f21e6e26d29eb2cdcb6585be9cb341":"08c36d4dda33423b2ed6830d85f6411ba1dcf470a1fae0ebefee7c089f256cef74cb96ea69c38f60f39abee44129bcb4c92de7f797623b20074e3d9c2899701ed9071e1efa0bdd84d4c3e5130302d8f0240baba4b84a71cc032f2235a5ff0fae277c3e8f9112bef44c9ae20d175fc9a4058bfc930ba31b02e2e4f444483710f24a":0 RSAES-OAEP Decryption Example 6_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"4046ca8baa3347ca27f49e0d81f9cc1d71be9ba517d4":"dd0f6cfe415e88e5a469a51fbba6dfd40adb4384":"0630eebcd2856c24f798806e41f9e67345eda9ceda386acc9facaea1eeed06ace583709718d9d169fadf414d5c76f92996833ef305b75b1e4b95f662a20faedc3bae0c4827a8bf8a88edbd57ec203a27a841f02e43a615bab1a8cac0701de34debdef62a088089b55ec36ea7522fd3ec8d06b6a073e6df833153bc0aefd93bd1a3":0 RSAES-OAEP Decryption Example 6_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"5cc72c60231df03b3d40f9b57931bc31109f972527f28b19e7480c7288cb3c92b22512214e4be6c914792ddabdf57faa8aa7":"8d14bd946a1351148f5cae2ed9a0c653e85ebd85":"0ebc37376173a4fd2f89cc55c2ca62b26b11d51c3c7ce49e8845f74e7607317c436bc8d23b9667dfeb9d087234b47bc6837175ae5c0559f6b81d7d22416d3e50f4ac533d8f0812f2db9e791fe9c775ac8b6ad0f535ad9ceb23a4a02014c58ab3f8d3161499a260f39348e714ae2a1d3443208fd8b722ccfdfb393e98011f99e63f":0 RSAES-OAEP Decryption Example 6_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"b20e651303092f4bccb43070c0f86d23049362ed96642fc5632c27db4a52e3d831f2ab068b23b149879c002f6bf3feee97591112562c":"6c075bc45520f165c0bf5ea4c5df191bc9ef0e44":"0a98bf1093619394436cf68d8f38e2f158fde8ea54f3435f239b8d06b8321844202476aeed96009492480ce3a8d705498c4c8c68f01501dc81db608f60087350c8c3b0bd2e9ef6a81458b7c801b89f2e4fe99d4900ba6a4b5e5a96d865dc676c7755928794130d6280a8160a190f2df3ea7cf9aa0271d88e9e6905ecf1c5152d65":0 RSAES-OAEP Decryption Example 6_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"684e3038c5c041f7":"3bbc3bd6637dfe12846901029bf5b0c07103439c":"008e7a67cacfb5c4e24bec7dee149117f19598ce8c45808fef88c608ff9cd6e695263b9a3c0ad4b8ba4c95238e96a8422b8535629c8d5382374479ad13fa39974b242f9a759eeaf9c83ad5a8ca18940a0162ba755876df263f4bd50c6525c56090267c1f0e09ce0899a0cf359e88120abd9bf893445b3cae77d3607359ae9a52f8":0 RSAES-OAEP Decryption Example 6_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"32488cb262d041d6e4dd35f987bf3ca696db1f06ac29a44693":"b46b41893e8bef326f6759383a83071dae7fcabc":"00003474416c7b68bdf961c385737944d7f1f40cb395343c693cc0b4fe63b31fedf1eaeeac9ccc0678b31dc32e0977489514c4f09085f6298a9653f01aea4045ff582ee887be26ae575b73eef7f3774921e375a3d19adda0ca31aa1849887c1f42cac9677f7a2f4e923f6e5a868b38c084ef187594dc9f7f048fea2e02955384ab":0 RSAES-OAEP Decryption Example 6_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1029:"04a6ce8b7358dfa69bdcf742617005afb5385f5f3a58a24ef74a22a8c05cb7cc38ebd4cc9d9a9d789a62cd0f60f0cb941d3423c9692efa4fe3adff290c4749a38b":"0404c9a803371fedb4c5be39f3c00b009e5e08a63be1e40035cdaca5011cc701cf7eebcb99f0ffe17cfd0a4bf7befd2dd536ac946db797fdbc4abe8f29349b91ed":"12b17f6dad2ecd19ff46dc13f7860f09e0e0cfb677b38a52592305ceaf022c166db90d04ac29e33f7dd12d9faf66e0816bb63ead267cc7d46c17c37be214bca2a22d723a64e44407436b6fc965729aefc2554f376cd5dcea68293780a62bf39d0029485a160bbb9e5dc0972d21a504f52e5ee028aa416332f510b2e9cff5f722af":"010001":MBEDTLS_MD_SHA1:"50ba14be8462720279c306ba":"0a2403312a41e3d52f060fbc13a67de5cf7609a7":"0a026dda5fc8785f7bd9bf75327b63e85e2c0fdee5dadb65ebdcac9ae1de95c92c672ab433aa7a8e69ce6a6d8897fac4ac4a54de841ae5e5bbce7687879d79634cea7a30684065c714d52409b928256bbf53eabcd5231eb7259504537399bd29164b726d33a46da701360a4168a091ccab72d44a62fed246c0ffea5b1348ab5470":0 RSAES-OAEP Decryption Example 7_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"47aae909":"43dd09a07ff4cac71caa4632ee5e1c1daee4cd8f":"1688e4ce7794bba6cb7014169ecd559cede2a30b56a52b68d9fe18cf1973ef97b2a03153951c755f6294aa49adbdb55845ab6875fb3986c93ecf927962840d282f9e54ce8b690f7c0cb8bbd73440d9571d1b16cd9260f9eab4783cc482e5223dc60973871783ec27b0ae0fd47732cbc286a173fc92b00fb4ba6824647cd93c85c1":0 RSAES-OAEP Decryption Example 7_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"1d9b2e2223d9bc13bfb9f162ce735db48ba7c68f6822a0a1a7b6ae165834e7":"3a9c3cec7b84f9bd3adecbc673ec99d54b22bc9b":"1052ed397b2e01e1d0ee1c50bf24363f95e504f4a03434a08fd822574ed6b9736edbb5f390db10321479a8a139350e2bd4977c3778ef331f3e78ae118b268451f20a2f01d471f5d53c566937171b2dbc2d4bde459a5799f0372d6574239b2323d245d0bb81c286b63c89a361017337e4902f88a467f4c7f244bfd5ab46437ff3b6":0 RSAES-OAEP Decryption Example 7_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"d976fc":"76a75e5b6157a556cf8884bb2e45c293dd545cf5":"2155cd843ff24a4ee8badb7694260028a490813ba8b369a4cbf106ec148e5298707f5965be7d101c1049ea8584c24cd63455ad9c104d686282d3fb803a4c11c1c2e9b91c7178801d1b6640f003f5728df007b8a4ccc92bce05e41a27278d7c85018c52414313a5077789001d4f01910b72aad05d220aa14a58733a7489bc54556b":0 RSAES-OAEP Decryption Example 7_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"d4738623df223aa43843df8467534c41d013e0c803c624e263666b239bde40a5f29aeb8de79e3daa61dd0370f49bd4b013834b98212aef6b1c5ee373b3cb":"7866314a6ad6f2b250a35941db28f5864b585859":"0ab14c373aeb7d4328d0aaad8c094d88b9eb098b95f21054a29082522be7c27a312878b637917e3d819e6c3c568db5d843802b06d51d9e98a2be0bf40c031423b00edfbff8320efb9171bd2044653a4cb9c5122f6c65e83cda2ec3c126027a9c1a56ba874d0fea23f380b82cf240b8cf540004758c4c77d934157a74f3fc12bfac":0 RSAES-OAEP Decryption Example 7_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"bb47231ca5ea1d3ad46c99345d9a8a61":"b2166ed472d58db10cab2c6b000cccf10a7dc509":"028387a318277434798b4d97f460068df5298faba5041ba11761a1cb7316b24184114ec500257e2589ed3b607a1ebbe97a6cc2e02bf1b681f42312a33b7a77d8e7855c4a6de03e3c04643f786b91a264a0d6805e2cea91e68177eb7a64d9255e4f27e713b7ccec00dc200ebd21c2ea2bb890feae4942df941dc3f97890ed347478":0 RSAES-OAEP Decryption Example 7_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1030:"0749262c111cd470ec2566e6b3732fc09329469aa19071d3b9c01906514c6f1d26baa14beab0971c8b7e611a4f79009d6fea776928ca25285b0de3643d1a3f8c71":"06bc1e50e96c02bf636e9eea8b899bbebf7651de77dd474c3e9bc23bad8182b61904c7d97dfbebfb1e00108878b6e67e415391d67942c2b2bf9b4435f88b0cb023":"311179f0bcfc9b9d3ca315d00ef30d7bdd3a2cfae9911bfedcb948b3a4782d0732b6ab44aa4bf03741a644dc01bec3e69b01a033e675d8acd7c4925c6b1aec3119051dfd89762d215d45475ffcb59f908148623f37177156f6ae86dd7a7c5f43dc1e1f908254058a284a5f06c0021793a87f1ac5feff7dcaee69c5e51a3789e373":"010001":MBEDTLS_MD_SHA1:"2184827095d35c3f86f600e8e59754013296":"52673bde2ca166c2aa46131ac1dc808d67d7d3b1":"14c678a94ad60525ef39e959b2f3ba5c097a94ff912b67dbace80535c187abd47d075420b1872152bba08f7fc31f313bbf9273c912fc4c0149a9b0cfb79807e346eb332069611bec0ff9bcd168f1f7c33e77313cea454b94e2549eecf002e2acf7f6f2d2845d4fe0aab2e5a92ddf68c480ae11247935d1f62574842216ae674115":0 RSAES-OAEP Decryption Example 8_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"050b755e5e6880f7b9e9d692a74c37aae449b31bfea6deff83747a897f6c2c825bb1adbf850a3c96994b5de5b33cbc7d4a17913a7967":"7706ffca1ecfb1ebee2a55e5c6e24cd2797a4125":"09b3683d8a2eb0fb295b62ed1fb9290b714457b7825319f4647872af889b30409472020ad12912bf19b11d4819f49614824ffd84d09c0a17e7d17309d12919790410aa2995699f6a86dbe3242b5acc23af45691080d6b1ae810fb3e3057087f0970092ce00be9562ff4053b6262ce0caa93e13723d2e3a5ba075d45f0d61b54b61":0 RSAES-OAEP Decryption Example 8_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"4eb68dcd93ca9b19df111bd43608f557026fe4aa1d5cfac227a3eb5ab9548c18a06dded23f81825986b2fcd71109ecef7eff88873f075c2aa0c469f69c92bc":"a3717da143b4dcffbc742665a8fa950585548343":"2ecf15c97c5a15b1476ae986b371b57a24284f4a162a8d0c8182e7905e792256f1812ba5f83f1f7a130e42dcc02232844edc14a31a68ee97ae564a383a3411656424c5f62ddb646093c367be1fcda426cf00a06d8acb7e57776fbbd855ac3df506fc16b1d7c3f2110f3d8068e91e186363831c8409680d8da9ecd8cf1fa20ee39d":0 RSAES-OAEP Decryption Example 8_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"8604ac56328c1ab5ad917861":"ee06209073cca026bb264e5185bf8c68b7739f86":"4bc89130a5b2dabb7c2fcf90eb5d0eaf9e681b7146a38f3173a3d9cfec52ea9e0a41932e648a9d69344c50da763f51a03c95762131e8052254dcd2248cba40fd31667786ce05a2b7b531ac9dac9ed584a59b677c1a8aed8c5d15d68c05569e2be780bf7db638fd2bfd2a85ab276860f3777338fca989ffd743d13ee08e0ca9893f":0 RSAES-OAEP Decryption Example 8_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"fdda5fbf6ec361a9d9a4ac68af216a0686f438b1e0e5c36b955f74e107f39c0dddcc":"990ad573dc48a973235b6d82543618f2e955105d":"2e456847d8fc36ff0147d6993594b9397227d577752c79d0f904fcb039d4d812fea605a7b574dd82ca786f93752348438ee9f5b5454985d5f0e1699e3e7ad175a32e15f03deb042ab9fe1dd9db1bb86f8c089ccb45e7ef0c5ee7ca9b7290ca6b15bed47039788a8a93ff83e0e8d6244c71006362deef69b6f416fb3c684383fbd0":0 RSAES-OAEP Decryption Example 8_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"4a5f4914bee25de3c69341de07":"ecc63b28f0756f22f52ac8e6ec1251a6ec304718":"1fb9356fd5c4b1796db2ebf7d0d393cc810adf6145defc2fce714f79d93800d5e2ac211ea8bbecca4b654b94c3b18b30dd576ce34dc95436ef57a09415645923359a5d7b4171ef22c24670f1b229d3603e91f76671b7df97e7317c97734476d5f3d17d21cf82b5ba9f83df2e588d36984fd1b584468bd23b2e875f32f68953f7b2":0 RSAES-OAEP Decryption Example 8_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1031:"0a02ef8448d9fad8bbd0d004c8c2aa9751ef9721c1b0d03236a54b0df947cbaed5a255ee9e8e20d491ea1723fe094704a9762e88afd16ebb5994412ca966dc4f9f":"092d362e7ed3a0bfd9e9fd0e6c0301b6df29159cf50cc83b9b0cf4d6eea71a61e002b46e0ae9f2de62d25b5d7452d498b81c9ac6fc58593d4c3fb4f5d72dfbb0a9":"5bdf0e30d321dda5147f882408fa69195480df8f80d3f6e8bf5818504f36427ca9b1f5540b9c65a8f6974cf8447a244d9280201bb49fcbbe6378d1944cd227e230f96e3d10f819dcef276c64a00b2a4b6701e7d01de5fabde3b1e9a0df82f4631359cd22669647fbb1717246134ed7b497cfffbdc42b59c73a96ed90166212dff7":"010001":MBEDTLS_MD_SHA1:"8e07d66f7b880a72563abcd3f35092bc33409fb7f88f2472be":"3925c71b362d40a0a6de42145579ba1e7dd459fc":"3afd9c6600147b21798d818c655a0f4c9212db26d0b0dfdc2a7594ccb3d22f5bf1d7c3e112cd73fc7d509c7a8bafdd3c274d1399009f9609ec4be6477e453f075aa33db382870c1c3409aef392d7386ae3a696b99a94b4da0589447e955d16c98b17602a59bd736279fcd8fb280c4462d590bfa9bf13fed570eafde97330a2c210":0 RSAES-OAEP Decryption Example 9_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"f735fd55ba92592c3b52b8f9c4f69aaa1cbef8fe88add095595412467f9cf4ec0b896c59eda16210e7549c8abb10cdbc21a12ec9b6b5b8fd2f10399eb6":"8ec965f134a3ec9931e92a1ca0dc8169d5ea705c":"267bcd118acab1fc8ba81c85d73003cb8610fa55c1d97da8d48a7c7f06896a4db751aa284255b9d36ad65f37653d829f1b37f97b8001942545b2fc2c55a7376ca7a1be4b1760c8e05a33e5aa2526b8d98e317088e7834c755b2a59b12631a182c05d5d43ab1779264f8456f515ce57dfdf512d5493dab7b7338dc4b7d78db9c091ac3baf537a69fc7f549d979f0eff9a94fda4169bd4d1d19a69c99e33c3b55490d501b39b1edae118ff6793a153261584d3a5f39f6e682e3d17c8cd1261fa72":0 RSAES-OAEP Decryption Example 9_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"81b906605015a63aabe42ddf11e1978912f5404c7474b26dce3ed482bf961ecc818bf420c54659":"ecb1b8b25fa50cdab08e56042867f4af5826d16c":"93ac9f0671ec29acbb444effc1a5741351d60fdb0e393fbf754acf0de49761a14841df7772e9bc82773966a1584c4d72baea00118f83f35cca6e537cbd4d811f5583b29783d8a6d94cd31be70d6f526c10ff09c6fa7ce069795a3fcd0511fd5fcb564bcc80ea9c78f38b80012539d8a4ddf6fe81e9cddb7f50dbbbbcc7e5d86097ccf4ec49189fb8bf318be6d5a0715d516b49af191258cd32dc833ce6eb4673c03a19bbace88cc54895f636cc0c1ec89096d11ce235a265ca1764232a689ae8":0 RSAES-OAEP Decryption Example 9_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"fd326429df9b890e09b54b18b8f34f1e24":"e89bb032c6ce622cbdb53bc9466014ea77f777c0":"81ebdd95054b0c822ef9ad7693f5a87adfb4b4c4ce70df2df84ed49c04da58ba5fc20a19e1a6e8b7a3900b22796dc4e869ee6b42792d15a8eceb56c09c69914e813cea8f6931e4b8ed6f421af298d595c97f4789c7caa612c7ef360984c21b93edc5401068b5af4c78a8771b984d53b8ea8adf2f6a7d4a0ba76c75e1dd9f658f20ded4a46071d46d7791b56803d8fea7f0b0f8e41ae3f09383a6f9585fe7753eaaffd2bf94563108beecc207bbb535f5fcc705f0dde9f708c62f49a9c90371d3":0 RSAES-OAEP Decryption Example 9_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"f1459b5f0c92f01a0f723a2e5662484d8f8c0a20fc29dad6acd43bb5f3effdf4e1b63e07fdfe6628d0d74ca19bf2d69e4a0abf86d293925a796772f8088e":"606f3b99c0b9ccd771eaa29ea0e4c884f3189ccc":"bcc35f94cde66cb1136625d625b94432a35b22f3d2fa11a613ff0fca5bd57f87b902ccdc1cd0aebcb0715ee869d1d1fe395f6793003f5eca465059c88660d446ff5f0818552022557e38c08a67ead991262254f10682975ec56397768537f4977af6d5f6aaceb7fb25dec5937230231fd8978af49119a29f29e424ab8272b47562792d5c94f774b8829d0b0d9f1a8c9eddf37574d5fa248eefa9c5271fc5ec2579c81bdd61b410fa61fe36e424221c113addb275664c801d34ca8c6351e4a858":0 RSAES-OAEP Decryption Example 9_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"53e6e8c729d6f9c319dd317e74b0db8e4ccca25f3c8305746e137ac63a63ef3739e7b595abb96e8d55e54f7bd41ab433378ffb911d":"fcbc421402e9ecabc6082afa40ba5f26522c840e":"232afbc927fa08c2f6a27b87d4a5cb09c07dc26fae73d73a90558839f4fd66d281b87ec734bce237ba166698ed829106a7de6942cd6cdce78fed8d2e4d81428e66490d036264cef92af941d3e35055fe3981e14d29cbb9a4f67473063baec79a1179f5a17c9c1832f2838fd7d5e59bb9659d56dce8a019edef1bb3accc697cc6cc7a778f60a064c7f6f5d529c6210262e003de583e81e3167b89971fb8c0e15d44fffef89b53d8d64dd797d159b56d2b08ea5307ea12c241bd58d4ee278a1f2e":0 RSAES-OAEP Decryption Example 9_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:1536:"fc8d6c04bec4eb9a8192ca7900cbe536e2e8b519decf33b2459798c6909df4f176db7d23190fc72b8865a718af895f1bcd9145298027423b605e70a47cf58390a8c3e88fc8c48e8b32e3da210dfbe3e881ea5674b6a348c21e93f9e55ea65efd":"d200d45e788aacea606a401d0460f87dd5c1027e12dc1a0d7586e8939d9cf789b40f51ac0442961de7d21cc21e05c83155c1f2aa9193387cfdf956cb48d153ba270406f9bbba537d4987d9e2f9942d7a14cbfffea74fecdda928d23e259f5ee1":"cf2cd41e34ca3a728ea5cb8aff64c36d27bdef5364e336fd68d3123c5a196a8c287013e853d5156d58d151954520fb4f6d7b17abb6817765909c576119659d902b1906ed8a2b10c155c24d124528dab9eeae379beac66e4a411786dcb8fd0062ebc030de1219a04c2a8c1b7dd3131e4d6b6caee2e31a5ed41ac1509b2ef1ee2ab18364be568ca941c25ecc84ff9d643b5ec1aaae102a20d73f479b780fd6da91075212d9eac03a0674d899eba2e431f4c44b615b6ba2232bd4b33baed73d625d":"010001":MBEDTLS_MD_SHA1:"b6b28ea2198d0c1008bc64":"23aade0e1e08bb9b9a78d2302a52f9c21b2e1ba2":"438cc7dc08a68da249e42505f8573ba60e2c2773d5b290f4cf9dff718e842081c383e67024a0f29594ea987b9d25e4b738f285970d195abb3a8c8054e3d79d6b9c9a8327ba596f1259e27126674766907d8d582ff3a8476154929adb1e6d1235b2ccb4ec8f663ba9cc670a92bebd853c8dbf69c6436d016f61add836e94732450434207f9fd4c43dec2a12a958efa01efe2669899b5e604c255c55fb7166de5589e369597bb09168c06dd5db177e06a1740eb2d5c82faeca6d92fcee9931ba9f":0 RSAES-OAEP Decryption Example 10_1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"8bba6bf82a6c0f86d5f1756e97956870b08953b06b4eb205bc1694ee":"47e1ab7119fee56c95ee5eaad86f40d0aa63bd33":"53ea5dc08cd260fb3b858567287fa91552c30b2febfba213f0ae87702d068d19bab07fe574523dfb42139d68c3c5afeee0bfe4cb7969cbf382b804d6e61396144e2d0e60741f8993c3014b58b9b1957a8babcd23af854f4c356fb1662aa72bfcc7e586559dc4280d160c126785a723ebeebeff71f11594440aaef87d10793a8774a239d4a04c87fe1467b9daf85208ec6c7255794a96cc29142f9a8bd418e3c1fd67344b0cd0829df3b2bec60253196293c6b34d3f75d32f213dd45c6273d505adf4cced1057cb758fc26aeefa441255ed4e64c199ee075e7f16646182fdb464739b68ab5daff0e63e9552016824f054bf4d3c8c90a97bb6b6553284eb429fcc":0 RSAES-OAEP Decryption Example 10_2 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"e6ad181f053b58a904f2457510373e57":"6d17f5b4c1ffac351d195bf7b09d09f09a4079cf":"a2b1a430a9d657e2fa1c2bb5ed43ffb25c05a308fe9093c01031795f5874400110828ae58fb9b581ce9dddd3e549ae04a0985459bde6c626594e7b05dc4278b2a1465c1368408823c85e96dc66c3a30983c639664fc4569a37fe21e5a195b5776eed2df8d8d361af686e750229bbd663f161868a50615e0c337bec0ca35fec0bb19c36eb2e0bbcc0582fa1d93aacdb061063f59f2ce1ee43605e5d89eca183d2acdfe9f81011022ad3b43a3dd417dac94b4e11ea81b192966e966b182082e71964607b4f8002f36299844a11f2ae0faeac2eae70f8f4f98088acdcd0ac556e9fccc511521908fad26f04c64201450305778758b0538bf8b5bb144a828e629795":0 RSAES-OAEP Decryption Example 10_3 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"510a2cf60e866fa2340553c94ea39fbc256311e83e94454b4124":"385387514deccc7c740dd8cdf9daee49a1cbfd54":"9886c3e6764a8b9a84e84148ebd8c3b1aa8050381a78f668714c16d9cfd2a6edc56979c535d9dee3b44b85c18be8928992371711472216d95dda98d2ee8347c9b14dffdff84aa48d25ac06f7d7e65398ac967b1ce90925f67dce049b7f812db0742997a74d44fe81dbe0e7a3feaf2e5c40af888d550ddbbe3bc20657a29543f8fc2913b9bd1a61b2ab2256ec409bbd7dc0d17717ea25c43f42ed27df8738bf4afc6766ff7aff0859555ee283920f4c8a63c4a7340cbafddc339ecdb4b0515002f96c932b5b79167af699c0ad3fccfdf0f44e85a70262bf2e18fe34b850589975e867ff969d48eabf212271546cdc05a69ecb526e52870c836f307bd798780ede":0 RSAES-OAEP Decryption Example 10_4 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"bcdd190da3b7d300df9a06e22caae2a75f10c91ff667b7c16bde8b53064a2649a94045c9":"5caca6a0f764161a9684f85d92b6e0ef37ca8b65":"6318e9fb5c0d05e5307e1683436e903293ac4642358aaa223d7163013aba87e2dfda8e60c6860e29a1e92686163ea0b9175f329ca3b131a1edd3a77759a8b97bad6a4f8f4396f28cf6f39ca58112e48160d6e203daa5856f3aca5ffed577af499408e3dfd233e3e604dbe34a9c4c9082de65527cac6331d29dc80e0508a0fa7122e7f329f6cca5cfa34d4d1da417805457e008bec549e478ff9e12a763c477d15bbb78f5b69bd57830fc2c4ed686d79bc72a95d85f88134c6b0afe56a8ccfbc855828bb339bd17909cf1d70de3335ae07039093e606d655365de6550b872cd6de1d440ee031b61945f629ad8a353b0d40939e96a3c450d2a8d5eee9f678093c8":0 RSAES-OAEP Decryption Example 10_5 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"a7dd6c7dc24b46f9dd5f1e91ada4c3b3df947e877232a9":"95bca9e3859894b3dd869fa7ecd5bbc6401bf3e4":"75290872ccfd4a4505660d651f56da6daa09ca1301d890632f6a992f3d565cee464afded40ed3b5be9356714ea5aa7655f4a1366c2f17c728f6f2c5a5d1f8e28429bc4e6f8f2cff8da8dc0e0a9808e45fd09ea2fa40cb2b6ce6ffff5c0e159d11b68d90a85f7b84e103b09e682666480c657505c0929259468a314786d74eab131573cf234bf57db7d9e66cc6748192e002dc0deea930585f0831fdcd9bc33d51f79ed2ffc16bcf4d59812fcebcaa3f9069b0e445686d644c25ccf63b456ee5fa6ffe96f19cdf751fed9eaf35957754dbf4bfea5216aa1844dc507cb2d080e722eba150308c2b5ff1193620f1766ecf4481bafb943bd292877f2136ca494aba0":0 RSAES-OAEP Decryption Example 10_6 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"eaf1a73a1b0c4609537de69cd9228bbcfb9a8ca8c6c3efaf056fe4a7f4634ed00b7c39ec6922d7b8ea2c04ebac":"9f47ddf42e97eea856a9bdbc714eb3ac22f6eb32":"2d207a73432a8fb4c03051b3f73b28a61764098dfa34c47a20995f8115aa6816679b557e82dbee584908c6e69782d7deb34dbd65af063d57fca76a5fd069492fd6068d9984d209350565a62e5c77f23038c12cb10c6634709b547c46f6b4a709bd85ca122d74465ef97762c29763e06dbc7a9e738c78bfca0102dc5e79d65b973f28240caab2e161a78b57d262457ed8195d53e3c7ae9da021883c6db7c24afdd2322eac972ad3c354c5fcef1e146c3a0290fb67adf007066e00428d2cec18ce58f9328698defef4b2eb5ec76918fde1c198cbb38b7afc67626a9aefec4322bfd90d2563481c9a221f78c8272c82d1b62ab914e1c69f6af6ef30ca5260db4a46":0 RSAES-OAEP Decryption empty output with NULL buffer -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsaes_oaep_decrypt:2048:"ecf5aecd1e5515fffacbd75a2816c6ebf49018cdfb4638e185d66a7396b6f8090f8018c7fd95cc34b857dc17f0cc6516bb1346ab4d582cadad7b4103352387b70338d084047c9d9539b6496204b3dd6ea442499207bec01f964287ff6336c3984658336846f56e46861881c10233d2176bf15a5e96ddc780bc868aa77d3ce769":"bc46c464fc6ac4ca783b0eb08a3c841b772f7e9b2f28babd588ae885e1a0c61e4858a0fb25ac299990f35be85164c259ba1175cdd7192707135184992b6c29b746dd0d2cabe142835f7d148cc161524b4a09946d48b828473f1ce76b6cb6886c345c03e05f41d51b5c3a90a3f24073c7d74a4fe25d9cf21c75960f3fc3863183":"ae45ed5601cec6b8cc05f803935c674ddbe0d75c4c09fd7951fc6b0caec313a8df39970c518bffba5ed68f3f0d7f22a4029d413f1ae07e4ebe9e4177ce23e7f5404b569e4ee1bdcf3c1fb03ef113802d4f855eb9b5134b5a7c8085adcae6fa2fa1417ec3763be171b0c62b760ede23c12ad92b980884c641f5a8fac26bdad4a03381a22fe1b754885094c82506d4019a535a286afeb271bb9ba592de18dcf600c2aeeae56e02f7cf79fc14cf3bdc7cd84febbbf950ca90304b2219a7aa063aefa2c3c1980e560cd64afe779585b6107657b957857efde6010988ab7de417fc88d8f384c4e6e72c3f943e0c31c0c4a5cc36f879d8a3ac9d7d59860eaada6b83bb":"010001":MBEDTLS_MD_SHA1:"":"9f47ddf42e97eea856a9bdbc714eb3ac22f6eb32":"32b75304e631e94d4b02819642c7ffa66116af504cb3c4687420cc4b7f069fc6cc3b1a254611995ce2914a9e88152d38bbf87ccedcad9b9890341284e56e802a1b1f8f6bd3d5c991bd92eb8a8ea0a1d8bae141088ff8dceaebdb73515cf06ce33baa37c53093f1d1edc3502818cc70edcfddb41646374beb5b4f67f7f773e43778d4d31012e5a207c474e762ac3251ea6ede9018ad6e8e9ea65a3528a62b694eb9d8becff220a7c6c70d33eaafa52cf67a8090f67b6f9c43c6fe0b0f2375cbb9e611c0fcfef5312feb5e53d4a89d3d7e06c966e0c92ab9e5838239f390bcfd918d94c224df8e8ccb57ee364389908b6a0e550133f7565016804fbd6cb338314a":0 RSASSA-PSS Signing Test Vector Int -pkcs1_rsassa_pss_sign:1024:"d17f655bf27c8b16d35462c905cc04a26f37e2a67fa9c0ce0dced472394a0df743fe7f929e378efdb368eddff453cf007af6d948e0ade757371f8a711e278f6b":"c6d92b6fee7414d1358ce1546fb62987530b90bd15e0f14963a5e2635adb69347ec0c01b2ab1763fd8ac1a592fb22757463a982425bb97a3a437c5bf86d03f2f":"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"859eef2fd78aca00308bdc471193bf55bf9d78db8f8a672b484634f3c9c26e6478ae10260fe0dd8c082e53a5293af2173cd50c6d5d354febf78b26021c25c02712e78cd4694c9f469777e451e7f8e9e04cd3739c6bbfedae487fb55644e9ca74ff77a53cb729802f6ed4a5ffa8ba159890fc":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"8daa627d3de7595d63056c7ec659e54406f10610128baae821c8b2a0f3936d54dc3bdce46689f6b7951bb18e840542769718d5715d210d85efbb596192032c42be4c29972c856275eb6d5a45f05f51876fc6743deddd28caec9bb30ea99e02c3488269604fe497f74ccd7c7fca1671897123cbd30def5d54a2b5536ad90a747e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"d17f655bf27c8b16d35462c905cc04a26f37e2a67fa9c0ce0dced472394a0df743fe7f929e378efdb368eddff453cf007af6d948e0ade757371f8a711e278f6b":"c6d92b6fee7414d1358ce1546fb62987530b90bd15e0f14963a5e2635adb69347ec0c01b2ab1763fd8ac1a592fb22757463a982425bb97a3a437c5bf86d03f2f":"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"37b66ae0445843353d47ecb0b4fd14c110e62d6a":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"8daa627d3de7595d63056c7ec659e54406f10610128baae821c8b2a0f3936d54dc3bdce46689f6b7951bb18e840542769718d5715d210d85efbb596192032c42be4c29972c856275eb6d5a45f05f51876fc6743deddd28caec9bb30ea99e02c3488269604fe497f74ccd7c7fca1671897123cbd30def5d54a2b5536ad90a747e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Verification Test Vector Int -pkcs1_rsassa_pss_verify:1024:"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"859eef2fd78aca00308bdc471193bf55bf9d78db8f8a672b484634f3c9c26e6478ae10260fe0dd8c082e53a5293af2173cd50c6d5d354febf78b26021c25c02712e78cd4694c9f469777e451e7f8e9e04cd3739c6bbfedae487fb55644e9ca74ff77a53cb729802f6ed4a5ffa8ba159890fc":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"8daa627d3de7595d63056c7ec659e54406f10610128baae821c8b2a0f3936d54dc3bdce46689f6b7951bb18e840542769718d5715d210d85efbb596192032c42be4c29972c856275eb6d5a45f05f51876fc6743deddd28caec9bb30ea99e02c3488269604fe497f74ccd7c7fca1671897123cbd30def5d54a2b5536ad90a747e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"37b66ae0445843353d47ecb0b4fd14c110e62d6a":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"8daa627d3de7595d63056c7ec659e54406f10610128baae821c8b2a0f3936d54dc3bdce46689f6b7951bb18e840542769718d5715d210d85efbb596192032c42be4c29972c856275eb6d5a45f05f51876fc6743deddd28caec9bb30ea99e02c3488269604fe497f74ccd7c7fca1671897123cbd30def5d54a2b5536ad90a747e":0 RSASSA-PSS Signature RSA-1016, SHA-512: minimum salt size not met -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1016:"0e3cb6845e528229e19cfb24611e6859ac1cea7d35992b6e2e796823c52affa03400e42830f90697f084499c3e3587defc19e749e72433dd7b70c28b0c8280b7":"0c48f9e45ae38fdb4a5143be37d79a10cd4f1f9782ef26a4848a4449c72cfd712c68350818736385cb4a9ab6db5aef8e96c551039cfcc8915821aee069ed660d":"00aee7874a4db2f1510044405db29f14df0f37bbcf61fcbcc994a3d31caaf858a74cc8f2a40ac9a9ce7aa9a0680f62cf9d8d4b827114533fdbf86f16fc9dfe5cbf857d86135519a4611ffc59cb7473861619a78e3ec314715e804cff82d6f32e9f57ddf390563629883bd34f40e8db413209b151cee97d817a5d65c7da54734b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1016:"0e3cb6845e528229e19cfb24611e6859ac1cea7d35992b6e2e796823c52affa03400e42830f90697f084499c3e3587defc19e749e72433dd7b70c28b0c8280b7":"0c48f9e45ae38fdb4a5143be37d79a10cd4f1f9782ef26a4848a4449c72cfd712c68350818736385cb4a9ab6db5aef8e96c551039cfcc8915821aee069ed660d":"00aee7874a4db2f1510044405db29f14df0f37bbcf61fcbcc994a3d31caaf858a74cc8f2a40ac9a9ce7aa9a0680f62cf9d8d4b827114533fdbf86f16fc9dfe5cbf857d86135519a4611ffc59cb7473861619a78e3ec314715e804cff82d6f32e9f57ddf390563629883bd34f40e8db413209b151cee97d817a5d65c7da54734b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature RSA-520, SHA-512: no possible salt size -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:520:"0feea5f6220fac291b9508ec2ba8ed281eb39aee4d5dc693254106816ebc700ecf":"0d68918785c3aafe31eaaa2d8d8156dce645940ff7734a457337a51bd00bc88811":"00d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:520:"0feea5f6220fac291b9508ec2ba8ed281eb39aee4d5dc693254106816ebc700ecf":"0d68918785c3aafe31eaaa2d8d8156dce645940ff7734a457337a51bd00bc88811":"00d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature RSA-528, SHA-512: zero salt size -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":MBEDTLS_RSA_SALT_LEN_ANY:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature Example 1_1 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b62371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb769757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb061a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d6193c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0":"dee959c7e06411361420ff80185ed57f3e6776af":"9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"cd8b6538cb8e8de566b68bd067569dbf1ee2718e":"dee959c7e06411361420ff80185ed57f3e6776af":"9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_1 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"cdc87da223d786df3b45e0bbbc721326d1ee2af806cc315475cc6f0d9c66e1b62371d45ce2392e1ac92844c310102f156a0d8d52c1f4c40ba3aa65095786cb769757a6563ba958fed0bcc984e8b517a3d5f515b23b8a41e74aa867693f90dfb061a6e86dfaaee64472c00e5f20945729cbebe77f06ce78e08f4098fba41f9d6193c0317e8b60d4b6084acb42d29e3808a3bc372d85e331170fcbf7cc72d0b71c296648b3a4d10f416295d0807aa625cab2744fd9ea8fd223c42537029828bd16be02546f130fd2e33b936d2676e08aed1b73318b750a0167d0":"dee959c7e06411361420ff80185ed57f3e6776af":"9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"cd8b6538cb8e8de566b68bd067569dbf1ee2718e":"dee959c7e06411361420ff80185ed57f3e6776af":"9074308fb598e9701b2294388e52f971faac2b60a5145af185df5287b5ed2887e57ce7fd44dc8634e407c8e0e4360bc226f3ec227f9d9e54638e8d31f5051215df6ebb9c2f9579aa77598a38f914b5b9c1bd83c4e2f9f382a0d0aa3542ffee65984a601bc69eb28deb27dca12c82c2d4c3f66cd500f1ff2b994d8a4e30cbb33c":0 RSASSA-PSS Signature Example 1_2 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f71a1cca582d43ecc72b1bca16dfc7013226b9e":"ef2869fa40c346cb183dab3d7bffc98fd56df42d":"3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd":"ef2869fa40c346cb183dab3d7bffc98fd56df42d":"3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_2 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"851384cdfe819c22ed6c4ccb30daeb5cf059bc8e1166b7e3530c4c233e2b5f8f71a1cca582d43ecc72b1bca16dfc7013226b9e":"ef2869fa40c346cb183dab3d7bffc98fd56df42d":"3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e35befc17a1d160b9ce35fbd8eb16e7ee491d3fd":"ef2869fa40c346cb183dab3d7bffc98fd56df42d":"3ef7f46e831bf92b32274142a585ffcefbdca7b32ae90d10fb0f0c729984f04ef29a9df0780775ce43739b97838390db0a5505e63de927028d9d29b219ca2c4517832558a55d694a6d25b9dab66003c4cccd907802193be5170d26147d37b93590241be51c25055f47ef62752cfbe21418fafe98c22c4d4d47724fdb5669e843":0 RSASSA-PSS Signature Example 1_3 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a4b159941761c40c6a82f2b80d1b94f5aa2654fd17e12d588864679b54cd04ef8bd03012be8dc37f4b83af7963faff0dfa225477437c48017ff2be8191cf3955fc07356eab3f322f7f620e21d254e5db4324279fe067e0910e2e81ca2cab31c745e67a54058eb50d993cdb9ed0b4d029c06d21a94ca661c3ce27fae1d6cb20f4564d66ce4767583d0e5f060215b59017be85ea848939127bd8c9c4d47b51056c031cf336f17c9980f3b8f5b9b6878e8b797aa43b882684333e17893fe9caa6aa299f7ed1a18ee2c54864b7b2b99b72618fb02574d139ef50f019c9eef416971338e7d470":"710b9c4747d800d4de87f12afdce6df18107cc77":"666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0652ec67bcee30f9d2699122b91c19abdba89f91":"710b9c4747d800d4de87f12afdce6df18107cc77":"666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_3 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a4b159941761c40c6a82f2b80d1b94f5aa2654fd17e12d588864679b54cd04ef8bd03012be8dc37f4b83af7963faff0dfa225477437c48017ff2be8191cf3955fc07356eab3f322f7f620e21d254e5db4324279fe067e0910e2e81ca2cab31c745e67a54058eb50d993cdb9ed0b4d029c06d21a94ca661c3ce27fae1d6cb20f4564d66ce4767583d0e5f060215b59017be85ea848939127bd8c9c4d47b51056c031cf336f17c9980f3b8f5b9b6878e8b797aa43b882684333e17893fe9caa6aa299f7ed1a18ee2c54864b7b2b99b72618fb02574d139ef50f019c9eef416971338e7d470":"710b9c4747d800d4de87f12afdce6df18107cc77":"666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0652ec67bcee30f9d2699122b91c19abdba89f91":"710b9c4747d800d4de87f12afdce6df18107cc77":"666026fba71bd3e7cf13157cc2c51a8e4aa684af9778f91849f34335d141c00154c4197621f9624a675b5abc22ee7d5baaffaae1c9baca2cc373b3f33e78e6143c395a91aa7faca664eb733afd14d8827259d99a7550faca501ef2b04e33c23aa51f4b9e8282efdb728cc0ab09405a91607c6369961bc8270d2d4f39fce612b1":0 RSASSA-PSS Signature Example 1_4 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"bc656747fa9eafb3f0":"056f00985de14d8ef5cea9e82f8c27bef720335e":"4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"39c21c4cceda9c1adf839c744e1212a6437575ec":"056f00985de14d8ef5cea9e82f8c27bef720335e":"4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_4 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"bc656747fa9eafb3f0":"056f00985de14d8ef5cea9e82f8c27bef720335e":"4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"39c21c4cceda9c1adf839c744e1212a6437575ec":"056f00985de14d8ef5cea9e82f8c27bef720335e":"4609793b23e9d09362dc21bb47da0b4f3a7622649a47d464019b9aeafe53359c178c91cd58ba6bcb78be0346a7bc637f4b873d4bab38ee661f199634c547a1ad8442e03da015b136e543f7ab07c0c13e4225b8de8cce25d4f6eb8400f81f7e1833b7ee6e334d370964ca79fdb872b4d75223b5eeb08101591fb532d155a6de87":0 RSASSA-PSS Signature Example 1_5 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b45581547e5427770c768e8b82b75564e0ea4e9c32594d6bff706544de0a8776c7a80b4576550eee1b2acabc7e8b7d3ef7bb5b03e462c11047eadd00629ae575480ac1470fe046f13a2bf5af17921dc4b0aa8b02bee6334911651d7f8525d10f32b51d33be520d3ddf5a709955a3dfe78283b9e0ab54046d150c177f037fdccc5be4ea5f68b5e5a38c9d7edcccc4975f455a6909b4":"80e70ff86a08de3ec60972b39b4fbfdcea67ae8e":"1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"36dae913b77bd17cae6e7b09453d24544cebb33c":"80e70ff86a08de3ec60972b39b4fbfdcea67ae8e":"1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_5 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b45581547e5427770c768e8b82b75564e0ea4e9c32594d6bff706544de0a8776c7a80b4576550eee1b2acabc7e8b7d3ef7bb5b03e462c11047eadd00629ae575480ac1470fe046f13a2bf5af17921dc4b0aa8b02bee6334911651d7f8525d10f32b51d33be520d3ddf5a709955a3dfe78283b9e0ab54046d150c177f037fdccc5be4ea5f68b5e5a38c9d7edcccc4975f455a6909b4":"80e70ff86a08de3ec60972b39b4fbfdcea67ae8e":"1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"36dae913b77bd17cae6e7b09453d24544cebb33c":"80e70ff86a08de3ec60972b39b4fbfdcea67ae8e":"1d2aad221ca4d31ddf13509239019398e3d14b32dc34dc5af4aeaea3c095af73479cf0a45e5629635a53a018377615b16cb9b13b3e09d671eb71e387b8545c5960da5a64776e768e82b2c93583bf104c3fdb23512b7b4e89f633dd0063a530db4524b01c3f384c09310e315a79dcd3d684022a7f31c865a664e316978b759fad":0 RSASSA-PSS Signature Example 1_6 -pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"10aae9a0ab0b595d0841207b700d48d75faedde3b775cd6b4cc88ae06e4694ec74ba18f8520d4f5ea69cbbe7cc2beba43efdc10215ac4eb32dc302a1f53dc6c4352267e7936cfebf7c8d67035784a3909fa859c7b7b59b8e39c5c2349f1886b705a30267d402f7486ab4f58cad5d69adb17ab8cd0ce1caf5025af4ae24b1fb8794c6070cc09a51e2f9911311e3877d0044c71c57a993395008806b723ac38373d395481818528c1e7053739282053529510e935cd0fa77b8fa53cc2d474bd4fb3cc5c672d6ffdc90a00f9848712c4bcfe46c60573659b11e6457e861f0f604b6138d144f8ce4e2da73":"a8ab69dd801f0074c2a1fc60649836c616d99681":"2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e7e8942720a877517273a356053ea2a1bc0c94aa72d55c6e86296b2dfc967948c0a72cbccca7eacb35706e09a1df55a1535bd9b3cc34160b3b6dcd3eda8e6443":"b69dca1cf7d4d7ec81e75b90fcca874abcde123fd2700180aa90479b6e48de8d67ed24f9f19d85ba275874f542cd20dc723e6963364a1f9425452b269a6799fd":"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"45eef191f4f79c31fe5d2ede7e5098994e929d2d":"a8ab69dd801f0074c2a1fc60649836c616d99681":"2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 1_6 (verify) -pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"10aae9a0ab0b595d0841207b700d48d75faedde3b775cd6b4cc88ae06e4694ec74ba18f8520d4f5ea69cbbe7cc2beba43efdc10215ac4eb32dc302a1f53dc6c4352267e7936cfebf7c8d67035784a3909fa859c7b7b59b8e39c5c2349f1886b705a30267d402f7486ab4f58cad5d69adb17ab8cd0ce1caf5025af4ae24b1fb8794c6070cc09a51e2f9911311e3877d0044c71c57a993395008806b723ac38373d395481818528c1e7053739282053529510e935cd0fa77b8fa53cc2d474bd4fb3cc5c672d6ffdc90a00f9848712c4bcfe46c60573659b11e6457e861f0f604b6138d144f8ce4e2da73":"a8ab69dd801f0074c2a1fc60649836c616d99681":"2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1024:"a56e4a0e701017589a5187dc7ea841d156f2ec0e36ad52a44dfeb1e61f7ad991d8c51056ffedb162b4c0f283a12a88a394dff526ab7291cbb307ceabfce0b1dfd5cd9508096d5b2b8b6df5d671ef6377c0921cb23c270a70e2598e6ff89d19f105acc2d3f0cb35f29280e1386b6f64c4ef22e1e1f20d0ce8cffb2249bd9a2137":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"45eef191f4f79c31fe5d2ede7e5098994e929d2d":"a8ab69dd801f0074c2a1fc60649836c616d99681":"2a34f6125e1f6b0bf971e84fbd41c632be8f2c2ace7de8b6926e31ff93e9af987fbc06e51e9be14f5198f91f3f953bd67da60a9df59764c3dc0fe08e1cbef0b75f868d10ad3fba749fef59fb6dac46a0d6e504369331586f58e4628f39aa278982543bc0eeb537dc61958019b394fb273f215858a0a01ac4d650b955c67f4c58":0 RSASSA-PSS Signature Example 2_1 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"daba032066263faedb659848115278a52c44faa3a76f37515ed336321072c40a9d9b53bc05014078adf520875146aae70ff060226dcb7b1f1fc27e9360":"57bf160bcb02bb1dc7280cf0458530b7d2832ff7":"014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"5c81a3e2a658246628cd0ee8b00bb4c012bc9739":"57bf160bcb02bb1dc7280cf0458530b7d2832ff7":"014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_1 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"daba032066263faedb659848115278a52c44faa3a76f37515ed336321072c40a9d9b53bc05014078adf520875146aae70ff060226dcb7b1f1fc27e9360":"57bf160bcb02bb1dc7280cf0458530b7d2832ff7":"014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"5c81a3e2a658246628cd0ee8b00bb4c012bc9739":"57bf160bcb02bb1dc7280cf0458530b7d2832ff7":"014c5ba5338328ccc6e7a90bf1c0ab3fd606ff4796d3c12e4b639ed9136a5fec6c16d8884bdd99cfdc521456b0742b736868cf90de099adb8d5ffd1deff39ba4007ab746cefdb22d7df0e225f54627dc65466131721b90af445363a8358b9f607642f78fab0ab0f43b7168d64bae70d8827848d8ef1e421c5754ddf42c2589b5b3":0 RSASSA-PSS Signature Example 2_2 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e4f8601a8a6da1be34447c0959c058570c3668cfd51dd5f9ccd6ad4411fe8213486d78a6c49f93efc2ca2288cebc2b9b60bd04b1e220d86e3d4848d709d032d1e8c6a070c6af9a499fcf95354b14ba6127c739de1bb0fd16431e46938aec0cf8ad9eb72e832a7035de9b7807bdc0ed8b68eb0f5ac2216be40ce920c0db0eddd3860ed788efaccaca502d8f2bd6d1a7c1f41ff46f1681c8f1f818e9c4f6d91a0c7803ccc63d76a6544d843e084e363b8acc55aa531733edb5dee5b5196e9f03e8b731b3776428d9e457fe3fbcb3db7274442d785890e9cb0854b6444dace791d7273de1889719338a77fe":"7f6dd359e604e60870e898e47b19bf2e5a7b2a90":"010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"27f71611446aa6eabf037f7dedeede3203244991":"7f6dd359e604e60870e898e47b19bf2e5a7b2a90":"010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_2 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e4f8601a8a6da1be34447c0959c058570c3668cfd51dd5f9ccd6ad4411fe8213486d78a6c49f93efc2ca2288cebc2b9b60bd04b1e220d86e3d4848d709d032d1e8c6a070c6af9a499fcf95354b14ba6127c739de1bb0fd16431e46938aec0cf8ad9eb72e832a7035de9b7807bdc0ed8b68eb0f5ac2216be40ce920c0db0eddd3860ed788efaccaca502d8f2bd6d1a7c1f41ff46f1681c8f1f818e9c4f6d91a0c7803ccc63d76a6544d843e084e363b8acc55aa531733edb5dee5b5196e9f03e8b731b3776428d9e457fe3fbcb3db7274442d785890e9cb0854b6444dace791d7273de1889719338a77fe":"7f6dd359e604e60870e898e47b19bf2e5a7b2a90":"010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"27f71611446aa6eabf037f7dedeede3203244991":"7f6dd359e604e60870e898e47b19bf2e5a7b2a90":"010991656cca182b7f29d2dbc007e7ae0fec158eb6759cb9c45c5ff87c7635dd46d150882f4de1e9ae65e7f7d9018f6836954a47c0a81a8a6b6f83f2944d6081b1aa7c759b254b2c34b691da67cc0226e20b2f18b42212761dcd4b908a62b371b5918c5742af4b537e296917674fb914194761621cc19a41f6fb953fbcbb649dea":0 RSASSA-PSS Signature Example 2_3 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"52a1d96c8ac39e41e455809801b927a5b445c10d902a0dcd3850d22a66d2bb0703e67d5867114595aabf5a7aeb5a8f87034bbb30e13cfd4817a9be76230023606d0286a3faf8a4d22b728ec518079f9e64526e3a0cc7941aa338c437997c680ccac67c66bfa1":"fca862068bce2246724b708a0519da17e648688c":"007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"03ecc2c33e93f05fc7224fcc0d461356cb897217":"fca862068bce2246724b708a0519da17e648688c":"007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_3 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"52a1d96c8ac39e41e455809801b927a5b445c10d902a0dcd3850d22a66d2bb0703e67d5867114595aabf5a7aeb5a8f87034bbb30e13cfd4817a9be76230023606d0286a3faf8a4d22b728ec518079f9e64526e3a0cc7941aa338c437997c680ccac67c66bfa1":"fca862068bce2246724b708a0519da17e648688c":"007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"03ecc2c33e93f05fc7224fcc0d461356cb897217":"fca862068bce2246724b708a0519da17e648688c":"007f0030018f53cdc71f23d03659fde54d4241f758a750b42f185f87578520c30742afd84359b6e6e8d3ed959dc6fe486bedc8e2cf001f63a7abe16256a1b84df0d249fc05d3194ce5f0912742dbbf80dd174f6c51f6bad7f16cf3364eba095a06267dc3793803ac7526aebe0a475d38b8c2247ab51c4898df7047dc6adf52c6c4":0 RSASSA-PSS Signature Example 2_4 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a7182c83ac18be6570a106aa9d5c4e3dbbd4afaeb0c60c4a23e1969d79ff":"8070ef2de945c02387684ba0d33096732235d440":"009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"246c727b4b9494849dddb068d582e179ac20999c":"8070ef2de945c02387684ba0d33096732235d440":"009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_4 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a7182c83ac18be6570a106aa9d5c4e3dbbd4afaeb0c60c4a23e1969d79ff":"8070ef2de945c02387684ba0d33096732235d440":"009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"246c727b4b9494849dddb068d582e179ac20999c":"8070ef2de945c02387684ba0d33096732235d440":"009cd2f4edbe23e12346ae8c76dd9ad3230a62076141f16c152ba18513a48ef6f010e0e37fd3df10a1ec629a0cb5a3b5d2893007298c30936a95903b6ba85555d9ec3673a06108fd62a2fda56d1ce2e85c4db6b24a81ca3b496c36d4fd06eb7c9166d8e94877c42bea622b3bfe9251fdc21d8d5371badad78a488214796335b40b":0 RSASSA-PSS Signature Example 2_5 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"86a83d4a72ee932a4f5630af6579a386b78fe88999e0abd2d49034a4bfc854dd94f1094e2e8cd7a179d19588e4aefc1b1bd25e95e3dd461f":"17639a4e88d722c4fca24d079a8b29c32433b0c9":"00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912":"17639a4e88d722c4fca24d079a8b29c32433b0c9":"00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_5 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"86a83d4a72ee932a4f5630af6579a386b78fe88999e0abd2d49034a4bfc854dd94f1094e2e8cd7a179d19588e4aefc1b1bd25e95e3dd461f":"17639a4e88d722c4fca24d079a8b29c32433b0c9":"00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e8617ca3ea66ce6a58ede2d11af8c3ba8a6ba912":"17639a4e88d722c4fca24d079a8b29c32433b0c9":"00ec430824931ebd3baa43034dae98ba646b8c36013d1671c3cf1cf8260c374b19f8e1cc8d965012405e7e9bf7378612dfcc85fce12cda11f950bd0ba8876740436c1d2595a64a1b32efcfb74a21c873b3cc33aaf4e3dc3953de67f0674c0453b4fd9f604406d441b816098cb106fe3472bc251f815f59db2e4378a3addc181ecf":0 RSASSA-PSS Signature Example 2_6 -pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"049f9154d871ac4a7c7ab45325ba7545a1ed08f70525b2667cf1":"37810def1055ed922b063df798de5d0aabf886ee":"00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1025:"016601e926a0f8c9e26ecab769ea65a5e7c52cc9e080ef519457c644da6891c5a104d3ea7955929a22e7c68a7af9fcad777c3ccc2b9e3d3650bce404399b7e59d1":"014eafa1d4d0184da7e31f877d1281ddda625664869e8379e67ad3b75eae74a580e9827abd6eb7a002cb5411f5266797768fb8e95ae40e3e8a01f35ff89e56c079":"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8":"37810def1055ed922b063df798de5d0aabf886ee":"00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 2_6 (verify) -pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"049f9154d871ac4a7c7ab45325ba7545a1ed08f70525b2667cf1":"37810def1055ed922b063df798de5d0aabf886ee":"00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1025:"01d40c1bcf97a68ae7cdbd8a7bf3e34fa19dcca4ef75a47454375f94514d88fed006fb829f8419ff87d6315da68a1ff3a0938e9abb3464011c303ad99199cf0c7c7a8b477dce829e8844f625b115e5e9c4a59cf8f8113b6834336a2fd2689b472cbb5e5cabe674350c59b6c17e176874fb42f8fc3d176a017edc61fd326c4b33c9":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7a6fdc1a4e434ecbc35d657ad49a2f4fafd43bc8":"37810def1055ed922b063df798de5d0aabf886ee":"00475b1648f814a8dc0abdc37b5527f543b666bb6e39d30e5b49d3b876dccc58eac14e32a2d55c2616014456ad2f246fc8e3d560da3ddf379a1c0bd200f10221df078c219a151bc8d4ec9d2fc2564467811014ef15d8ea01c2ebbff8c2c8efab38096e55fcbe3285c7aa558851254faffa92c1c72b78758663ef4582843139d7a6":0 RSASSA-PSS Signature Example 3_1 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"594b37333bbb2c84524a87c1a01f75fcec0e3256f108e38dca36d70d0057":"f31ad6c8cf89df78ed77feacbcc2f8b0a8e4cfaa":"0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3552be69dd74bdc56d2cf8c38ef7bafe269040fe":"f31ad6c8cf89df78ed77feacbcc2f8b0a8e4cfaa":"0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_1 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"594b37333bbb2c84524a87c1a01f75fcec0e3256f108e38dca36d70d0057":"f31ad6c8cf89df78ed77feacbcc2f8b0a8e4cfaa":"0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3552be69dd74bdc56d2cf8c38ef7bafe269040fe":"f31ad6c8cf89df78ed77feacbcc2f8b0a8e4cfaa":"0088b135fb1794b6b96c4a3e678197f8cac52b64b2fe907d6f27de761124964a99a01a882740ecfaed6c01a47464bb05182313c01338a8cd097214cd68ca103bd57d3bc9e816213e61d784f182467abf8a01cf253e99a156eaa8e3e1f90e3c6e4e3aa2d83ed0345b89fafc9c26077c14b6ac51454fa26e446e3a2f153b2b16797f":0 RSASSA-PSS Signature Example 3_2 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8b769528884a0d1ffd090cf102993e796dadcfbddd38e44ff6324ca451":"fcf9f0e1f199a3d1d0da681c5b8606fc642939f7":"02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"609143ff7240e55c062aba8b9e4426a781919bc9":"fcf9f0e1f199a3d1d0da681c5b8606fc642939f7":"02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_2 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8b769528884a0d1ffd090cf102993e796dadcfbddd38e44ff6324ca451":"fcf9f0e1f199a3d1d0da681c5b8606fc642939f7":"02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"609143ff7240e55c062aba8b9e4426a781919bc9":"fcf9f0e1f199a3d1d0da681c5b8606fc642939f7":"02a5f0a858a0864a4f65017a7d69454f3f973a2999839b7bbc48bf78641169179556f595fa41f6ff18e286c2783079bc0910ee9cc34f49ba681124f923dfa88f426141a368a5f5a930c628c2c3c200e18a7644721a0cbec6dd3f6279bde3e8f2be5e2d4ee56f97e7ceaf33054be7042bd91a63bb09f897bd41e81197dee99b11af":0 RSASSA-PSS Signature Example 3_3 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1abdba489c5ada2f995ed16f19d5a94d9e6ec34a8d84f84557d26e5ef9b02b22887e3f9a4b690ad1149209c20c61431f0c017c36c2657b35d7b07d3f5ad8708507a9c1b831df835a56f831071814ea5d3d8d8f6ade40cba38b42db7a2d3d7a29c8f0a79a7838cf58a9757fa2fe4c40df9baa193bfc6f92b123ad57b07ace3e6ac068c9f106afd9eeb03b4f37c25dbfbcfb3071f6f9771766d072f3bb070af6605532973ae25051":"986e7c43dbb671bd41b9a7f4b6afc80e805f2423":"0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0afd22f879a9cda7c584f4135f8f1c961db114c0":"986e7c43dbb671bd41b9a7f4b6afc80e805f2423":"0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_3 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1abdba489c5ada2f995ed16f19d5a94d9e6ec34a8d84f84557d26e5ef9b02b22887e3f9a4b690ad1149209c20c61431f0c017c36c2657b35d7b07d3f5ad8708507a9c1b831df835a56f831071814ea5d3d8d8f6ade40cba38b42db7a2d3d7a29c8f0a79a7838cf58a9757fa2fe4c40df9baa193bfc6f92b123ad57b07ace3e6ac068c9f106afd9eeb03b4f37c25dbfbcfb3071f6f9771766d072f3bb070af6605532973ae25051":"986e7c43dbb671bd41b9a7f4b6afc80e805f2423":"0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0afd22f879a9cda7c584f4135f8f1c961db114c0":"986e7c43dbb671bd41b9a7f4b6afc80e805f2423":"0244bcd1c8c16955736c803be401272e18cb990811b14f72db964124d5fa760649cbb57afb8755dbb62bf51f466cf23a0a1607576e983d778fceffa92df7548aea8ea4ecad2c29dd9f95bc07fe91ecf8bee255bfe8762fd7690aa9bfa4fa0849ef728c2c42c4532364522df2ab7f9f8a03b63f7a499175828668f5ef5a29e3802c":0 RSASSA-PSS Signature Example 3_4 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8fb431f5ee792b6c2ac7db53cc428655aeb32d03f4e889c5c25de683c461b53acf89f9f8d3aabdf6b9f0c2a1de12e15b49edb3919a652fe9491c25a7fce1f722c2543608b69dc375ec":"f8312d9c8eea13ec0a4c7b98120c87509087c478":"0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"405dd56d395ef0f01b555c48f748cc32b210650b":"f8312d9c8eea13ec0a4c7b98120c87509087c478":"0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_4 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8fb431f5ee792b6c2ac7db53cc428655aeb32d03f4e889c5c25de683c461b53acf89f9f8d3aabdf6b9f0c2a1de12e15b49edb3919a652fe9491c25a7fce1f722c2543608b69dc375ec":"f8312d9c8eea13ec0a4c7b98120c87509087c478":"0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"405dd56d395ef0f01b555c48f748cc32b210650b":"f8312d9c8eea13ec0a4c7b98120c87509087c478":"0196f12a005b98129c8df13c4cb16f8aa887d3c40d96df3a88e7532ef39cd992f273abc370bc1be6f097cfebbf0118fd9ef4b927155f3df22b904d90702d1f7ba7a52bed8b8942f412cd7bd676c9d18e170391dcd345c06a730964b3f30bcce0bb20ba106f9ab0eeb39cf8a6607f75c0347f0af79f16afa081d2c92d1ee6f836b8":0 RSASSA-PSS Signature Example 3_5 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"fef4161dfaaf9c5295051dfc1ff3810c8c9ec2e866f7075422c8ec4216a9c4ff49427d483cae10c8534a41b2fd15fee06960ec6fb3f7a7e94a2f8a2e3e43dc4a40576c3097ac953b1de86f0b4ed36d644f23ae14425529622464ca0cbf0b1741347238157fab59e4de5524096d62baec63ac64":"50327efec6292f98019fc67a2a6638563e9b6e2d":"021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a2c313b0440c8a0c47233b87f0a160c61af3eae7":"50327efec6292f98019fc67a2a6638563e9b6e2d":"021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_5 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"fef4161dfaaf9c5295051dfc1ff3810c8c9ec2e866f7075422c8ec4216a9c4ff49427d483cae10c8534a41b2fd15fee06960ec6fb3f7a7e94a2f8a2e3e43dc4a40576c3097ac953b1de86f0b4ed36d644f23ae14425529622464ca0cbf0b1741347238157fab59e4de5524096d62baec63ac64":"50327efec6292f98019fc67a2a6638563e9b6e2d":"021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a2c313b0440c8a0c47233b87f0a160c61af3eae7":"50327efec6292f98019fc67a2a6638563e9b6e2d":"021eca3ab4892264ec22411a752d92221076d4e01c0e6f0dde9afd26ba5acf6d739ef987545d16683e5674c9e70f1de649d7e61d48d0caeb4fb4d8b24fba84a6e3108fee7d0705973266ac524b4ad280f7ae17dc59d96d3351586b5a3bdb895d1e1f7820ac6135d8753480998382ba32b7349559608c38745290a85ef4e9f9bd83":0 RSASSA-PSS Signature Example 3_6 -pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"efd237bb098a443aeeb2bf6c3f8c81b8c01b7fcb3feb":"b0de3fc25b65f5af96b1d5cc3b27d0c6053087b3":"012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1026:"01bd36e18ece4b0fdb2e9c9d548bd1a7d6e2c21c6fdc35074a1d05b1c6c8b3d558ea2639c9a9a421680169317252558bd148ad215aac550e2dcf12a82d0ebfe853":"01b1b656ad86d8e19d5dc86292b3a192fdf6e0dd37877bad14822fa00190cab265f90d3f02057b6f54d6ecb14491e5adeacebc48bf0ebd2a2ad26d402e54f61651":"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a":"b0de3fc25b65f5af96b1d5cc3b27d0c6053087b3":"012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 3_6 (verify) -pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"efd237bb098a443aeeb2bf6c3f8c81b8c01b7fcb3feb":"b0de3fc25b65f5af96b1d5cc3b27d0c6053087b3":"012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1026:"02f246ef451ed3eebb9a310200cc25859c048e4be798302991112eb68ce6db674e280da21feded1ae74880ca522b18db249385012827c515f0e466a1ffa691d98170574e9d0eadb087586ca48933da3cc953d95bd0ed50de10ddcb6736107d6c831c7f663e833ca4c097e700ce0fb945f88fb85fe8e5a773172565b914a471a443":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f1bf6ca7b4bbdbb6bf20a4bf55728725d177154a":"b0de3fc25b65f5af96b1d5cc3b27d0c6053087b3":"012fafec862f56e9e92f60ab0c77824f4299a0ca734ed26e0644d5d222c7f0bde03964f8e70a5cb65ed44e44d56ae0edf1ff86ca032cc5dd4404dbb76ab854586c44eed8336d08d457ce6c03693b45c0f1efef93624b95b8ec169c616d20e5538ebc0b6737a6f82b4bc0570924fc6b35759a3348426279f8b3d7744e2d222426ce":0 RSASSA-PSS Signature Example 4_1 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9fb03b827c8217d9":"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d":"0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd":"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d":"0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_1 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9fb03b827c8217d9":"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d":"0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f8b0abf70fec0bca74f0accbc24f75e6e90d3bfd":"ed7c98c95f30974fbe4fbddcf0f28d6021c0e91d":"0323d5b7bf20ba4539289ae452ae4297080feff4518423ff4811a817837e7d82f1836cdfab54514ff0887bddeebf40bf99b047abc3ecfa6a37a3ef00f4a0c4a88aae0904b745c846c4107e8797723e8ac810d9e3d95dfa30ff4966f4d75d13768d20857f2b1406f264cfe75e27d7652f4b5ed3575f28a702f8c4ed9cf9b2d44948":0 RSASSA-PSS Signature Example 4_2 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0ca2ad77797ece86de5bf768750ddb5ed6a3116ad99bbd17edf7f782f0db1cd05b0f677468c5ea420dc116b10e80d110de2b0461ea14a38be68620392e7e893cb4ea9393fb886c20ff790642305bf302003892e54df9f667509dc53920df583f50a3dd61abb6fab75d600377e383e6aca6710eeea27156e06752c94ce25ae99fcbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8fe369d90b3ca612f9f":"22d71d54363a4217aa55113f059b3384e3e57e44":"049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"04a10944bfe11ab801e77889f3fd3d7f4ff0b629":"22d71d54363a4217aa55113f059b3384e3e57e44":"049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_2 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0ca2ad77797ece86de5bf768750ddb5ed6a3116ad99bbd17edf7f782f0db1cd05b0f677468c5ea420dc116b10e80d110de2b0461ea14a38be68620392e7e893cb4ea9393fb886c20ff790642305bf302003892e54df9f667509dc53920df583f50a3dd61abb6fab75d600377e383e6aca6710eeea27156e06752c94ce25ae99fcbf8592dbe2d7e27453cb44de07100ebb1a2a19811a478adbeab270f94e8fe369d90b3ca612f9f":"22d71d54363a4217aa55113f059b3384e3e57e44":"049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"04a10944bfe11ab801e77889f3fd3d7f4ff0b629":"22d71d54363a4217aa55113f059b3384e3e57e44":"049d0185845a264d28feb1e69edaec090609e8e46d93abb38371ce51f4aa65a599bdaaa81d24fba66a08a116cb644f3f1e653d95c89db8bbd5daac2709c8984000178410a7c6aa8667ddc38c741f710ec8665aa9052be929d4e3b16782c1662114c5414bb0353455c392fc28f3db59054b5f365c49e1d156f876ee10cb4fd70598":0 RSASSA-PSS Signature Example 4_3 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"288062afc08fcdb7c5f8650b29837300461dd5676c17a20a3c8fb5148949e3f73d66b3ae82c7240e27c5b3ec4328ee7d6ddf6a6a0c9b5b15bcda196a9d0c76b119d534d85abd123962d583b76ce9d180bce1ca":"4af870fbc6516012ca916c70ba862ac7e8243617":"03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ba01243db223eb97fb86d746c3148adaaa0ca344":"4af870fbc6516012ca916c70ba862ac7e8243617":"03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_3 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"288062afc08fcdb7c5f8650b29837300461dd5676c17a20a3c8fb5148949e3f73d66b3ae82c7240e27c5b3ec4328ee7d6ddf6a6a0c9b5b15bcda196a9d0c76b119d534d85abd123962d583b76ce9d180bce1ca":"4af870fbc6516012ca916c70ba862ac7e8243617":"03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ba01243db223eb97fb86d746c3148adaaa0ca344":"4af870fbc6516012ca916c70ba862ac7e8243617":"03fbc410a2ced59500fb99f9e2af2781ada74e13145624602782e2994813eefca0519ecd253b855fb626a90d771eae028b0c47a199cbd9f8e3269734af4163599090713a3fa910fa0960652721432b971036a7181a2bc0cab43b0b598bc6217461d7db305ff7e954c5b5bb231c39e791af6bcfa76b147b081321f72641482a2aad":0 RSASSA-PSS Signature Example 4_4 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"6f4f9ab9501199cef55c6cf408fe7b36c557c49d420a4763d2463c8ad44b3cfc5be2742c0e7d9b0f6608f08c7f47b693ee":"40d2e180fae1eac439c190b56c2c0e14ddf9a226":"0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"934bb0d38d6836daec9de82a9648d4593da67cd2":"40d2e180fae1eac439c190b56c2c0e14ddf9a226":"0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_4 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"6f4f9ab9501199cef55c6cf408fe7b36c557c49d420a4763d2463c8ad44b3cfc5be2742c0e7d9b0f6608f08c7f47b693ee":"40d2e180fae1eac439c190b56c2c0e14ddf9a226":"0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"934bb0d38d6836daec9de82a9648d4593da67cd2":"40d2e180fae1eac439c190b56c2c0e14ddf9a226":"0486644bc66bf75d28335a6179b10851f43f09bded9fac1af33252bb9953ba4298cd6466b27539a70adaa3f89b3db3c74ab635d122f4ee7ce557a61e59b82ffb786630e5f9db53c77d9a0c12fab5958d4c2ce7daa807cd89ba2cc7fcd02ff470ca67b229fcce814c852c73cc93bea35be68459ce478e9d4655d121c8472f371d4f":0 RSASSA-PSS Signature Example 4_5 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e17d20385d501955823c3f666254c1d3dd36ad5168b8f18d286fdcf67a7dad94097085fab7ed86fe2142a28771717997ef1a7a08884efc39356d76077aaf82459a7fad45848875f2819b098937fe923bcc9dc442d72d754d812025090c9bc03db3080c138dd63b355d0b4b85d6688ac19f4de15084a0ba4e373b93ef4a555096691915dc23c00e954cdeb20a47cd55d16c3d8681d46ed7f2ed5ea42795be17baed25f0f4d113b3636addd585f16a8b5aec0c8fa9c5f03cbf3b9b73":"2497dc2b4615dfae5a663d49ffd56bf7efc11304":"022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ec35d81abd1cceac425a935758b683465c8bd879":"2497dc2b4615dfae5a663d49ffd56bf7efc11304":"022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_5 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e17d20385d501955823c3f666254c1d3dd36ad5168b8f18d286fdcf67a7dad94097085fab7ed86fe2142a28771717997ef1a7a08884efc39356d76077aaf82459a7fad45848875f2819b098937fe923bcc9dc442d72d754d812025090c9bc03db3080c138dd63b355d0b4b85d6688ac19f4de15084a0ba4e373b93ef4a555096691915dc23c00e954cdeb20a47cd55d16c3d8681d46ed7f2ed5ea42795be17baed25f0f4d113b3636addd585f16a8b5aec0c8fa9c5f03cbf3b9b73":"2497dc2b4615dfae5a663d49ffd56bf7efc11304":"022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ec35d81abd1cceac425a935758b683465c8bd879":"2497dc2b4615dfae5a663d49ffd56bf7efc11304":"022a80045353904cb30cbb542d7d4990421a6eec16a8029a8422adfd22d6aff8c4cc0294af110a0c067ec86a7d364134459bb1ae8ff836d5a8a2579840996b320b19f13a13fad378d931a65625dae2739f0c53670b35d9d3cbac08e733e4ec2b83af4b9196d63e7c4ff1ddeae2a122791a125bfea8deb0de8ccf1f4ffaf6e6fb0a":0 RSASSA-PSS Signature Example 4_6 -pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"afbc19d479249018fdf4e09f618726440495de11ddeee38872d775fcea74a23896b5343c9c38d46af0dba224d047580cc60a65e9391cf9b59b36a860598d4e8216722f993b91cfae87bc255af89a6a199bca4a391eadbc3a24903c0bd667368f6be78e3feabfb4ffd463122763740ffbbefeab9a25564bc5d1c24c93e422f75073e2ad72bf45b10df00b52a147128e73fee33fa3f0577d77f80fbc2df1bed313290c12777f50":"a334db6faebf11081a04f87c2d621cdec7930b9b":"00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1027:"029232336d2838945dba9dd7723f4e624a05f7375b927a87abe6a893a1658fd49f47f6c7b0fa596c65fa68a23f0ab432962d18d4343bd6fd671a5ea8d148413995":"020ef5efe7c5394aed2272f7e81a74f4c02d145894cb1b3cab23a9a0710a2afc7e3329acbb743d01f680c4d02afb4c8fde7e20930811bb2b995788b5e872c20bb1":"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"72ce251d17b04dd3970d6ff1fbe3624899e9e941":"a334db6faebf11081a04f87c2d621cdec7930b9b":"00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 4_6 (verify) -pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"afbc19d479249018fdf4e09f618726440495de11ddeee38872d775fcea74a23896b5343c9c38d46af0dba224d047580cc60a65e9391cf9b59b36a860598d4e8216722f993b91cfae87bc255af89a6a199bca4a391eadbc3a24903c0bd667368f6be78e3feabfb4ffd463122763740ffbbefeab9a25564bc5d1c24c93e422f75073e2ad72bf45b10df00b52a147128e73fee33fa3f0577d77f80fbc2df1bed313290c12777f50":"a334db6faebf11081a04f87c2d621cdec7930b9b":"00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1027:"054adb7886447efe6f57e0368f06cf52b0a3370760d161cef126b91be7f89c421b62a6ec1da3c311d75ed50e0ab5fff3fd338acc3aa8a4e77ee26369acb81ba900fa83f5300cf9bb6c53ad1dc8a178b815db4235a9a9da0c06de4e615ea1277ce559e9c108de58c14a81aa77f5a6f8d1335494498848c8b95940740be7bf7c3705":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"72ce251d17b04dd3970d6ff1fbe3624899e9e941":"a334db6faebf11081a04f87c2d621cdec7930b9b":"00938dcb6d583046065f69c78da7a1f1757066a7fa75125a9d2929f0b79a60b627b082f11f5b196f28eb9daa6f21c05e5140f6aef1737d2023075c05ecf04a028c686a2ab3e7d5a0664f295ce12995e890908b6ad21f0839eb65b70393a7b5afd9871de0caa0cedec5b819626756209d13ab1e7bb9546a26ff37e9a51af9fd562e":0 RSASSA-PSS Signature Example 5_1 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"30c7d557458b436decfdc14d06cb7b96b06718c48d7de57482a868ae7f065870a6216506d11b779323dfdf046cf5775129134b4d5689e4d9c0ce1e12d7d4b06cb5fc5820decfa41baf59bf257b32f025b7679b445b9499c92555145885992f1b76f84891ee4d3be0f5150fd5901e3a4c8ed43fd36b61d022e65ad5008dbf33293c22bfbfd07321f0f1d5fa9fdf0014c2fcb0358aad0e354b0d29":"081b233b43567750bd6e78f396a88b9f6a445151":"0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"d98b7061943510bc3dd9162f7169aabdbdcd0222":"081b233b43567750bd6e78f396a88b9f6a445151":"0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_1 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"30c7d557458b436decfdc14d06cb7b96b06718c48d7de57482a868ae7f065870a6216506d11b779323dfdf046cf5775129134b4d5689e4d9c0ce1e12d7d4b06cb5fc5820decfa41baf59bf257b32f025b7679b445b9499c92555145885992f1b76f84891ee4d3be0f5150fd5901e3a4c8ed43fd36b61d022e65ad5008dbf33293c22bfbfd07321f0f1d5fa9fdf0014c2fcb0358aad0e354b0d29":"081b233b43567750bd6e78f396a88b9f6a445151":"0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"d98b7061943510bc3dd9162f7169aabdbdcd0222":"081b233b43567750bd6e78f396a88b9f6a445151":"0ba373f76e0921b70a8fbfe622f0bf77b28a3db98e361051c3d7cb92ad0452915a4de9c01722f6823eeb6adf7e0ca8290f5de3e549890ac2a3c5950ab217ba58590894952de96f8df111b2575215da6c161590c745be612476ee578ed384ab33e3ece97481a252f5c79a98b5532ae00cdd62f2ecc0cd1baefe80d80b962193ec1d":0 RSASSA-PSS Signature Example 5_2 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e7b32e1556ea1b2795046ac69739d22ac8966bf11c116f614b166740e96b90653e5750945fcf772186c03790a07fda323e1a61916b06ee2157db3dff80d67d5e39a53ae268c8f09ed99a732005b0bc6a04af4e08d57a00e7201b3060efaadb73113bfc087fd837093aa25235b8c149f56215f031c24ad5bde7f29960df7d524070f7449c6f785084be1a0f733047f336f9154738674547db02a9f44dfc6e60301081e1ce99847f3b5b601ff06b4d5776a9740b9aa0d34058fd3b906e4f7859dfb07d7173e5e6f6350adac21f27b2307469":"bd0ce19549d0700120cbe51077dbbbb00a8d8b09":"08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7ae8e699f754988f4fd645e463302e49a2552072":"bd0ce19549d0700120cbe51077dbbbb00a8d8b09":"08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_2 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e7b32e1556ea1b2795046ac69739d22ac8966bf11c116f614b166740e96b90653e5750945fcf772186c03790a07fda323e1a61916b06ee2157db3dff80d67d5e39a53ae268c8f09ed99a732005b0bc6a04af4e08d57a00e7201b3060efaadb73113bfc087fd837093aa25235b8c149f56215f031c24ad5bde7f29960df7d524070f7449c6f785084be1a0f733047f336f9154738674547db02a9f44dfc6e60301081e1ce99847f3b5b601ff06b4d5776a9740b9aa0d34058fd3b906e4f7859dfb07d7173e5e6f6350adac21f27b2307469":"bd0ce19549d0700120cbe51077dbbbb00a8d8b09":"08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7ae8e699f754988f4fd645e463302e49a2552072":"bd0ce19549d0700120cbe51077dbbbb00a8d8b09":"08180de825e4b8b014a32da8ba761555921204f2f90d5f24b712908ff84f3e220ad17997c0dd6e706630ba3e84add4d5e7ab004e58074b549709565d43ad9e97b5a7a1a29e85b9f90f4aafcdf58321de8c5974ef9abf2d526f33c0f2f82e95d158ea6b81f1736db8d1af3d6ac6a83b32d18bae0ff1b2fe27de4c76ed8c7980a34e":0 RSASSA-PSS Signature Example 5_3 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d8396e36507fe1ef6a19017548e0c716674c2fec233adb2f775665ec41f2bd0ba396b061a9daa7e866f7c23fd3531954300a342f924535ea1498c48f6c879932865fc02000c528723b7ad0335745b51209a0afed932af8f0887c219004d2abd894ea92559ee3198af3a734fe9b9638c263a728ad95a5ae8ce3eb15839f3aa7852bb390706e7760e43a71291a2e3f827237deda851874c517665f545f27238df86557f375d09ccd8bd15d8ccf61f5d78ca5c7f5cde782e6bf5d0057056d4bad98b3d2f9575e824ab7a33ff57b0ac100ab0d6ead7aa0b50f6e4d3e5ec0b966b":"815779a91b3a8bd049bf2aeb920142772222c9ca":"05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d46c7c05534c1ba2cc7624500d48a4531604bff":"815779a91b3a8bd049bf2aeb920142772222c9ca":"05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_3 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d8396e36507fe1ef6a19017548e0c716674c2fec233adb2f775665ec41f2bd0ba396b061a9daa7e866f7c23fd3531954300a342f924535ea1498c48f6c879932865fc02000c528723b7ad0335745b51209a0afed932af8f0887c219004d2abd894ea92559ee3198af3a734fe9b9638c263a728ad95a5ae8ce3eb15839f3aa7852bb390706e7760e43a71291a2e3f827237deda851874c517665f545f27238df86557f375d09ccd8bd15d8ccf61f5d78ca5c7f5cde782e6bf5d0057056d4bad98b3d2f9575e824ab7a33ff57b0ac100ab0d6ead7aa0b50f6e4d3e5ec0b966b":"815779a91b3a8bd049bf2aeb920142772222c9ca":"05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d46c7c05534c1ba2cc7624500d48a4531604bff":"815779a91b3a8bd049bf2aeb920142772222c9ca":"05e0fdbdf6f756ef733185ccfa8ced2eb6d029d9d56e35561b5db8e70257ee6fd019d2f0bbf669fe9b9821e78df6d41e31608d58280f318ee34f559941c8df13287574bac000b7e58dc4f414ba49fb127f9d0f8936638c76e85356c994f79750f7fa3cf4fd482df75e3fb9978cd061f7abb17572e6e63e0bde12cbdcf18c68b979":0 RSASSA-PSS Signature Example 5_4 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"328c659e0a6437433cceb73c14":"9aec4a7480d5bbc42920d7ca235db674989c9aac":"0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ee3de96783fd0a157c8b20bf5566124124dcfe65":"9aec4a7480d5bbc42920d7ca235db674989c9aac":"0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_4 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"328c659e0a6437433cceb73c14":"9aec4a7480d5bbc42920d7ca235db674989c9aac":"0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ee3de96783fd0a157c8b20bf5566124124dcfe65":"9aec4a7480d5bbc42920d7ca235db674989c9aac":"0bc989853bc2ea86873271ce183a923ab65e8a53100e6df5d87a24c4194eb797813ee2a187c097dd872d591da60c568605dd7e742d5af4e33b11678ccb63903204a3d080b0902c89aba8868f009c0f1c0cb85810bbdd29121abb8471ff2d39e49fd92d56c655c8e037ad18fafbdc92c95863f7f61ea9efa28fea401369d19daea1":0 RSASSA-PSS Signature Example 5_5 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f37b962379a47d415a376eec8973150bcb34edd5ab654041b61430560c2144582ba133c867d852d6b8e23321901302ecb45b09ec88b1527178fa043263f3067d9ffe973032a99f4cb08ad2c7e0a2456cdd57a7df56fe6053527a5aeb67d7e552063c1ca97b1beffa7b39e997caf27878ea0f62cbebc8c21df4c889a202851e949088490c249b6e9acf1d8063f5be2343989bf95c4da01a2be78b4ab6b378015bc37957f76948b5e58e440c28453d40d7cfd57e7d690600474ab5e75973b1ea0c5f1e45d14190afe2f4eb6d3bdf71f1d2f8bb156a1c295d04aaeb9d689dce79ed62bc443e":"e20c1e9878512c39970f58375e1549a68b64f31d":"0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1204df0b03c2724e2709c23fc71789a21b00ae4c":"e20c1e9878512c39970f58375e1549a68b64f31d":"0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_5 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f37b962379a47d415a376eec8973150bcb34edd5ab654041b61430560c2144582ba133c867d852d6b8e23321901302ecb45b09ec88b1527178fa043263f3067d9ffe973032a99f4cb08ad2c7e0a2456cdd57a7df56fe6053527a5aeb67d7e552063c1ca97b1beffa7b39e997caf27878ea0f62cbebc8c21df4c889a202851e949088490c249b6e9acf1d8063f5be2343989bf95c4da01a2be78b4ab6b378015bc37957f76948b5e58e440c28453d40d7cfd57e7d690600474ab5e75973b1ea0c5f1e45d14190afe2f4eb6d3bdf71f1d2f8bb156a1c295d04aaeb9d689dce79ed62bc443e":"e20c1e9878512c39970f58375e1549a68b64f31d":"0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1204df0b03c2724e2709c23fc71789a21b00ae4c":"e20c1e9878512c39970f58375e1549a68b64f31d":"0aefa943b698b9609edf898ad22744ac28dc239497cea369cbbd84f65c95c0ad776b594740164b59a739c6ff7c2f07c7c077a86d95238fe51e1fcf33574a4ae0684b42a3f6bf677d91820ca89874467b2c23add77969c80717430d0efc1d3695892ce855cb7f7011630f4df26def8ddf36fc23905f57fa6243a485c770d5681fcd":0 RSASSA-PSS Signature Example 5_6 -pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"c6103c330c1ef718c141e47b8fa859be4d5b96259e7d142070ecd485839dba5a8369c17c1114035e532d195c74f44a0476a2d3e8a4da210016caced0e367cb867710a4b5aa2df2b8e5daf5fdc647807d4d5ebb6c56b9763ccdae4dea3308eb0ac2a89501cb209d2639fa5bf87ce790747d3cb2d295e84564f2f637824f0c13028129b0aa4a422d162282":"23291e4a3307e8bbb776623ab34e4a5f4cc8a8db":"02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1028:"03f2f331f4142d4f24b43aa10279a89652d4e7537221a1a7b2a25deb551e5de9ac497411c227a94e45f91c2d1c13cc046cf4ce14e32d058734210d44a87ee1b73f":"034f090d73b55803030cf0361a5d8081bfb79f851523feac0a2124d08d4013ff08487771a870d0479dc0686c62f7718dfecf024b17c9267678059171339cc00839":"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"29926bc3280c841f601acd0d6f17ea38023eddbc":"23291e4a3307e8bbb776623ab34e4a5f4cc8a8db":"02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 5_6 (verify) -pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"c6103c330c1ef718c141e47b8fa859be4d5b96259e7d142070ecd485839dba5a8369c17c1114035e532d195c74f44a0476a2d3e8a4da210016caced0e367cb867710a4b5aa2df2b8e5daf5fdc647807d4d5ebb6c56b9763ccdae4dea3308eb0ac2a89501cb209d2639fa5bf87ce790747d3cb2d295e84564f2f637824f0c13028129b0aa4a422d162282":"23291e4a3307e8bbb776623ab34e4a5f4cc8a8db":"02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1028:"0d10f661f29940f5ed39aa260966deb47843679d2b6fb25b3de370f3ac7c19916391fd25fb527ebfa6a4b4df45a1759d996c4bb4ebd18828c44fc52d0191871740525f47a4b0cc8da325ed8aa676b0d0f626e0a77f07692170acac8082f42faa7dc7cd123e730e31a87985204cabcbe6670d43a2dd2b2ddef5e05392fc213bc507":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"29926bc3280c841f601acd0d6f17ea38023eddbc":"23291e4a3307e8bbb776623ab34e4a5f4cc8a8db":"02802dccfa8dfaf5279bf0b4a29ba1b157611faeaaf419b8919d15941900c1339e7e92e6fae562c53e6cc8e84104b110bce03ad18525e3c49a0eadad5d3f28f244a8ed89edbafbb686277cfa8ae909714d6b28f4bf8e293aa04c41efe7c0a81266d5c061e2575be032aa464674ff71626219bd74cc45f0e7ed4e3ff96eee758e8f":0 RSASSA-PSS Signature Example 6_1 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0a20b774addc2fa51245ed7cb9da609e50cac6636a52543f97458eed7340f8d53ffc64918f949078ee03ef60d42b5fec246050bd5505cd8cb597bad3c4e713b0ef30644e76adabb0de01a1561efb255158c74fc801e6e919e581b46f0f0ddd08e4f34c7810b5ed8318f91d7c8c":"5b4ea2ef629cc22f3b538e016904b47b1e40bfd5":"04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6":"5b4ea2ef629cc22f3b538e016904b47b1e40bfd5":"04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_1 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0a20b774addc2fa51245ed7cb9da609e50cac6636a52543f97458eed7340f8d53ffc64918f949078ee03ef60d42b5fec246050bd5505cd8cb597bad3c4e713b0ef30644e76adabb0de01a1561efb255158c74fc801e6e919e581b46f0f0ddd08e4f34c7810b5ed8318f91d7c8c":"5b4ea2ef629cc22f3b538e016904b47b1e40bfd5":"04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"ab464e8cb65ae5fdea47a53fa84b234d6bfd52f6":"5b4ea2ef629cc22f3b538e016904b47b1e40bfd5":"04c0cfacec04e5badbece159a5a1103f69b3f32ba593cb4cc4b1b7ab455916a96a27cd2678ea0f46ba37f7fc9c86325f29733b389f1d97f43e7201c0f348fc45fe42892335362eee018b5b161f2f9393031225c713012a576bc88e23052489868d9010cbf033ecc568e8bc152bdc59d560e41291915d28565208e22aeec9ef85d1":0 RSASSA-PSS Signature Example 6_2 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2aaff6631f621ce615760a9ebce94bb333077ad86488c861d4b76d29c1f48746c611ae1e03ced4445d7cfa1fe5f62e1b3f08452bde3b6ef81973bafbb57f97bceef873985395b8260589aa88cb7db50ab469262e551bdcd9a56f275a0ac4fe484700c35f3dbf2b469ede864741b86fa59172a360ba95a02e139be50ddfb7cf0b42faeabbfbbaa86a4497699c4f2dfd5b08406af7e14144427c253ec0efa20eaf9a8be8cd49ce1f1bc4e93e619cf2aa8ed4fb39bc8590d0f7b96488f7317ac9abf7bee4e3a0e715":"83146a9e782722c28b014f98b4267bda2ac9504f":"0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"92d0bcae82b641f578f040f5151be8eda6d42299":"83146a9e782722c28b014f98b4267bda2ac9504f":"0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_2 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2aaff6631f621ce615760a9ebce94bb333077ad86488c861d4b76d29c1f48746c611ae1e03ced4445d7cfa1fe5f62e1b3f08452bde3b6ef81973bafbb57f97bceef873985395b8260589aa88cb7db50ab469262e551bdcd9a56f275a0ac4fe484700c35f3dbf2b469ede864741b86fa59172a360ba95a02e139be50ddfb7cf0b42faeabbfbbaa86a4497699c4f2dfd5b08406af7e14144427c253ec0efa20eaf9a8be8cd49ce1f1bc4e93e619cf2aa8ed4fb39bc8590d0f7b96488f7317ac9abf7bee4e3a0e715":"83146a9e782722c28b014f98b4267bda2ac9504f":"0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"92d0bcae82b641f578f040f5151be8eda6d42299":"83146a9e782722c28b014f98b4267bda2ac9504f":"0a2314250cf52b6e4e908de5b35646bcaa24361da8160fb0f9257590ab3ace42b0dc3e77ad2db7c203a20bd952fbb56b1567046ecfaa933d7b1000c3de9ff05b7d989ba46fd43bc4c2d0a3986b7ffa13471d37eb5b47d64707bd290cfd6a9f393ad08ec1e3bd71bb5792615035cdaf2d8929aed3be098379377e777ce79aaa4773":0 RSASSA-PSS Signature Example 6_3 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0f6195d04a6e6fc7e2c9600dbf840c39ea8d4d624fd53507016b0e26858a5e0aecd7ada543ae5c0ab3a62599cba0a54e6bf446e262f989978f9ddf5e9a41":"a87b8aed07d7b8e2daf14ddca4ac68c4d0aabff8":"086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3569bd8fd2e28f2443375efa94f186f6911ffc2b":"a87b8aed07d7b8e2daf14ddca4ac68c4d0aabff8":"086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_3 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0f6195d04a6e6fc7e2c9600dbf840c39ea8d4d624fd53507016b0e26858a5e0aecd7ada543ae5c0ab3a62599cba0a54e6bf446e262f989978f9ddf5e9a41":"a87b8aed07d7b8e2daf14ddca4ac68c4d0aabff8":"086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3569bd8fd2e28f2443375efa94f186f6911ffc2b":"a87b8aed07d7b8e2daf14ddca4ac68c4d0aabff8":"086df6b500098c120f24ff8423f727d9c61a5c9007d3b6a31ce7cf8f3cbec1a26bb20e2bd4a046793299e03e37a21b40194fb045f90b18bf20a47992ccd799cf9c059c299c0526854954aade8a6ad9d97ec91a1145383f42468b231f4d72f23706d9853c3fa43ce8ace8bfe7484987a1ec6a16c8daf81f7c8bf42774707a9df456":0 RSASSA-PSS Signature Example 6_4 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"337d25fe9810ebca0de4d4658d3ceb8e0fe4c066aba3bcc48b105d3bf7e0257d44fecea6596f4d0c59a08402833678f70620f9138dfeb7ded905e4a6d5f05c473d55936652e2a5df43c0cfda7bacaf3087f4524b06cf42157d01539739f7fddec9d58125df31a32eab06c19b71f1d5bf":"a37932f8a7494a942d6f767438e724d6d0c0ef18":"0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7abbb7b42de335730a0b641f1e314b6950b84f98":"a37932f8a7494a942d6f767438e724d6d0c0ef18":"0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_4 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"337d25fe9810ebca0de4d4658d3ceb8e0fe4c066aba3bcc48b105d3bf7e0257d44fecea6596f4d0c59a08402833678f70620f9138dfeb7ded905e4a6d5f05c473d55936652e2a5df43c0cfda7bacaf3087f4524b06cf42157d01539739f7fddec9d58125df31a32eab06c19b71f1d5bf":"a37932f8a7494a942d6f767438e724d6d0c0ef18":"0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7abbb7b42de335730a0b641f1e314b6950b84f98":"a37932f8a7494a942d6f767438e724d6d0c0ef18":"0b5b11ad549863ffa9c51a14a1106c2a72cc8b646e5c7262509786105a984776534ca9b54c1cc64bf2d5a44fd7e8a69db699d5ea52087a4748fd2abc1afed1e5d6f7c89025530bdaa2213d7e030fa55df6f34bcf1ce46d2edf4e3ae4f3b01891a068c9e3a44bbc43133edad6ecb9f35400c4252a5762d65744b99cb9f4c559329f":0 RSASSA-PSS Signature Example 6_5 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"84ec502b072e8287789d8f9235829ea3b187afd4d4c785611bda5f9eb3cb96717efa7007227f1c08cbcb972e667235e0fb7d431a6570326d2ecce35adb373dc753b3be5f829b89175493193fab16badb41371b3aac0ae670076f24bef420c135add7cee8d35fbc944d79fafb9e307a13b0f556cb654a06f973ed22672330197ef5a748bf826a5db2383a25364b686b9372bb2339aeb1ac9e9889327d016f1670776db06201adbdcaf8a5e3b74e108b73":"7b790c1d62f7b84e94df6af28917cf571018110e":"02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"55b7eb27be7a787a59eb7e5fac468db8917a7725":"7b790c1d62f7b84e94df6af28917cf571018110e":"02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_5 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"84ec502b072e8287789d8f9235829ea3b187afd4d4c785611bda5f9eb3cb96717efa7007227f1c08cbcb972e667235e0fb7d431a6570326d2ecce35adb373dc753b3be5f829b89175493193fab16badb41371b3aac0ae670076f24bef420c135add7cee8d35fbc944d79fafb9e307a13b0f556cb654a06f973ed22672330197ef5a748bf826a5db2383a25364b686b9372bb2339aeb1ac9e9889327d016f1670776db06201adbdcaf8a5e3b74e108b73":"7b790c1d62f7b84e94df6af28917cf571018110e":"02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"55b7eb27be7a787a59eb7e5fac468db8917a7725":"7b790c1d62f7b84e94df6af28917cf571018110e":"02d71fa9b53e4654fefb7f08385cf6b0ae3a817942ebf66c35ac67f0b069952a3ce9c7e1f1b02e480a9500836de5d64cdb7ecde04542f7a79988787e24c2ba05f5fd482c023ed5c30e04839dc44bed2a3a3a4fee01113c891a47d32eb8025c28cb050b5cdb576c70fe76ef523405c08417faf350b037a43c379339fcb18d3a356b":0 RSASSA-PSS Signature Example 6_6 -pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9906d89f97a9fdedd3ccd824db687326f30f00aa25a7fca2afcb3b0f86cd41e73f0e8ff7d2d83f59e28ed31a5a0d551523374de22e4c7e8ff568b386ee3dc41163f10bf67bb006261c9082f9af90bf1d9049a6b9fae71c7f84fbe6e55f02789de774f230f115026a4b4e96c55b04a95da3aacbb2cece8f81764a1f1c99515411087cf7d34aeded0932c183":"fbbe059025b69b89fb14ae2289e7aaafe60c0fcd":"0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1029:"04f0548c9626ab1ebf1244934741d99a06220efa2a5856aa0e75730b2ec96adc86be894fa2803b53a5e85d276acbd29ab823f80a7391bb54a5051672fb04eeb543":"0483e0ae47915587743ff345362b555d3962d98bb6f15f848b4c92b1771ca8ed107d8d3ee65ec44517dd0faa481a387e902f7a2e747c269e7ea44480bc538b8e5b":"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"de2fa0367ef49083ff89b9905d3fd646fcc12c38":"fbbe059025b69b89fb14ae2289e7aaafe60c0fcd":"0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 6_6 (verify) -pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9906d89f97a9fdedd3ccd824db687326f30f00aa25a7fca2afcb3b0f86cd41e73f0e8ff7d2d83f59e28ed31a5a0d551523374de22e4c7e8ff568b386ee3dc41163f10bf67bb006261c9082f9af90bf1d9049a6b9fae71c7f84fbe6e55f02789de774f230f115026a4b4e96c55b04a95da3aacbb2cece8f81764a1f1c99515411087cf7d34aeded0932c183":"fbbe059025b69b89fb14ae2289e7aaafe60c0fcd":"0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1029:"164ca31cff609f3a0e7101b039f2e4fe6dd37519ab98598d179e174996598071f47d3a04559158d7be373cf1aa53f0aa6ef09039e5678c2a4c63900514c8c4f8aaed5de12a5f10b09c311af8c0ffb5b7a297f2efc63b8d6b0510931f0b98e48bf5fc6ec4e7b8db1ffaeb08c38e02adb8f03a48229c99e969431f61cb8c4dc698d1":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"de2fa0367ef49083ff89b9905d3fd646fcc12c38":"fbbe059025b69b89fb14ae2289e7aaafe60c0fcd":"0a40a16e2fe2b38d1df90546167cf9469c9e3c3681a3442b4b2c2f581deb385ce99fc6188bb02a841d56e76d301891e24560550fcc2a26b55f4ccb26d837d350a154bcaca8392d98fa67959e9727b78cad03269f56968fc56b68bd679926d83cc9cb215550645ccda31c760ff35888943d2d8a1d351e81e5d07b86182e751081ef":0 RSASSA-PSS Signature Example 7_1 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9ead0e01945640674eb41cad435e2374eaefa8ad7197d97913c44957d8d83f40d76ee60e39bf9c0f9eaf3021421a074d1ade962c6e9d3dc3bb174fe4dfe652b09115495b8fd2794174020a0602b5ca51848cfc96ce5eb57fc0a2adc1dda36a7cc452641a14911b37e45bfa11daa5c7ecdb74f6d0100d1d3e39e752800e203397de0233077b9a88855537fae927f924380d780f98e18dcff39c5ea741b17d6fdd1885bc9d581482d771ceb562d78a8bf88f0c75b11363e5e36cd479ceb0545f9da84203e0e6e508375cc9e844b88b7ac7a0a201ea0f1bee9a2c577920ca02c01b9d8320e974a56f4efb5763b96255abbf8037bf1802cf018f56379493e569a9":"b7867a59958cb54328f8775e6546ec06d27eaa50":"187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d":"b7867a59958cb54328f8775e6546ec06d27eaa50":"187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_1 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9ead0e01945640674eb41cad435e2374eaefa8ad7197d97913c44957d8d83f40d76ee60e39bf9c0f9eaf3021421a074d1ade962c6e9d3dc3bb174fe4dfe652b09115495b8fd2794174020a0602b5ca51848cfc96ce5eb57fc0a2adc1dda36a7cc452641a14911b37e45bfa11daa5c7ecdb74f6d0100d1d3e39e752800e203397de0233077b9a88855537fae927f924380d780f98e18dcff39c5ea741b17d6fdd1885bc9d581482d771ceb562d78a8bf88f0c75b11363e5e36cd479ceb0545f9da84203e0e6e508375cc9e844b88b7ac7a0a201ea0f1bee9a2c577920ca02c01b9d8320e974a56f4efb5763b96255abbf8037bf1802cf018f56379493e569a9":"b7867a59958cb54328f8775e6546ec06d27eaa50":"187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8be4afbdd76bd8d142c5f4f46dba771ee5d6d29d":"b7867a59958cb54328f8775e6546ec06d27eaa50":"187f390723c8902591f0154bae6d4ecbffe067f0e8b795476ea4f4d51ccc810520bb3ca9bca7d0b1f2ea8a17d873fa27570acd642e3808561cb9e975ccfd80b23dc5771cdb3306a5f23159dacbd3aa2db93d46d766e09ed15d900ad897a8d274dc26b47e994a27e97e2268a766533ae4b5e42a2fcaf755c1c4794b294c60555823":0 RSASSA-PSS Signature Example 7_2 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d80d2d08dbd19c154df3f14673a14bd03735231f24e86bf153d0e69e74cbff7b1836e664de83f680124370fc0f96c9b65c07a366b644c4ab3":"0c09582266df086310821ba7e18df64dfee6de09":"10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"402140dc605b2f5c5ec0d15bce9f9ba8857fe117":"0c09582266df086310821ba7e18df64dfee6de09":"10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_2 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"8d80d2d08dbd19c154df3f14673a14bd03735231f24e86bf153d0e69e74cbff7b1836e664de83f680124370fc0f96c9b65c07a366b644c4ab3":"0c09582266df086310821ba7e18df64dfee6de09":"10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"402140dc605b2f5c5ec0d15bce9f9ba8857fe117":"0c09582266df086310821ba7e18df64dfee6de09":"10fd89768a60a67788abb5856a787c8561f3edcf9a83e898f7dc87ab8cce79429b43e56906941a886194f137e591fe7c339555361fbbe1f24feb2d4bcdb80601f3096bc9132deea60ae13082f44f9ad41cd628936a4d51176e42fc59cb76db815ce5ab4db99a104aafea68f5d330329ebf258d4ede16064bd1d00393d5e1570eb8":0 RSASSA-PSS Signature Example 7_3 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"808405cdfc1a58b9bb0397c720722a81fffb76278f335917ef9c473814b3e016ba2973cd2765f8f3f82d6cc38aa7f8551827fe8d1e3884b7e61c94683b8f82f1843bdae2257eeec9812ad4c2cf283c34e0b0ae0fe3cb990cf88f2ef9":"28039dcfe106d3b8296611258c4a56651c9e92dd":"2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20":"28039dcfe106d3b8296611258c4a56651c9e92dd":"2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_3 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"808405cdfc1a58b9bb0397c720722a81fffb76278f335917ef9c473814b3e016ba2973cd2765f8f3f82d6cc38aa7f8551827fe8d1e3884b7e61c94683b8f82f1843bdae2257eeec9812ad4c2cf283c34e0b0ae0fe3cb990cf88f2ef9":"28039dcfe106d3b8296611258c4a56651c9e92dd":"2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"3e885205892ff2b6b37c2c4eb486c4bf2f9e7f20":"28039dcfe106d3b8296611258c4a56651c9e92dd":"2b31fde99859b977aa09586d8e274662b25a2a640640b457f594051cb1e7f7a911865455242926cf88fe80dfa3a75ba9689844a11e634a82b075afbd69c12a0df9d25f84ad4945df3dc8fe90c3cefdf26e95f0534304b5bdba20d3e5640a2ebfb898aac35ae40f26fce5563c2f9f24f3042af76f3c7072d687bbfb959a88460af1":0 RSASSA-PSS Signature Example 7_4 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f337b9bad937de22a1a052dff11134a8ce26976202981939b91e0715ae5e609649da1adfcef3f4cca59b238360e7d1e496c7bf4b204b5acff9bbd6166a1d87a36ef2247373751039f8a800b8399807b3a85f44893497c0d05fb7017b82228152de6f25e6116dcc7503c786c875c28f3aa607e94ab0f19863ab1b5073770b0cd5f533acde30c6fb953cf3da680264e30fc11bff9a19bffab4779b6223c3fb3fe0f71abade4eb7c09c41e24c22d23fa148e6a173feb63984d1bc6ee3a02d915b752ceaf92a3015eceb38ca586c6801b37c34cefb2cff25ea23c08662dcab26a7a93a285d05d3044c":"a77821ebbbef24628e4e12e1d0ea96de398f7b0f":"32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1fc2201d0c442a4736cd8b2cd00c959c47a3bf42":"a77821ebbbef24628e4e12e1d0ea96de398f7b0f":"32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_4 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f337b9bad937de22a1a052dff11134a8ce26976202981939b91e0715ae5e609649da1adfcef3f4cca59b238360e7d1e496c7bf4b204b5acff9bbd6166a1d87a36ef2247373751039f8a800b8399807b3a85f44893497c0d05fb7017b82228152de6f25e6116dcc7503c786c875c28f3aa607e94ab0f19863ab1b5073770b0cd5f533acde30c6fb953cf3da680264e30fc11bff9a19bffab4779b6223c3fb3fe0f71abade4eb7c09c41e24c22d23fa148e6a173feb63984d1bc6ee3a02d915b752ceaf92a3015eceb38ca586c6801b37c34cefb2cff25ea23c08662dcab26a7a93a285d05d3044c":"a77821ebbbef24628e4e12e1d0ea96de398f7b0f":"32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1fc2201d0c442a4736cd8b2cd00c959c47a3bf42":"a77821ebbbef24628e4e12e1d0ea96de398f7b0f":"32c7ca38ff26949a15000c4ba04b2b13b35a3810e568184d7ecabaa166b7ffabddf2b6cf4ba07124923790f2e5b1a5be040aea36fe132ec130e1f10567982d17ac3e89b8d26c3094034e762d2e031264f01170beecb3d1439e05846f25458367a7d9c02060444672671e64e877864559ca19b2074d588a281b5804d23772fbbe19":0 RSASSA-PSS Signature Example 7_5 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"45013cebafd960b255476a8e2598b9aa32efbe6dc1f34f4a498d8cf5a2b4548d08c55d5f95f7bcc9619163056f2d58b52fa032":"9d5ad8eb452134b65dc3a98b6a73b5f741609cd6":"07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e4351b66819e5a31501f89acc7faf57030e9aac5":"9d5ad8eb452134b65dc3a98b6a73b5f741609cd6":"07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_5 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"45013cebafd960b255476a8e2598b9aa32efbe6dc1f34f4a498d8cf5a2b4548d08c55d5f95f7bcc9619163056f2d58b52fa032":"9d5ad8eb452134b65dc3a98b6a73b5f741609cd6":"07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e4351b66819e5a31501f89acc7faf57030e9aac5":"9d5ad8eb452134b65dc3a98b6a73b5f741609cd6":"07eb651d75f1b52bc263b2e198336e99fbebc4f332049a922a10815607ee2d989db3a4495b7dccd38f58a211fb7e193171a3d891132437ebca44f318b280509e52b5fa98fcce8205d9697c8ee4b7ff59d4c59c79038a1970bd2a0d451ecdc5ef11d9979c9d35f8c70a6163717607890d586a7c6dc01c79f86a8f28e85235f8c2f1":0 RSASSA-PSS Signature Example 7_6 -pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2358097086c899323e75d9c90d0c09f12d9d54edfbdf70a9c2eb5a04d8f36b9b2bdf2aabe0a5bda1968937f9d6ebd3b6b257efb3136d4131f9acb59b85e2602c2a3fcdc835494a1f4e5ec18b226c80232b36a75a45fdf09a7ea9e98efbde1450d1194bf12e15a4c5f9eb5c0bce5269e0c3b28cfab655d81a61a20b4be2f54459bb25a0db94c52218be109a7426de83014424789aaa90e5056e632a698115e282c1a56410f26c2072f193481a9dcd880572005e64f4082ecf":"3f2efc595880a7d47fcf3cba04983ea54c4b73fb":"18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1030:"07eefb424b0e3a40e4208ee5afb280b22317308114dde0b4b64f730184ec68da6ce2867a9f48ed7726d5e2614ed04a5410736c8c714ee702474298c6292af07535":"070830dbf947eac0228de26314b59b66994cc60e8360e75d3876298f8f8a7d141da064e5ca026a973e28f254738cee669c721b034cb5f8e244dadd7cd1e159d547":"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"49f6cc58365e514e1a3f301f4de16f9fb5347ff2":"3f2efc595880a7d47fcf3cba04983ea54c4b73fb":"18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 7_6 (verify) -pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2358097086c899323e75d9c90d0c09f12d9d54edfbdf70a9c2eb5a04d8f36b9b2bdf2aabe0a5bda1968937f9d6ebd3b6b257efb3136d4131f9acb59b85e2602c2a3fcdc835494a1f4e5ec18b226c80232b36a75a45fdf09a7ea9e98efbde1450d1194bf12e15a4c5f9eb5c0bce5269e0c3b28cfab655d81a61a20b4be2f54459bb25a0db94c52218be109a7426de83014424789aaa90e5056e632a698115e282c1a56410f26c2072f193481a9dcd880572005e64f4082ecf":"3f2efc595880a7d47fcf3cba04983ea54c4b73fb":"18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1030:"37c9da4a66c8c408b8da27d0c9d79f8ccb1eafc1d2fe48746d940b7c4ef5dee18ad12647cefaa0c4b3188b221c515386759b93f02024b25ab9242f8357d8f3fd49640ee5e643eaf6c64deefa7089727c8ff03993333915c6ef21bf5975b6e50d118b51008ec33e9f01a0a545a10a836a43ddbca9d8b5c5d3548022d7064ea29ab3":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"49f6cc58365e514e1a3f301f4de16f9fb5347ff2":"3f2efc595880a7d47fcf3cba04983ea54c4b73fb":"18da3cdcfe79bfb77fd9c32f377ad399146f0a8e810620233271a6e3ed3248903f5cdc92dc79b55d3e11615aa056a795853792a3998c349ca5c457e8ca7d29d796aa24f83491709befcfb1510ea513c92829a3f00b104f655634f320752e130ec0ccf6754ff893db302932bb025eb60e87822598fc619e0e981737a9a4c4152d33":0 RSASSA-PSS Signature Example 8_1 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"81332f4be62948415ea1d899792eeacf6c6e1db1da8be13b5cea41db2fed467092e1ff398914c714259775f595f8547f735692a575e6923af78f22c6997ddb90fb6f72d7bb0dd5744a31decd3dc3685849836ed34aec596304ad11843c4f88489f209735f5fb7fdaf7cec8addc5818168f880acbf490d51005b7a8e84e43e54287977571dd99eea4b161eb2df1f5108f12a4142a83322edb05a75487a3435c9a78ce53ed93bc550857d7a9fb":"1d65491d79c864b373009be6f6f2467bac4c78fa":"0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a1dd230d8ead860199b6277c2ecfe3d95f6d9160":"1d65491d79c864b373009be6f6f2467bac4c78fa":"0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_1 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"81332f4be62948415ea1d899792eeacf6c6e1db1da8be13b5cea41db2fed467092e1ff398914c714259775f595f8547f735692a575e6923af78f22c6997ddb90fb6f72d7bb0dd5744a31decd3dc3685849836ed34aec596304ad11843c4f88489f209735f5fb7fdaf7cec8addc5818168f880acbf490d51005b7a8e84e43e54287977571dd99eea4b161eb2df1f5108f12a4142a83322edb05a75487a3435c9a78ce53ed93bc550857d7a9fb":"1d65491d79c864b373009be6f6f2467bac4c78fa":"0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a1dd230d8ead860199b6277c2ecfe3d95f6d9160":"1d65491d79c864b373009be6f6f2467bac4c78fa":"0262ac254bfa77f3c1aca22c5179f8f040422b3c5bafd40a8f21cf0fa5a667ccd5993d42dbafb409c520e25fce2b1ee1e716577f1efa17f3da28052f40f0419b23106d7845aaf01125b698e7a4dfe92d3967bb00c4d0d35ba3552ab9a8b3eef07c7fecdbc5424ac4db1e20cb37d0b2744769940ea907e17fbbca673b20522380c5":0 RSASSA-PSS Signature Example 8_2 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3cede9d0faabf4fcc8e60a973e5595fd9ea08":"435c098aa9909eb2377f1248b091b68987ff1838":"2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f6e68e53c602c5c65fa67b5aa6d786e5524b12ab":"435c098aa9909eb2377f1248b091b68987ff1838":"2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_2 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e2f96eaf0e05e7ba326ecca0ba7fd2f7c02356f3cede9d0faabf4fcc8e60a973e5595fd9ea08":"435c098aa9909eb2377f1248b091b68987ff1838":"2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f6e68e53c602c5c65fa67b5aa6d786e5524b12ab":"435c098aa9909eb2377f1248b091b68987ff1838":"2707b9ad5115c58c94e932e8ec0a280f56339e44a1b58d4ddcff2f312e5f34dcfe39e89c6a94dcee86dbbdae5b79ba4e0819a9e7bfd9d982e7ee6c86ee68396e8b3a14c9c8f34b178eb741f9d3f121109bf5c8172fada2e768f9ea1433032c004a8aa07eb990000a48dc94c8bac8aabe2b09b1aa46c0a2aa0e12f63fbba775ba7e":0 RSASSA-PSS Signature Example 8_3 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"c6ebbe76df0c4aea32c474175b2f136862d04529":"2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"d6f9fcd3ae27f32bb2c7c93536782eba52af1f76":"c6ebbe76df0c4aea32c474175b2f136862d04529":"2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_3 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"c6ebbe76df0c4aea32c474175b2f136862d04529":"2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"d6f9fcd3ae27f32bb2c7c93536782eba52af1f76":"c6ebbe76df0c4aea32c474175b2f136862d04529":"2ad20509d78cf26d1b6c406146086e4b0c91a91c2bd164c87b966b8faa42aa0ca446022323ba4b1a1b89706d7f4c3be57d7b69702d168ab5955ee290356b8c4a29ed467d547ec23cbadf286ccb5863c6679da467fc9324a151c7ec55aac6db4084f82726825cfe1aa421bc64049fb42f23148f9c25b2dc300437c38d428aa75f96":0 RSASSA-PSS Signature Example 8_4 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"dbc5f750a7a14be2b93e838d18d14a8695e52e8add9c0ac733b8f56d2747e529a0cca532dd49b902aefed514447f9e81d16195c2853868cb9b30f7d0d495c69d01b5c5d50b27045db3866c2324a44a110b1717746de457d1c8c45c3cd2a92970c3d59632055d4c98a41d6e99e2a3ddd5f7f9979ab3cd18f37505d25141de2a1bff17b3a7dce9419ecc385cf11d72840f19953fd0509251f6cafde2893d0e75c781ba7a5012ca401a4fa99e04b3c3249f926d5afe82cc87dab22c3c1b105de48e34ace9c9124e59597ac7ebf8":"021fdcc6ebb5e19b1cb16e9c67f27681657fe20a":"1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7ff2a53ce2e2d900d468e498f230a5f5dd0020de":"021fdcc6ebb5e19b1cb16e9c67f27681657fe20a":"1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_4 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"dbc5f750a7a14be2b93e838d18d14a8695e52e8add9c0ac733b8f56d2747e529a0cca532dd49b902aefed514447f9e81d16195c2853868cb9b30f7d0d495c69d01b5c5d50b27045db3866c2324a44a110b1717746de457d1c8c45c3cd2a92970c3d59632055d4c98a41d6e99e2a3ddd5f7f9979ab3cd18f37505d25141de2a1bff17b3a7dce9419ecc385cf11d72840f19953fd0509251f6cafde2893d0e75c781ba7a5012ca401a4fa99e04b3c3249f926d5afe82cc87dab22c3c1b105de48e34ace9c9124e59597ac7ebf8":"021fdcc6ebb5e19b1cb16e9c67f27681657fe20a":"1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"7ff2a53ce2e2d900d468e498f230a5f5dd0020de":"021fdcc6ebb5e19b1cb16e9c67f27681657fe20a":"1e24e6e58628e5175044a9eb6d837d48af1260b0520e87327de7897ee4d5b9f0df0be3e09ed4dea8c1454ff3423bb08e1793245a9df8bf6ab3968c8eddc3b5328571c77f091cc578576912dfebd164b9de5454fe0be1c1f6385b328360ce67ec7a05f6e30eb45c17c48ac70041d2cab67f0a2ae7aafdcc8d245ea3442a6300ccc7":0 RSASSA-PSS Signature Example 8_5 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"04dc251be72e88e5723485b6383a637e2fefe07660c519a560b8bc18bdedb86eae2364ea53ba9dca6eb3d2e7d6b806af42b3e87f291b4a8881d5bf572cc9a85e19c86acb28f098f9da0383c566d3c0f58cfd8f395dcf602e5cd40e8c7183f714996e2297ef":"c558d7167cbb4508ada042971e71b1377eea4269":"33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"4eb309f7022ba0b03bb78601b12931ec7c1be8d3":"c558d7167cbb4508ada042971e71b1377eea4269":"33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_5 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"04dc251be72e88e5723485b6383a637e2fefe07660c519a560b8bc18bdedb86eae2364ea53ba9dca6eb3d2e7d6b806af42b3e87f291b4a8881d5bf572cc9a85e19c86acb28f098f9da0383c566d3c0f58cfd8f395dcf602e5cd40e8c7183f714996e2297ef":"c558d7167cbb4508ada042971e71b1377eea4269":"33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"4eb309f7022ba0b03bb78601b12931ec7c1be8d3":"c558d7167cbb4508ada042971e71b1377eea4269":"33341ba3576a130a50e2a5cf8679224388d5693f5accc235ac95add68e5eb1eec31666d0ca7a1cda6f70a1aa762c05752a51950cdb8af3c5379f18cfe6b5bc55a4648226a15e912ef19ad77adeea911d67cfefd69ba43fa4119135ff642117ba985a7e0100325e9519f1ca6a9216bda055b5785015291125e90dcd07a2ca9673ee":0 RSASSA-PSS Signature Example 8_6 -pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0ea37df9a6fea4a8b610373c24cf390c20fa6e2135c400c8a34f5c183a7e8ea4c9ae090ed31759f42dc77719cca400ecdcc517acfc7ac6902675b2ef30c509665f3321482fc69a9fb570d15e01c845d0d8e50d2a24cbf1cf0e714975a5db7b18d9e9e9cb91b5cb16869060ed18b7b56245503f0caf90352b8de81cb5a1d9c6336092f0cd":"76fd4e64fdc98eb927a0403e35a084e76ba9f92a":"1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1031:"08dad7f11363faa623d5d6d5e8a319328d82190d7127d2846c439b0ab72619b0a43a95320e4ec34fc3a9cea876422305bd76c5ba7be9e2f410c8060645a1d29edb":"0847e732376fc7900f898ea82eb2b0fc418565fdae62f7d9ec4ce2217b97990dd272db157f99f63c0dcbb9fbacdbd4c4dadb6df67756358ca4174825b48f49706d":"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"65033bc2f67d6aba7d526acb873b8d9241e5e4d9":"76fd4e64fdc98eb927a0403e35a084e76ba9f92a":"1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 8_6 (verify) -pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0ea37df9a6fea4a8b610373c24cf390c20fa6e2135c400c8a34f5c183a7e8ea4c9ae090ed31759f42dc77719cca400ecdcc517acfc7ac6902675b2ef30c509665f3321482fc69a9fb570d15e01c845d0d8e50d2a24cbf1cf0e714975a5db7b18d9e9e9cb91b5cb16869060ed18b7b56245503f0caf90352b8de81cb5a1d9c6336092f0cd":"76fd4e64fdc98eb927a0403e35a084e76ba9f92a":"1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1031:"495370a1fb18543c16d3631e3163255df62be6eee890d5f25509e4f778a8ea6fbbbcdf85dff64e0d972003ab3681fbba6dd41fd541829b2e582de9f2a4a4e0a2d0900bef4753db3cee0ee06c7dfae8b1d53b5953218f9cceea695b08668edeaadced9463b1d790d5ebf27e9115b46cad4d9a2b8efab0561b0810344739ada0733f":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"65033bc2f67d6aba7d526acb873b8d9241e5e4d9":"76fd4e64fdc98eb927a0403e35a084e76ba9f92a":"1ed1d848fb1edb44129bd9b354795af97a069a7a00d0151048593e0c72c3517ff9ff2a41d0cb5a0ac860d736a199704f7cb6a53986a88bbd8abcc0076a2ce847880031525d449da2ac78356374c536e343faa7cba42a5aaa6506087791c06a8e989335aed19bfab2d5e67e27fb0c2875af896c21b6e8e7309d04e4f6727e69463e":0 RSASSA-PSS Signature Example 9_1 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a88e265855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef43795922028bc2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b278872bf51321c4a972f3c95570f3445d4f57980e0f20df54846e6a52c668f1288c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55cf979f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60ca709e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c244159420637028df0a18079d6208ea8b4711a2c750f5":"c0a425313df8d7564bd2434d311523d5257eed80":"586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2715a49b8b0012cd7aee84c116446e6dfe3faec0":"c0a425313df8d7564bd2434d311523d5257eed80":"586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_1 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"a88e265855e9d7ca36c68795f0b31b591cd6587c71d060a0b3f7f3eaef43795922028bc2b6ad467cfc2d7f659c5385aa70ba3672cdde4cfe4970cc7904601b278872bf51321c4a972f3c95570f3445d4f57980e0f20df54846e6a52c668f1288c03f95006ea32f562d40d52af9feb32f0fa06db65b588a237b34e592d55cf979f903a642ef64d2ed542aa8c77dc1dd762f45a59303ed75e541ca271e2b60ca709e44fa0661131e8d5d4163fd8d398566ce26de8730e72f9cca737641c244159420637028df0a18079d6208ea8b4711a2c750f5":"c0a425313df8d7564bd2434d311523d5257eed80":"586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2715a49b8b0012cd7aee84c116446e6dfe3faec0":"c0a425313df8d7564bd2434d311523d5257eed80":"586107226c3ce013a7c8f04d1a6a2959bb4b8e205ba43a27b50f124111bc35ef589b039f5932187cb696d7d9a32c0c38300a5cdda4834b62d2eb240af33f79d13dfbf095bf599e0d9686948c1964747b67e89c9aba5cd85016236f566cc5802cb13ead51bc7ca6bef3b94dcbdbb1d570469771df0e00b1a8a06777472d2316279edae86474668d4e1efff95f1de61c6020da32ae92bbf16520fef3cf4d88f61121f24bbd9fe91b59caf1235b2a93ff81fc403addf4ebdea84934a9cdaf8e1a9e":0 RSASSA-PSS Signature Example 9_2 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"c8c9c6af04acda414d227ef23e0820c3732c500dc87275e95b0d095413993c2658bc1d988581ba879c2d201f14cb88ced153a01969a7bf0a7be79c84c1486bc12b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb96d90a82ebab69f86350e1822e8bd536a2e":"b307c43b4850a8dac2f15f32e37839ef8c5c0e91":"80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2dac956d53964748ac364d06595827c6b4f143cd":"b307c43b4850a8dac2f15f32e37839ef8c5c0e91":"80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_2 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"c8c9c6af04acda414d227ef23e0820c3732c500dc87275e95b0d095413993c2658bc1d988581ba879c2d201f14cb88ced153a01969a7bf0a7be79c84c1486bc12b3fa6c59871b6827c8ce253ca5fefa8a8c690bf326e8e37cdb96d90a82ebab69f86350e1822e8bd536a2e":"b307c43b4850a8dac2f15f32e37839ef8c5c0e91":"80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"2dac956d53964748ac364d06595827c6b4f143cd":"b307c43b4850a8dac2f15f32e37839ef8c5c0e91":"80b6d643255209f0a456763897ac9ed259d459b49c2887e5882ecb4434cfd66dd7e1699375381e51cd7f554f2c271704b399d42b4be2540a0eca61951f55267f7c2878c122842dadb28b01bd5f8c025f7e228418a673c03d6bc0c736d0a29546bd67f786d9d692ccea778d71d98c2063b7a71092187a4d35af108111d83e83eae46c46aa34277e06044589903788f1d5e7cee25fb485e92949118814d6f2c3ee361489016f327fb5bc517eb50470bffa1afa5f4ce9aa0ce5b8ee19bf5501b958":0 RSASSA-PSS Signature Example 9_3 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0afad42ccd4fc60654a55002d228f52a4a5fe03b8bbb08ca82daca558b44dbe1266e50c0e745a36d9d2904e3408abcd1fd569994063f4a75cc72f2fee2a0cd893a43af1c5b8b487df0a71610024e4f6ddf9f28ad0813c1aab91bcb3c9064d5ff742deffea657094139369e5ea6f4a96319a5cc8224145b545062758fefd1fe3409ae169259c6cdfd6b5f2958e314faecbe69d2cace58ee55179ab9b3e6d1ecc14a557c5febe988595264fc5da1c571462eca798a18a1a4940cdab4a3e92009ccd42e1e947b1314e32238a2dece7d23a89b5b30c751fd0a4a430d2c548594":"9a2b007e80978bbb192c354eb7da9aedfc74dbf5":"484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"28d98c46cccafbd3bc04e72f967a54bd3ea12298":"9a2b007e80978bbb192c354eb7da9aedfc74dbf5":"484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_3 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0afad42ccd4fc60654a55002d228f52a4a5fe03b8bbb08ca82daca558b44dbe1266e50c0e745a36d9d2904e3408abcd1fd569994063f4a75cc72f2fee2a0cd893a43af1c5b8b487df0a71610024e4f6ddf9f28ad0813c1aab91bcb3c9064d5ff742deffea657094139369e5ea6f4a96319a5cc8224145b545062758fefd1fe3409ae169259c6cdfd6b5f2958e314faecbe69d2cace58ee55179ab9b3e6d1ecc14a557c5febe988595264fc5da1c571462eca798a18a1a4940cdab4a3e92009ccd42e1e947b1314e32238a2dece7d23a89b5b30c751fd0a4a430d2c548594":"9a2b007e80978bbb192c354eb7da9aedfc74dbf5":"484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"28d98c46cccafbd3bc04e72f967a54bd3ea12298":"9a2b007e80978bbb192c354eb7da9aedfc74dbf5":"484408f3898cd5f53483f80819efbf2708c34d27a8b2a6fae8b322f9240237f981817aca1846f1084daa6d7c0795f6e5bf1af59c38e1858437ce1f7ec419b98c8736adf6dd9a00b1806d2bd3ad0a73775e05f52dfef3a59ab4b08143f0df05cd1ad9d04bececa6daa4a2129803e200cbc77787caf4c1d0663a6c5987b605952019782caf2ec1426d68fb94ed1d4be816a7ed081b77e6ab330b3ffc073820fecde3727fcbe295ee61a050a343658637c3fd659cfb63736de32d9f90d3c2f63eca":0 RSASSA-PSS Signature Example 9_4 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1dfd43b46c93db82629bdae2bd0a12b882ea04c3b465f5cf93023f01059626dbbe99f26bb1be949dddd16dc7f3debb19a194627f0b224434df7d8700e9e98b06e360c12fdbe3d19f51c9684eb9089ecbb0a2f0450399d3f59eac7294085d044f5393c6ce737423d8b86c415370d389e30b9f0a3c02d25d0082e8ad6f3f1ef24a45c3cf82b383367063a4d4613e4264f01b2dac2e5aa42043f8fb5f69fa871d14fb273e767a531c40f02f343bc2fb45a0c7e0f6be2561923a77211d66a6e2dbb43c366350beae22da3ac2c1f5077096fcb5c4bf255f7574351ae0b1e1f03632817c0856d4a8ba97afbdc8b85855402bc56926fcec209f9ea8":"70f382bddf4d5d2dd88b3bc7b7308be632b84045":"84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0866d2ff5a79f25ef668cd6f31b42dee421e4c0e":"70f382bddf4d5d2dd88b3bc7b7308be632b84045":"84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_4 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1dfd43b46c93db82629bdae2bd0a12b882ea04c3b465f5cf93023f01059626dbbe99f26bb1be949dddd16dc7f3debb19a194627f0b224434df7d8700e9e98b06e360c12fdbe3d19f51c9684eb9089ecbb0a2f0450399d3f59eac7294085d044f5393c6ce737423d8b86c415370d389e30b9f0a3c02d25d0082e8ad6f3f1ef24a45c3cf82b383367063a4d4613e4264f01b2dac2e5aa42043f8fb5f69fa871d14fb273e767a531c40f02f343bc2fb45a0c7e0f6be2561923a77211d66a6e2dbb43c366350beae22da3ac2c1f5077096fcb5c4bf255f7574351ae0b1e1f03632817c0856d4a8ba97afbdc8b85855402bc56926fcec209f9ea8":"70f382bddf4d5d2dd88b3bc7b7308be632b84045":"84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0866d2ff5a79f25ef668cd6f31b42dee421e4c0e":"70f382bddf4d5d2dd88b3bc7b7308be632b84045":"84ebeb481be59845b46468bafb471c0112e02b235d84b5d911cbd1926ee5074ae0424495cb20e82308b8ebb65f419a03fb40e72b78981d88aad143053685172c97b29c8b7bf0ae73b5b2263c403da0ed2f80ff7450af7828eb8b86f0028bd2a8b176a4d228cccea18394f238b09ff758cc00bc04301152355742f282b54e663a919e709d8da24ade5500a7b9aa50226e0ca52923e6c2d860ec50ff480fa57477e82b0565f4379f79c772d5c2da80af9fbf325ece6fc20b00961614bee89a183e":0 RSASSA-PSS Signature Example 9_5 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1bdc6e7c98fb8cf54e9b097b66a831e9cfe52d9d4888448ee4b0978093ba1d7d73ae78b3a62ba4ad95cd289ccb9e005226bb3d178bccaa821fb044a4e21ee97696c14d0678c94c2dae93b0ad73922218553daa7e44ebe57725a7a45cc72b9b2138a6b17c8db411ce8279ee1241aff0a8bec6f77f87edb0c69cb27236e3435a800b192e4f11e519e3fe30fc30eaccca4fbb41769029bf708e817a9e683805be67fa100984683b74838e3bcffa79366eed1d481c76729118838f31ba8a048a93c1be4424598e8df6328b7a77880a3f9c7e2e8dfca8eb5a26fb86bdc556d42bbe01d9fa6ed80646491c9341":"d689257a86effa68212c5e0c619eca295fb91b67":"82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"6a5b4be4cd36cc97dfde9995efbf8f097a4a991a":"d689257a86effa68212c5e0c619eca295fb91b67":"82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_5 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"1bdc6e7c98fb8cf54e9b097b66a831e9cfe52d9d4888448ee4b0978093ba1d7d73ae78b3a62ba4ad95cd289ccb9e005226bb3d178bccaa821fb044a4e21ee97696c14d0678c94c2dae93b0ad73922218553daa7e44ebe57725a7a45cc72b9b2138a6b17c8db411ce8279ee1241aff0a8bec6f77f87edb0c69cb27236e3435a800b192e4f11e519e3fe30fc30eaccca4fbb41769029bf708e817a9e683805be67fa100984683b74838e3bcffa79366eed1d481c76729118838f31ba8a048a93c1be4424598e8df6328b7a77880a3f9c7e2e8dfca8eb5a26fb86bdc556d42bbe01d9fa6ed80646491c9341":"d689257a86effa68212c5e0c619eca295fb91b67":"82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"6a5b4be4cd36cc97dfde9995efbf8f097a4a991a":"d689257a86effa68212c5e0c619eca295fb91b67":"82102df8cb91e7179919a04d26d335d64fbc2f872c44833943241de8454810274cdf3db5f42d423db152af7135f701420e39b494a67cbfd19f9119da233a23da5c6439b5ba0d2bc373eee3507001378d4a4073856b7fe2aba0b5ee93b27f4afec7d4d120921c83f606765b02c19e4d6a1a3b95fa4c422951be4f52131077ef17179729cddfbdb56950dbaceefe78cb16640a099ea56d24389eef10f8fecb31ba3ea3b227c0a86698bb89e3e9363905bf22777b2a3aa521b65b4cef76d83bde4c":0 RSASSA-PSS Signature Example 9_6 -pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"88c7a9f1360401d90e53b101b61c5325c3c75db1b411fbeb8e830b75e96b56670ad245404e16793544ee354bc613a90cc9848715a73db5893e7f6d279815c0c1de83ef8e2956e3a56ed26a888d7a9cdcd042f4b16b7fa51ef1a0573662d16a302d0ec5b285d2e03ad96529c87b3d374db372d95b2443d061b6b1a350ba87807ed083afd1eb05c3f52f4eba5ed2227714fdb50b9d9d9dd6814f62f6272fcd5cdbce7a9ef797":"c25f13bf67d081671a0481a1f1820d613bba2276":"a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"f8eb97e98df12664eefdb761596a69ddcd0e76daece6ed4bf5a1b50ac086f7928a4d2f8726a77e515b74da41988f220b1cc87aa1fc810ce99a82f2d1ce821edced794c6941f42c7a1a0b8c4d28c75ec60b652279f6154a762aed165d47dee367":"ed4d71d0a6e24b93c2e5f6b4bbe05f5fb0afa042d204fe3378d365c2f288b6a8dad7efe45d153eef40cacc7b81ff934002d108994b94a5e4728cd9c963375ae49965bda55cbf0efed8d6553b4027f2d86208a6e6b489c176128092d629e49d3d":"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7":"c25f13bf67d081671a0481a1f1820d613bba2276":"a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 9_6 (verify) -pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"88c7a9f1360401d90e53b101b61c5325c3c75db1b411fbeb8e830b75e96b56670ad245404e16793544ee354bc613a90cc9848715a73db5893e7f6d279815c0c1de83ef8e2956e3a56ed26a888d7a9cdcd042f4b16b7fa51ef1a0573662d16a302d0ec5b285d2e03ad96529c87b3d374db372d95b2443d061b6b1a350ba87807ed083afd1eb05c3f52f4eba5ed2227714fdb50b9d9d9dd6814f62f6272fcd5cdbce7a9ef797":"c25f13bf67d081671a0481a1f1820d613bba2276":"a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1536:"e6bd692ac96645790403fdd0f5beb8b9bf92ed10007fc365046419dd06c05c5b5b2f48ecf989e4ce269109979cbb40b4a0ad24d22483d1ee315ad4ccb1534268352691c524f6dd8e6c29d224cf246973aec86c5bf6b1401a850d1b9ad1bb8cbcec47b06f0f8c7f45d3fc8f319299c5433ddbc2b3053b47ded2ecd4a4caefd614833dc8bb622f317ed076b8057fe8de3f84480ad5e83e4a61904a4f248fb397027357e1d30e463139815c6fd4fd5ac5b8172a45230ecb6318a04f1455d84e5a8b":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b9dfd1df76a461c51e6576c6c8ed0a923d1c50e7":"c25f13bf67d081671a0481a1f1820d613bba2276":"a7fdb0d259165ca2c88d00bbf1028a867d337699d061193b17a9648e14ccbbaadeacaacdec815e7571294ebb8a117af205fa078b47b0712c199e3ad05135c504c24b81705115740802487992ffd511d4afc6b854491eb3f0dd523139542ff15c3101ee85543517c6a3c79417c67e2dd9aa741e9a29b06dcb593c2336b3670ae3afbac7c3e76e215473e866e338ca244de00b62624d6b9426822ceae9f8cc460895f41250073fd45c5a1e7b425c204a423a699159f6903e710b37a7bb2bc8049f":0 RSASSA-PSS Signature Example 10_1 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"883177e5126b9be2d9a9680327d5370c6f26861f5820c43da67a3ad609":"04e215ee6ff934b9da70d7730c8734abfcecde89":"82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9596bb630cf6a8d4ea4600422b9eba8b13675dd4":"04e215ee6ff934b9da70d7730c8734abfcecde89":"82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_1 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"883177e5126b9be2d9a9680327d5370c6f26861f5820c43da67a3ad609":"04e215ee6ff934b9da70d7730c8734abfcecde89":"82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"9596bb630cf6a8d4ea4600422b9eba8b13675dd4":"04e215ee6ff934b9da70d7730c8734abfcecde89":"82c2b160093b8aa3c0f7522b19f87354066c77847abf2a9fce542d0e84e920c5afb49ffdfdace16560ee94a1369601148ebad7a0e151cf16331791a5727d05f21e74e7eb811440206935d744765a15e79f015cb66c532c87a6a05961c8bfad741a9a6657022894393e7223739796c02a77455d0f555b0ec01ddf259b6207fd0fd57614cef1a5573baaff4ec00069951659b85f24300a25160ca8522dc6e6727e57d019d7e63629b8fe5e89e25cc15beb3a647577559299280b9b28f79b0409000be25bbd96408ba3b43cc486184dd1c8e62553fa1af4040f60663de7f5e49c04388e257f1ce89c95dab48a315d9b66b1b7628233876ff2385230d070d07e1666":0 RSASSA-PSS Signature Example 10_2 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"dd670a01465868adc93f26131957a50c52fb777cdbaa30892c9e12361164ec13979d43048118e4445db87bee58dd987b3425d02071d8dbae80708b039dbb64dbd1de5657d9fed0c118a54143742e0ff3c87f74e45857647af3f79eb0a14c9d75ea9a1a04b7cf478a897a708fd988f48e801edb0b7039df8c23bb3c56f4e821ac":"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b":"14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b503319399277fd6c1c8f1033cbf04199ea21716":"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b":"14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_2 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"dd670a01465868adc93f26131957a50c52fb777cdbaa30892c9e12361164ec13979d43048118e4445db87bee58dd987b3425d02071d8dbae80708b039dbb64dbd1de5657d9fed0c118a54143742e0ff3c87f74e45857647af3f79eb0a14c9d75ea9a1a04b7cf478a897a708fd988f48e801edb0b7039df8c23bb3c56f4e821ac":"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b":"14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"b503319399277fd6c1c8f1033cbf04199ea21716":"8b2bdd4b40faf545c778ddf9bc1a49cb57f9b71b":"14ae35d9dd06ba92f7f3b897978aed7cd4bf5ff0b585a40bd46ce1b42cd2703053bb9044d64e813d8f96db2dd7007d10118f6f8f8496097ad75e1ff692341b2892ad55a633a1c55e7f0a0ad59a0e203a5b8278aec54dd8622e2831d87174f8caff43ee6c46445345d84a59659bfb92ecd4c818668695f34706f66828a89959637f2bf3e3251c24bdba4d4b7649da0022218b119c84e79a6527ec5b8a5f861c159952e23ec05e1e717346faefe8b1686825bd2b262fb2531066c0de09acde2e4231690728b5d85e115a2f6b92b79c25abc9bd9399ff8bcf825a52ea1f56ea76dd26f43baafa18bfa92a504cbd35699e26d1dcc5a2887385f3c63232f06f3244c3":0 RSASSA-PSS Signature Example 10_3 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"48b2b6a57a63c84cea859d65c668284b08d96bdcaabe252db0e4a96cb1bac6019341db6fbefb8d106b0e90eda6bcc6c6262f37e7ea9c7e5d226bd7df85ec5e71efff2f54c5db577ff729ff91b842491de2741d0c631607df586b905b23b91af13da12304bf83eca8a73e871ff9db":"4e96fc1b398f92b44671010c0dc3efd6e20c2d73":"6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"50aaede8536b2c307208b275a67ae2df196c7628":"4e96fc1b398f92b44671010c0dc3efd6e20c2d73":"6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_3 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"48b2b6a57a63c84cea859d65c668284b08d96bdcaabe252db0e4a96cb1bac6019341db6fbefb8d106b0e90eda6bcc6c6262f37e7ea9c7e5d226bd7df85ec5e71efff2f54c5db577ff729ff91b842491de2741d0c631607df586b905b23b91af13da12304bf83eca8a73e871ff9db":"4e96fc1b398f92b44671010c0dc3efd6e20c2d73":"6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"50aaede8536b2c307208b275a67ae2df196c7628":"4e96fc1b398f92b44671010c0dc3efd6e20c2d73":"6e3e4d7b6b15d2fb46013b8900aa5bbb3939cf2c095717987042026ee62c74c54cffd5d7d57efbbf950a0f5c574fa09d3fc1c9f513b05b4ff50dd8df7edfa20102854c35e592180119a70ce5b085182aa02d9ea2aa90d1df03f2daae885ba2f5d05afdac97476f06b93b5bc94a1a80aa9116c4d615f333b098892b25fface266f5db5a5a3bcc10a824ed55aad35b727834fb8c07da28fcf416a5d9b2224f1f8b442b36f91e456fdea2d7cfe3367268de0307a4c74e924159ed33393d5e0655531c77327b89821bdedf880161c78cd4196b5419f7acc3f13e5ebf161b6e7c6724716ca33b85c2e25640192ac2859651d50bde7eb976e51cec828b98b6563b86bb":0 RSASSA-PSS Signature Example 10_4 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0b8777c7f839baf0a64bbbdbc5ce79755c57a205b845c174e2d2e90546a089c4e6ec8adffa23a7ea97bae6b65d782b82db5d2b5a56d22a29a05e7c4433e2b82a621abba90add05ce393fc48a840542451a":"c7cd698d84b65128d8835e3a8b1eb0e01cb541ec":"34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"aa0b72b8b371ddd10c8ae474425ccccf8842a294":"c7cd698d84b65128d8835e3a8b1eb0e01cb541ec":"34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_4 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"0b8777c7f839baf0a64bbbdbc5ce79755c57a205b845c174e2d2e90546a089c4e6ec8adffa23a7ea97bae6b65d782b82db5d2b5a56d22a29a05e7c4433e2b82a621abba90add05ce393fc48a840542451a":"c7cd698d84b65128d8835e3a8b1eb0e01cb541ec":"34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"aa0b72b8b371ddd10c8ae474425ccccf8842a294":"c7cd698d84b65128d8835e3a8b1eb0e01cb541ec":"34047ff96c4dc0dc90b2d4ff59a1a361a4754b255d2ee0af7d8bf87c9bc9e7ddeede33934c63ca1c0e3d262cb145ef932a1f2c0a997aa6a34f8eaee7477d82ccf09095a6b8acad38d4eec9fb7eab7ad02da1d11d8e54c1825e55bf58c2a23234b902be124f9e9038a8f68fa45dab72f66e0945bf1d8bacc9044c6f07098c9fcec58a3aab100c805178155f030a124c450e5acbda47d0e4f10b80a23f803e774d023b0015c20b9f9bbe7c91296338d5ecb471cafb032007b67a60be5f69504a9f01abb3cb467b260e2bce860be8d95bf92c0c8e1496ed1e528593a4abb6df462dde8a0968dffe4683116857a232f5ebf6c85be238745ad0f38f767a5fdbf486fb":0 RSASSA-PSS Signature Example 10_5 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f1036e008e71e964dadc9219ed30e17f06b4b68a955c16b312b1eddf028b74976bed6b3f6a63d4e77859243c9cccdc98016523abb02483b35591c33aad81213bb7c7bb1a470aabc10d44256c4d4559d916":"efa8bff96212b2f4a3f371a10d574152655f5dfb":"7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"fad3902c9750622a2bc672622c48270cc57d3ea8":"efa8bff96212b2f4a3f371a10d574152655f5dfb":"7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_5 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"f1036e008e71e964dadc9219ed30e17f06b4b68a955c16b312b1eddf028b74976bed6b3f6a63d4e77859243c9cccdc98016523abb02483b35591c33aad81213bb7c7bb1a470aabc10d44256c4d4559d916":"efa8bff96212b2f4a3f371a10d574152655f5dfb":"7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"fad3902c9750622a2bc672622c48270cc57d3ea8":"efa8bff96212b2f4a3f371a10d574152655f5dfb":"7e0935ea18f4d6c1d17ce82eb2b3836c55b384589ce19dfe743363ac9948d1f346b7bfddfe92efd78adb21faefc89ade42b10f374003fe122e67429a1cb8cbd1f8d9014564c44d120116f4990f1a6e38774c194bd1b8213286b077b0499d2e7b3f434ab12289c556684deed78131934bb3dd6537236f7c6f3dcb09d476be07721e37e1ceed9b2f7b406887bd53157305e1c8b4f84d733bc1e186fe06cc59b6edb8f4bd7ffefdf4f7ba9cfb9d570689b5a1a4109a746a690893db3799255a0cb9215d2d1cd490590e952e8c8786aa0011265252470c041dfbc3eec7c3cbf71c24869d115c0cb4a956f56d530b80ab589acfefc690751ddf36e8d383f83cedd2cc":0 RSASSA-PSS Signature Example 10_6 -pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"ad8b1523703646224b660b550885917ca2d1df28":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"cfd50283feeeb97f6f08d73cbc7b3836f82bbcd499479f5e6f76fdfcb8b38c4f71dc9e88bd6a6f76371afd65d2af1862b32afb34a95f71b8b132043ffebe3a952baf7592448148c03f9c69b1d68e4ce5cf32c86baf46fed301ca1ab403069b32f456b91f71898ab081cd8c4252ef5271915c9794b8f295851da7510f99cb73eb":"cc4e90d2a1b3a065d3b2d1f5a8fce31b544475664eab561d2971b99fb7bef844e8ec1f360b8c2ac8359692971ea6a38f723fcc211f5dbcb177a0fdac5164a1d4ff7fbb4e829986353cb983659a148cdd420c7d31ba3822ea90a32be46c030e8c17e1fa0ad37859e06b0aa6fa3b216d9cbe6c0e22339769c0a615913e5da719cf":"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"122196deb5d122bd8c6fc781ff6924d7c695aade":"ad8b1523703646224b660b550885917ca2d1df28":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Signature Example 10_6 (verify) -pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"ad8b1523703646224b660b550885917ca2d1df28":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:"122196deb5d122bd8c6fc781ff6924d7c695aade":"ad8b1523703646224b660b550885917ca2d1df28":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0 RSASSA-PSS Signature verify options #1 (OK) -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:0 RSASSA-PSS Signature verify options #2 (ctx_hash none) -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_NONE:MBEDTLS_MD_SHA1:20:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_NONE:MBEDTLS_MD_SHA1:20:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:0 RSASSA-PSS Signature verify options #3 (ctx_hash diverging) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:20:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_ERR_RSA_INVALID_PADDING:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:20:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_ERR_RSA_INVALID_PADDING:0 RSASSA-PSS Signature verify options #4 (mgf1_hash diverging) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS Signature verify options #5 (wrong msg_hash) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_ERR_RSA_VERIFY_FAILED:MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:"6a38f6327be8fb5334639c621937dd95958cc3e07da6ba29dd6a7bbd94c1e4bc":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":MBEDTLS_ERR_RSA_VERIFY_FAILED:MBEDTLS_ERR_RSA_VERIFY_FAILED RSASSA-PSS Signature verify options #6 (wrong expected_salt_len) -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:21:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:21:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS Signature verify options #7 (wrong expected_salt_len) -pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:19:"25f10895a87716c137450bb9519dfaa1f207faa942ea88abf71e9c17980085b555aebab76264ae2a3ab93c2d12981191ddac6fb5949eb36aee3c5da940f00752c916d94608fa7d97ba6a2915b688f20323d4e9d96801d89a72ab5892dc2117c07434fcf972e058cf8c41ca4b4ff554f7d5068ad3155fced0f3125bc04f9193378a8f5c4c3b8cb4dd6d1cc69d30ecca6eaa51e36a05730e9e342e855baf099defb8afd7":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:2048:"a5dd867ac4cb02f90b9457d48c14a770ef991c56c39c0ec65fd11afa8937cea57b9be7ac73b45c0017615b82d622e318753b6027c0fd157be12f8090fee2a7adcd0eef759f88ba4997c7a42d58c9aa12cb99ae001fe521c13bb5431445a8d5ae4f5e4c7e948ac227d3604071f20e577e905fbeb15dfaf06d1de5ae6253d63a6a2120b31a5da5dabc9550600e20f27d3739e2627925fea3cc509f21dff04e6eea4549c540d6809ff9307eede91fff58733d8385a237d6d3705a33e391900992070df7adf1357cf7e3700ce3667de83f17b8df1778db381dce09cb4ad058a511001a738198ee27cf55a13b754539906582ec8b174bd58d5d1f3d767c613721ae05":"010001":MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:19:"122196deb5d122bd8c6fc781ff6924d7c695aade":"6d3b5b87f67ea657af21f75441977d2180f91b2c5f692de82955696a686730d9b9778d970758ccb26071c2209ffbd6125be2e96ea81b67cb9b9308239fda17f7b2b64ecda096b6b935640a5a1cb42a9155b1c9ef7a633a02c59f0d6ee59b852c43b35029e73c940ff0410e8f114eed46bbd0fae165e42be2528a401c3b28fd818ef3232dca9f4d2a0f5166ec59c42396d6c11dbc1215a56fa17169db9575343ef34f9de32a49cdc3174922f229c23e18e45df9353119ec4319cedce7a17c64088c1f6f52be29634100b3919d38f3d1ed94e6891e66a73b8fb849f5874df59459e298c7bbce2eee782a195aa66fe2d0732b25e595f57d3e061b1fc3e4063bf98f":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS Signature verify options #8 (non-default salt_len: max) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:94:"54657374206d657373616765":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:94:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":0:0 RSASSA-PSS Signature verify options #9 (non-default salt_len: 0) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"54657374206d657373616765":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:0 RSASSA-PSS Signature verify options #10 (non-default salt_len: 0, ANY) -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:"54657374206d657373616765":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:0 RSASSA-PSS Signature verify options #11 (MGF1 alg != MSG hash alg) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_NONE:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:0 RSASSA-PSS Signature verify options #12 (MGF1 alg != MSG hash alg, ctx wrong) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_NONE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":MBEDTLS_ERR_RSA_INVALID_PADDING:0 RSASSA-PSS Signature verify options #13 (MGF1 alg != MSG hash alg, arg wrong) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pkcs1_rsassa_pss_verify_ext:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":MBEDTLS_MD_NONE:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:MBEDTLS_RSA_SALT_LEN_ANY:"c0719e9a8d5d838d861dc6f675c899d2b309a3a65bb9fe6b11e5afcbf9a2c0b1":"7fc506d26ca3b22922a1ce39faaedd273161b82d9443c56f1a034f131ae4a18cae1474271cb4b66a17d9707ca58b0bdbd3c406b7e65bbcc9bbbce94dc45de807b4989b23b3e4db74ca29298137837eb90cc83d3219249bc7d480fceaf075203a86e54c4ecfa4e312e39f8f69d76534089a36ed9049ca9cfd5ab1db1fa75fe5c8":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS verify ext, 512-bit key, empty salt, good signature -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf246":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf246":0:0 RSASSA-PSS verify ext, 512-bit key, empty salt, bad signature -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf247":MBEDTLS_ERR_RSA_INVALID_PADDING:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf247":MBEDTLS_ERR_RSA_INVALID_PADDING:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS verify ext, 522-bit key, SHA-512, empty salt, good signature -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:522:"02d302753e3dda28f42f4d9f92c8647420ea6fbc97c10f8498b966a953f357698d6581060dfe32c8ab98db4bc5ce2acdf0c1e6e404a75a13282550c1aa37d3cdc8bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"":"016752ae0b5dfbade6bbd3dd37868d48c8d741f92dca41c360aeda553204c2212a117b1a3d77e0d3f48723503c46e16c8a64de00f1dee3e37e478417452630859486":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:522:"02d302753e3dda28f42f4d9f92c8647420ea6fbc97c10f8498b966a953f357698d6581060dfe32c8ab98db4bc5ce2acdf0c1e6e404a75a13282550c1aa37d3cdc8bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"016752ae0b5dfbade6bbd3dd37868d48c8d741f92dca41c360aeda553204c2212a117b1a3d77e0d3f48723503c46e16c8a64de00f1dee3e37e478417452630859486":0:0 RSASSA-PSS verify ext, 522-bit key, SHA-512, saltlen=64, good signature with saltlen=0 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:522:"02d302753e3dda28f42f4d9f92c8647420ea6fbc97c10f8498b966a953f357698d6581060dfe32c8ab98db4bc5ce2acdf0c1e6e404a75a13282550c1aa37d3cdc8bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:64:"":"016752ae0b5dfbade6bbd3dd37868d48c8d741f92dca41c360aeda553204c2212a117b1a3d77e0d3f48723503c46e16c8a64de00f1dee3e37e478417452630859486":0:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:522:"02d302753e3dda28f42f4d9f92c8647420ea6fbc97c10f8498b966a953f357698d6581060dfe32c8ab98db4bc5ce2acdf0c1e6e404a75a13282550c1aa37d3cdc8bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:64:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"016752ae0b5dfbade6bbd3dd37868d48c8d741f92dca41c360aeda553204c2212a117b1a3d77e0d3f48723503c46e16c8a64de00f1dee3e37e478417452630859486":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS verify ext, 528-bit key, SHA-512, empty salt, good signature -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:528:"00e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"":"a9ad7994ba3a1071124153486924448cc67a5af3a5d34e9261d53770782cc85f58e2edde5f7004652a645e3e9606530eb57de41df7298ae2be9dec69cc0d613ab629":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:528:"00e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"a9ad7994ba3a1071124153486924448cc67a5af3a5d34e9261d53770782cc85f58e2edde5f7004652a645e3e9606530eb57de41df7298ae2be9dec69cc0d613ab629":0:0 RSASSA-PSS verify ext, 528-bit key, SHA-512, saltlen=64, good signature with saltlen=0 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:528:"00e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:64:"":"a9ad7994ba3a1071124153486924448cc67a5af3a5d34e9261d53770782cc85f58e2edde5f7004652a645e3e9606530eb57de41df7298ae2be9dec69cc0d613ab629":0:MBEDTLS_ERR_RSA_INVALID_PADDING +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:528:"00e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:64:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"a9ad7994ba3a1071124153486924448cc67a5af3a5d34e9261d53770782cc85f58e2edde5f7004652a645e3e9606530eb57de41df7298ae2be9dec69cc0d613ab629":0:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS verify ext, 512-bit key, SHA-512 (hash too large) -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf246":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"ace8b03347da1b9a7a5e94a0d76359bb39c819bb170bef38ea84995ed653446c0ae87ede434cdf9d0cb2d7bf164cf427892363e6855a1d24d0ce5dd72acaf246":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS verify ext, 521-bit key, SHA-512, empty salt, bad signature -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"":"00471794655837da498cbf27242807b40593a353c707eb22fd2cc5a3259e728ac4f1df676043eeec8e16c1175b3d9ac8cae72ec1d5772dd69de71c5677f19031568e":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:0:"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e":"00471794655837da498cbf27242807b40593a353c707eb22fd2cc5a3259e728ac4f1df676043eeec8e16c1175b3d9ac8cae72ec1d5772dd69de71c5677f19031568e":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS verify ext, 521-bit key, SHA-256, empty salt, good signature -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"41":"009c4941157fa36288e467310b198ab0c615c40963d611ffeef03000549ded809235955ecc57adba44782e9497c004f480ba2b3d58db8335fe0b391075c02c843a6d":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd":"009c4941157fa36288e467310b198ab0c615c40963d611ffeef03000549ded809235955ecc57adba44782e9497c004f480ba2b3d58db8335fe0b391075c02c843a6d":0:0 RSASSA-PSS verify ext, 521-bit key, SHA-256, empty salt, flipped-highest-bit signature -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"41":"00e11a2403df681c44a1f73f014b6c9ad17847d0b673f7c2a801cee208d10ab5792c10cd0cd495a4b331aaa521409fca7cb1b0d978b3a84cd67e28078b98753e9466":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify_ext:521:"0131b69860f3cb9bf85ea358fdf2bd2990f1b77a80d6a4fdf817a43dd896bdf7dd26af8ac0237f526e0d33b105c971fdbd4ffa9ece99fc469f31ecf429e8f562c1c3":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:0:"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd":"00e11a2403df681c44a1f73f014b6c9ad17847d0b673f7c2a801cee208d10ab5792c10cd0cd495a4b331aaa521409fca7cb1b0d978b3a84cd67e28078b98753e9466":MBEDTLS_ERR_RSA_BAD_INPUT_DATA:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS verify ext, all-zero padding, automatic salt length -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pkcs1_rsassa_pss_verify_ext:512:"00b076d23250816f9aab02307e452b97f0cae7598369b41624e8afc7971a59a13892f64b07eaa6ec928c160b2d6ec8f9d0dd5b63c8b3ac0767b4f65c892f56c10f":"010001":MBEDTLS_MD_NONE:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:MBEDTLS_RSA_SALT_LEN_ANY:"":"63a35294577c7e593170378175b7df27c293dae583ec2a971426eb2d66f2af483e897bfae5dc20300a9d61a3644e08c3aee61a463690a3498901563c46041056":MBEDTLS_ERR_RSA_INVALID_PADDING:MBEDTLS_ERR_RSA_INVALID_PADDING RSASSA-PSS Signature RSA-1024, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1024:"00e8f95a716c127d5147dcc241a7c1fe8d5487b3e8b6e95e48a83334d21d00c79ad0a90e29941c0c53065b20059de95e9e406061416f7ac12edca1983b9ee28cc3":"00d72348b297e7e5dc4329f6ab874b17982584e0ab43174070a9be983c0f040320d6f893c40d2717cb3044380cb3230b7133621eb1c55a3ea56d0e7cee694b5df3":"00c3c9873548543591c1f947e412c33da56b9d1b94a58c2f410a8a620e9b4f1d9197643ebf527f5f62b202b9d67a32654d05f326a9b61e0106efdf4829673c4f3d23655996e2424059916ab47aa67e406c129679e5979ca46708866608ffa21f619843b959b4442e422598a2faab54a8cef1f131992677d2cf5bcaf2b5564f7419":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"655d1cf86a7af5113d1791ab7b6627845ea2aa7efbae82705a3563e5ba0337a1d033cb9283b38c042056e0a1d0529891173e3df6621dd8b184930caec8b3cbe4d1068524dab0ec6854f6638d86b77434cd792ddec0d02327a9eebffcd6911ffd32ad9bcb569d3237398c8169d9c62e7eea81c1b456fd36019aad1e4b268c604d":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"00e8f95a716c127d5147dcc241a7c1fe8d5487b3e8b6e95e48a83334d21d00c79ad0a90e29941c0c53065b20059de95e9e406061416f7ac12edca1983b9ee28cc3":"00d72348b297e7e5dc4329f6ab874b17982584e0ab43174070a9be983c0f040320d6f893c40d2717cb3044380cb3230b7133621eb1c55a3ea56d0e7cee694b5df3":"00c3c9873548543591c1f947e412c33da56b9d1b94a58c2f410a8a620e9b4f1d9197643ebf527f5f62b202b9d67a32654d05f326a9b61e0106efdf4829673c4f3d23655996e2424059916ab47aa67e406c129679e5979ca46708866608ffa21f619843b959b4442e422598a2faab54a8cef1f131992677d2cf5bcaf2b5564f7419":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"655d1cf86a7af5113d1791ab7b6627845ea2aa7efbae82705a3563e5ba0337a1d033cb9283b38c042056e0a1d0529891173e3df6621dd8b184930caec8b3cbe4d1068524dab0ec6854f6638d86b77434cd792ddec0d02327a9eebffcd6911ffd32ad9bcb569d3237398c8169d9c62e7eea81c1b456fd36019aad1e4b268c604d":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Verification RSA-1024, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify:1022:"00c3c9873548543591c1f947e412c33da56b9d1b94a58c2f410a8a620e9b4f1d9197643ebf527f5f62b202b9d67a32654d05f326a9b61e0106efdf4829673c4f3d23655996e2424059916ab47aa67e406c129679e5979ca46708866608ffa21f619843b959b4442e422598a2faab54a8cef1f131992677d2cf5bcaf2b5564f7419":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"655d1cf86a7af5113d1791ab7b6627845ea2aa7efbae82705a3563e5ba0337a1d033cb9283b38c042056e0a1d0529891173e3df6621dd8b184930caec8b3cbe4d1068524dab0ec6854f6638d86b77434cd792ddec0d02327a9eebffcd6911ffd32ad9bcb569d3237398c8169d9c62e7eea81c1b456fd36019aad1e4b268c604d":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1022:"00c3c9873548543591c1f947e412c33da56b9d1b94a58c2f410a8a620e9b4f1d9197643ebf527f5f62b202b9d67a32654d05f326a9b61e0106efdf4829673c4f3d23655996e2424059916ab47aa67e406c129679e5979ca46708866608ffa21f619843b959b4442e422598a2faab54a8cef1f131992677d2cf5bcaf2b5564f7419":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"655d1cf86a7af5113d1791ab7b6627845ea2aa7efbae82705a3563e5ba0337a1d033cb9283b38c042056e0a1d0529891173e3df6621dd8b184930caec8b3cbe4d1068524dab0ec6854f6638d86b77434cd792ddec0d02327a9eebffcd6911ffd32ad9bcb569d3237398c8169d9c62e7eea81c1b456fd36019aad1e4b268c604d":0 RSASSA-PSS Signature RSA-1032, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1032:"0dfaedb709ada2105223e5e7764a5f31d07ae7a37bdc7b4a56c2499e1173147bcdcb165b8fb01a2528190cb6874656a936491898fca330db8af5a9ed5417268ed7":"0c339c56797a90c641292560d0ef675f71ac2c99fcaba6260c38e4f167dfd179eb7a9e255f9bdbc549e4181f9a2a19b1f30a80b292d5ef1ad75b9e658eaa6fb0bb":"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13ad40169494129b907f061d885fbe50ab654fc7b4be657ff8629d7ca291838159e9a7b7adc93560dda2bb9127966eb8d57377fb19d5b043dca67a07ba3c23069b391ddd921b507a8cca2d5eb7ccc84b90089092ca88530e074e629c3cb6902b2d0475000269a28c4cd89cec0dca66571fa7fbe4976373abe905cbe4c66c8d5fbb":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1032:"0dfaedb709ada2105223e5e7764a5f31d07ae7a37bdc7b4a56c2499e1173147bcdcb165b8fb01a2528190cb6874656a936491898fca330db8af5a9ed5417268ed7":"0c339c56797a90c641292560d0ef675f71ac2c99fcaba6260c38e4f167dfd179eb7a9e255f9bdbc549e4181f9a2a19b1f30a80b292d5ef1ad75b9e658eaa6fb0bb":"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13ad40169494129b907f061d885fbe50ab654fc7b4be657ff8629d7ca291838159e9a7b7adc93560dda2bb9127966eb8d57377fb19d5b043dca67a07ba3c23069b391ddd921b507a8cca2d5eb7ccc84b90089092ca88530e074e629c3cb6902b2d0475000269a28c4cd89cec0dca66571fa7fbe4976373abe905cbe4c66c8d5fbb":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Verification RSA-1032, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify:1032:"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13ad40169494129b907f061d885fbe50ab654fc7b4be657ff8629d7ca291838159e9a7b7adc93560dda2bb9127966eb8d57377fb19d5b043dca67a07ba3c23069b391ddd921b507a8cca2d5eb7ccc84b90089092ca88530e074e629c3cb6902b2d0475000269a28c4cd89cec0dca66571fa7fbe4976373abe905cbe4c66c8d5fbb":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1032:"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13ad40169494129b907f061d885fbe50ab654fc7b4be657ff8629d7ca291838159e9a7b7adc93560dda2bb9127966eb8d57377fb19d5b043dca67a07ba3c23069b391ddd921b507a8cca2d5eb7ccc84b90089092ca88530e074e629c3cb6902b2d0475000269a28c4cd89cec0dca66571fa7fbe4976373abe905cbe4c66c8d5fbb":0 RSASSA-PSS Verification of OpenSSL-generated signature RSA-1032, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify:1032:"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"1de40b1c452691dfd8ceb42ecf5f0cbda944d871141b4407c1e30a6657c58c2e496b2a3ad10e025d45ca9606d25602ac1de04af8e0d24aa06e57ec3fea5c961ecf1e0a4e442fda0cdaba42469288cde5d7d0c223facceaf4c7caabe93505acd5664c9b4fae64272af4d5b74326a01724a25fabdb10b177821d2273650a84426dbd":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1032:"00aa94ab91b4c26be257e469528228c4b0b6b4c99e73a84a272b3101892c07406911372b83ec4a7b8191f0ba4b4cb4cb3b732074e96c668297e1323b8ad0822a7e151182def03871a66a47b704b92845c6194142d4eeda19903e04043581f7a835dc288117863d21944c3aeded518458f1a30a41c7638aa4e098a88fdf2c2097270d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"1de40b1c452691dfd8ceb42ecf5f0cbda944d871141b4407c1e30a6657c58c2e496b2a3ad10e025d45ca9606d25602ac1de04af8e0d24aa06e57ec3fea5c961ecf1e0a4e442fda0cdaba42469288cde5d7d0c223facceaf4c7caabe93505acd5664c9b4fae64272af4d5b74326a01724a25fabdb10b177821d2273650a84426dbd":0 RSASSA-PSS Signature RSA-1040, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1040:"00fc7f4b490b4d3ef729db23fb5afbb5f2fc620a472342d8b8ff310cfdc124be76dc22ab6f4be35a38ddd31f24d7f64d310f67ab3a375e83f4e0559e4cb5dc43e875":"00d51e8680ab71dc01e1a8a68a298636bb1658cfab8d73ce528a62697722d485ab90cdafc5e27768b761839ff93420458ae55f15a69465dbc0c7b524dc9a385ff925":"00d2340538231dcd5a61edf83ab94b2e4b3a784394c4ed35a424c050c294157b7625f9aca8258c21e2d0a7aa9b7c9db576404e63090dba50d998f9a3ec72b1a5cf28d83251ab93341c7d2c1a90403d70f67bc1a9e413bc62facccb52441e24c3f2bc9fdeca1a783012e70b9528176260580c4e1026c58209e8dcc4de3bf3f5be5565e9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13e695948d59ded5a975cd9fb14bffc48e4ff9725576a96a6693da1a3c4c90d17d6811a97a633180d76dba5b957d2244e3b97e7bf3463a77d0b6c39b28a88e0b6739113726cd74937ad5f693ae5a8fd77febc270a115df05c344ddffebc2438ae67a5eea6572f434881bdf350aed4ec8f3a530d279d3fff07bb78e510807114e6ee7":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1040:"00fc7f4b490b4d3ef729db23fb5afbb5f2fc620a472342d8b8ff310cfdc124be76dc22ab6f4be35a38ddd31f24d7f64d310f67ab3a375e83f4e0559e4cb5dc43e875":"00d51e8680ab71dc01e1a8a68a298636bb1658cfab8d73ce528a62697722d485ab90cdafc5e27768b761839ff93420458ae55f15a69465dbc0c7b524dc9a385ff925":"00d2340538231dcd5a61edf83ab94b2e4b3a784394c4ed35a424c050c294157b7625f9aca8258c21e2d0a7aa9b7c9db576404e63090dba50d998f9a3ec72b1a5cf28d83251ab93341c7d2c1a90403d70f67bc1a9e413bc62facccb52441e24c3f2bc9fdeca1a783012e70b9528176260580c4e1026c58209e8dcc4de3bf3f5be5565e9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13e695948d59ded5a975cd9fb14bffc48e4ff9725576a96a6693da1a3c4c90d17d6811a97a633180d76dba5b957d2244e3b97e7bf3463a77d0b6c39b28a88e0b6739113726cd74937ad5f693ae5a8fd77febc270a115df05c344ddffebc2438ae67a5eea6572f434881bdf350aed4ec8f3a530d279d3fff07bb78e510807114e6ee7":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Verification RSA-1040, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify:1040:"00d2340538231dcd5a61edf83ab94b2e4b3a784394c4ed35a424c050c294157b7625f9aca8258c21e2d0a7aa9b7c9db576404e63090dba50d998f9a3ec72b1a5cf28d83251ab93341c7d2c1a90403d70f67bc1a9e413bc62facccb52441e24c3f2bc9fdeca1a783012e70b9528176260580c4e1026c58209e8dcc4de3bf3f5be5565e9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13e695948d59ded5a975cd9fb14bffc48e4ff9725576a96a6693da1a3c4c90d17d6811a97a633180d76dba5b957d2244e3b97e7bf3463a77d0b6c39b28a88e0b6739113726cd74937ad5f693ae5a8fd77febc270a115df05c344ddffebc2438ae67a5eea6572f434881bdf350aed4ec8f3a530d279d3fff07bb78e510807114e6ee7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1040:"00d2340538231dcd5a61edf83ab94b2e4b3a784394c4ed35a424c050c294157b7625f9aca8258c21e2d0a7aa9b7c9db576404e63090dba50d998f9a3ec72b1a5cf28d83251ab93341c7d2c1a90403d70f67bc1a9e413bc62facccb52441e24c3f2bc9fdeca1a783012e70b9528176260580c4e1026c58209e8dcc4de3bf3f5be5565e9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"13e695948d59ded5a975cd9fb14bffc48e4ff9725576a96a6693da1a3c4c90d17d6811a97a633180d76dba5b957d2244e3b97e7bf3463a77d0b6c39b28a88e0b6739113726cd74937ad5f693ae5a8fd77febc270a115df05c344ddffebc2438ae67a5eea6572f434881bdf350aed4ec8f3a530d279d3fff07bb78e510807114e6ee7":0 RSASSA-PSS Signature RSA-1048, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1048:"0f39b79809516becc2e3481b6b47584aa2299bd2027ab8a303b9de5b0adcb4a5d38e38edb8c1fac3ea1dbd7e1d50b84323e362cff4df3f5a5182dafa9bb9217a73d7":"0d18164f8bd0d58d019998c8cb17c4c0354e62b8a9462acca30816894f982c2ae114e73993e30698930437b4eec44adec24d32ccbcbae7cc4c9f8911b1eb2100685b":"00c75d0f9fa17d1d24b939537a434017f390c6604444c35a13360d6b1fc986baf40159b84275d37b883278df5064dd9eb0f29b0d325acc790c4b59672737dbbf3acb88f5e2f2d54c919cafd072272c494591d52e158993315e71e2ca60b1c74feff8f3d77842b415d4e71734a498206a5cd9315c87b23e583e25eb4ca97056b45c96856d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"9442a8ec48f87ebc81cc1273b03e528e7643c9e2fcc60ed85827d9341c5a36e5c76059baa8e9891df437e44c4047a266b46bcaaad3de1f1d4d3576defff080b791b013491636187fc45a930b70a533ed92abfd168f050df91b4c35d68d160a243ce589807a7d32661fc18b9547cdc0fd86d33acd349c98b34fb016ddd1bff23c58170e":MBEDTLS_RSA_SALT_LEN_ANY:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1048:"0f39b79809516becc2e3481b6b47584aa2299bd2027ab8a303b9de5b0adcb4a5d38e38edb8c1fac3ea1dbd7e1d50b84323e362cff4df3f5a5182dafa9bb9217a73d7":"0d18164f8bd0d58d019998c8cb17c4c0354e62b8a9462acca30816894f982c2ae114e73993e30698930437b4eec44adec24d32ccbcbae7cc4c9f8911b1eb2100685b":"00c75d0f9fa17d1d24b939537a434017f390c6604444c35a13360d6b1fc986baf40159b84275d37b883278df5064dd9eb0f29b0d325acc790c4b59672737dbbf3acb88f5e2f2d54c919cafd072272c494591d52e158993315e71e2ca60b1c74feff8f3d77842b415d4e71734a498206a5cd9315c87b23e583e25eb4ca97056b45c96856d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"9442a8ec48f87ebc81cc1273b03e528e7643c9e2fcc60ed85827d9341c5a36e5c76059baa8e9891df437e44c4047a266b46bcaaad3de1f1d4d3576defff080b791b013491636187fc45a930b70a533ed92abfd168f050df91b4c35d68d160a243ce589807a7d32661fc18b9547cdc0fd86d33acd349c98b34fb016ddd1bff23c58170e":MBEDTLS_RSA_SALT_LEN_ANY:0 RSASSA-PSS Verification RSA-1048, SHA-512 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_verify:1048:"00c75d0f9fa17d1d24b939537a434017f390c6604444c35a13360d6b1fc986baf40159b84275d37b883278df5064dd9eb0f29b0d325acc790c4b59672737dbbf3acb88f5e2f2d54c919cafd072272c494591d52e158993315e71e2ca60b1c74feff8f3d77842b415d4e71734a498206a5cd9315c87b23e583e25eb4ca97056b45c96856d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e35c6ed98f64a6d5a648fcab8adb16331db32e5d15c74a40edf94c3dc4a4de792d190889f20f1e24ed12054a6b28798fcb42d1c548769b734c96373142092aed277603f4738df4dc1446586d0ec64da4fb60536db2ae17fc7e3c04bbfbbbd907bf117c08636fa16f95f51a6216934d3e34f85030f17bbbc5ba69144058aff081e0b19cf03c17195c5e888ba58f6fe0a02e5c3bda9719a7":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"9442a8ec48f87ebc81cc1273b03e528e7643c9e2fcc60ed85827d9341c5a36e5c76059baa8e9891df437e44c4047a266b46bcaaad3de1f1d4d3576defff080b791b013491636187fc45a930b70a533ed92abfd168f050df91b4c35d68d160a243ce589807a7d32661fc18b9547cdc0fd86d33acd349c98b34fb016ddd1bff23c58170e":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_verify:1048:"00c75d0f9fa17d1d24b939537a434017f390c6604444c35a13360d6b1fc986baf40159b84275d37b883278df5064dd9eb0f29b0d325acc790c4b59672737dbbf3acb88f5e2f2d54c919cafd072272c494591d52e158993315e71e2ca60b1c74feff8f3d77842b415d4e71734a498206a5cd9315c87b23e583e25eb4ca97056b45c96856d":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"353cef1c3aa58b0acc2f53c3aa01bf7d77a65ed9407df668fc29155b11845a72e987e3897cb902c7a4a0267038c1f16bef5df67da50f66a4993ceb4b7234f769":"653df9730e14e03f2ffb3374d6b75295aa4a52c38540b2d501adc1eb659a4d7a050769a3d11d0d5d6f3efb734200ade241fdc271c0f5eeed85b4bf00b2327bc8":"9442a8ec48f87ebc81cc1273b03e528e7643c9e2fcc60ed85827d9341c5a36e5c76059baa8e9891df437e44c4047a266b46bcaaad3de1f1d4d3576defff080b791b013491636187fc45a930b70a533ed92abfd168f050df91b4c35d68d160a243ce589807a7d32661fc18b9547cdc0fd86d33acd349c98b34fb016ddd1bff23c58170e":0 RSASSA-PSS Signature RSA-1024, SHA-224, Salt Length 20 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"53d859c9f10abf1c00284a4b55bf2bd84d8e313b4f3c35b8dec7bc3afe39b9b8a155418ead1931895769ce2340be2091f2385bbcf10d9e92bcf5d0e2960d10e792e7d865c64e50d19ffa13e52817d7d8d8db34392c2374a2e9b69184f92a4ad9b1b8bae99ca614d204b65a438e38dbbfc8c7cc44ed5677af70ce6c4f951f0244":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"1698b7da13806451366b9658e44e2c7dc15dc96c588c720c4d5f454c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"53d859c9f10abf1c00284a4b55bf2bd84d8e313b4f3c35b8dec7bc3afe39b9b8a155418ead1931895769ce2340be2091f2385bbcf10d9e92bcf5d0e2960d10e792e7d865c64e50d19ffa13e52817d7d8d8db34392c2374a2e9b69184f92a4ad9b1b8bae99ca614d204b65a438e38dbbfc8c7cc44ed5677af70ce6c4f951f0244":20:0 RSASSA-PSS Signature RSA-1024, SHA-256, Salt Length 20 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7b1d37278e549898d4084e2210c4a9961edfe7b5963550cca1904248c8681513539017820f0e9bd074b9f8a067b9fefff7f1fa20bf2d0c75015ff020b2210cc7f79034fedf68e8d44a007abf4dd82c26e8b00393723aea15abfbc22941c8cf79481718c008da713fb8f54cb3fca890bde1137314334b9b0a18515bfa48e5ccd0":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"0c37233c694cc81c4ca1027009269b64e9e32288e3522a2cd76da6613d8c5cd7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7b1d37278e549898d4084e2210c4a9961edfe7b5963550cca1904248c8681513539017820f0e9bd074b9f8a067b9fefff7f1fa20bf2d0c75015ff020b2210cc7f79034fedf68e8d44a007abf4dd82c26e8b00393723aea15abfbc22941c8cf79481718c008da713fb8f54cb3fca890bde1137314334b9b0a18515bfa48e5ccd0":20:0 RSASSA-PSS Signature RSA-1024, SHA-384, Salt Length 20 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"8f16c807bef3ed6f74ee7ff5c360a5428c6c2f105178b58ff7d073e566dad6e7718d3129c768cd5a9666de2b6c947177b45709dc7cd0f43b0ba6fc75578e1196acc15ca3afe4a78c144cb6885c1cc815f7f98925bc04ad2ff20fc1068b045d9450e2a1dcf5a161ceabba2b0b66c7354fdb80fa1d729e5f976387f24a697a7e56":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"8e75cb3239b2b4ebf15bf74e8017340305c99d2fc1a97384257bf91cae15d57c80d7f78a487c3e16a5d1cf894da90fcb":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"8f16c807bef3ed6f74ee7ff5c360a5428c6c2f105178b58ff7d073e566dad6e7718d3129c768cd5a9666de2b6c947177b45709dc7cd0f43b0ba6fc75578e1196acc15ca3afe4a78c144cb6885c1cc815f7f98925bc04ad2ff20fc1068b045d9450e2a1dcf5a161ceabba2b0b66c7354fdb80fa1d729e5f976387f24a697a7e56":20:0 RSASSA-PSS Signature RSA-1024, SHA-512, Salt Length 20 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"a833ba31634f8773e4fe6ea0c69e1a23766a939d34b32fc78b774b22e46a646c25e6e1062d234ed48b1aba0f830529ff6afc296cc8dc207bbc15391623beac5f6c3db557ca49d0e42c962de95b5ff548cff970f5c73f439cfe82d3907be60240f56b6a4259cc96dfd8fe02a0bfa26e0223f68214428fff0ae40162198cc5cbd1":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"c3366c552451274a4042e4357447786cce3a25a8dbd8cf3c2f8a8ddc02161bda332bb45062f7c61b7aa7a88ed3b5d51b6103abcf1769642b11ab95f92fa39adf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"a833ba31634f8773e4fe6ea0c69e1a23766a939d34b32fc78b774b22e46a646c25e6e1062d234ed48b1aba0f830529ff6afc296cc8dc207bbc15391623beac5f6c3db557ca49d0e42c962de95b5ff548cff970f5c73f439cfe82d3907be60240f56b6a4259cc96dfd8fe02a0bfa26e0223f68214428fff0ae40162198cc5cbd1":20:0 RSASSA-PSS Signature RSA-1536, SHA-224, Salt Length 20 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"11d9e77da9c83487f7de32110fb0ae0058d86f53e2f6244af9f59acefa90320d6514936534679c836b499cccf1dac6fb9e5cdf0c953b3a5ad44ae60409502694a7c321e33ad3db37f8ab64af98f350e1679966c198d19dc5db5a44463203802a006ffbc06315dbebc48af183ad0333f8da166d3892c033d338ac1a5d1db22815":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"1d85cec0da1a74825ab796480c6e1235808387106ac1411d68f313246c65040111d74a9a45ebae10ac7686fddf4a340c4f9d24685d708bbf7b0ab4563794f5f90e0405b5d7d56c998e996b8bde2b022ae45fecf29a21836fcf362042e77e13cbf67b8a4da3f1e378dfcab2143aa8b9a145c2ee7d593e31626baa47fe623a3c3f859bb63e9336e11c5ff398a6597623318e098230b09e553ba0a4257692a0bc0a1ce1c17b2d541b52d134627229c141d351c16f1bdfe33384a9e163ecaa13e2fa":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"5c69f2cc59e63b6f9ee0c954d2b7db7e4d63b7e2347f8791f1353d31":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"1d85cec0da1a74825ab796480c6e1235808387106ac1411d68f313246c65040111d74a9a45ebae10ac7686fddf4a340c4f9d24685d708bbf7b0ab4563794f5f90e0405b5d7d56c998e996b8bde2b022ae45fecf29a21836fcf362042e77e13cbf67b8a4da3f1e378dfcab2143aa8b9a145c2ee7d593e31626baa47fe623a3c3f859bb63e9336e11c5ff398a6597623318e098230b09e553ba0a4257692a0bc0a1ce1c17b2d541b52d134627229c141d351c16f1bdfe33384a9e163ecaa13e2fa":20:0 RSASSA-PSS Signature RSA-1536, SHA-256, Salt Length 20 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"b1e973f21303aa0011d416642cecd45511549b45bd22f910e44bdf7a94b960d8169db60d150786b801b465acb6269aa159fa2529837701e5a263a7f89c1ad3bcb5e18ab4b2775cc23eede79a8eb89c774105c60d8a4cc7be9028a5101566c65f565bf8cf337bb5859028a417fbc862408f1a83d918cad4047843e3ab49c4c229":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"8eb2ba2367b8f0b36b566c938b4d9948b4a0a87dd1c8300a160ec024ad0fa37174d1bba2ae6ee8c7fdbb4d172ac9615f1428599030a33515e2925a268b87c867242ccddcce6c9c03045eccbfee5eeb6e0ce2d89a9c51f40c1732927a6c7d283627dd87eca27270b117e658a3cc9d2ca7da46a76097213a7f3e2a58d7c9d306e796eee94809042bc6768d6cca4e003a40529bffa267914a232f315ddedd2768c60877bdcb05c8f2026179713084a0daf8b494959c347fb65a4414034d21c7a750":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"f19c43966938402a6e5145088e65ea888f3792373983d359a7e864864bc25e3c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"8eb2ba2367b8f0b36b566c938b4d9948b4a0a87dd1c8300a160ec024ad0fa37174d1bba2ae6ee8c7fdbb4d172ac9615f1428599030a33515e2925a268b87c867242ccddcce6c9c03045eccbfee5eeb6e0ce2d89a9c51f40c1732927a6c7d283627dd87eca27270b117e658a3cc9d2ca7da46a76097213a7f3e2a58d7c9d306e796eee94809042bc6768d6cca4e003a40529bffa267914a232f315ddedd2768c60877bdcb05c8f2026179713084a0daf8b494959c347fb65a4414034d21c7a750":20:0 RSASSA-PSS Signature RSA-1536, SHA-384, Salt Length 20 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"b1e973f21303aa0011d416642cecd45511549b45bd22f910e44bdf7a94b960d8169db60d150786b801b465acb6269aa159fa2529837701e5a263a7f89c1ad3bcb5e18ab4b2775cc23eede79a8eb89c774105c60d8a4cc7be9028a5101566c65f565bf8cf337bb5859028a417fbc862408f1a83d918cad4047843e3ab49c4c229":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"9fa4e64bab336017e19015ee7ea1e267bf426633fb2ac5f4d65bc754aba17f7a9f0f1ee2bf0a3b9f2dd354ed8eba596f5ca3e26495ef268658bd247474d3524b11a2953f591f8abb14ef4bcd44dadc36a41f9daef1bf88b7e441160278c8a39945524557b84ce5cdcb79eecbad63658e8470d8dc94b44aad1f04b05400ea04e5f959dd18f6f718311f6dfec98a7e1aaa7ba11771f61448b12d7901a2530e830dccc531fd0dbe222215b3f7b9dafa5fc20d5af15ab312b621d71b2106150a801b":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"1412b9f046aeba0a7c63e744a4f30a3656d41300726e66d8825a1043f08285b7e6e250efcc9a0405c6da019d042a7e14":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"9fa4e64bab336017e19015ee7ea1e267bf426633fb2ac5f4d65bc754aba17f7a9f0f1ee2bf0a3b9f2dd354ed8eba596f5ca3e26495ef268658bd247474d3524b11a2953f591f8abb14ef4bcd44dadc36a41f9daef1bf88b7e441160278c8a39945524557b84ce5cdcb79eecbad63658e8470d8dc94b44aad1f04b05400ea04e5f959dd18f6f718311f6dfec98a7e1aaa7ba11771f61448b12d7901a2530e830dccc531fd0dbe222215b3f7b9dafa5fc20d5af15ab312b621d71b2106150a801b":20:0 RSASSA-PSS Signature RSA-1536, SHA-512, Salt Length 20 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"7224091b8f68b00d49d2ef1bfc5ca7352e852aee73a346768f7b80c8db0f9d24eab767c06b73adbb51808c523229ed56ede04fdd908dc73979264426bb801847c365b4d43be6b38d2ef21bf26d28dfb532eaa87004b3d494daaabfa18377429d45557abfc568cb6b265224637501843b45cabd0d96bc786ffc2e79a2fd9b240c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"32e688063ea24ccb2ca998fb7091877c103ce6576b11a175bc896af454042a5731b91c1c58b4d8e38f0619f6ddc8ced6b5397545f9571a4c90767593d11c00b75eb58a0ae4932265f0ab1790be2c83dff65357a301b3b3e2ee2e3683afe0b4b35ee8b6e58a96b4009c98d8faba75f86ffb548f0501884f3528d8eabad353e28d0132c4c01fa3af5dec922f02eff22020481615e4cd35b9eccfd711cb3b0d65af95c0637d79aaa2433f2854de3560adb284248bac8cbd4717317011a5159c93ed":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1536:"d3bde85f8718388de38c7e157c7200366224fd446ab590fb31dfd8135d3c561426b9966c164912bf0cd6537e877d59bb21fa3d3c5a6115ce971018db6be1033f14a4bb5849ccb070eb83838394e9d0851f3a33c43f48935a01c31c6fea72a6dd":"c342842ed13979fe948de3d31c21e5d4407db5f08524a1d04221500901e44b95274cbb84d80575ef1514332e27b0244a4154a8b561125439772a3d2fc9db73f19679cb92f9c5b5388154b0180aa339ff0bbec819da8a84d2bb617542cf097a8d":"a180ac4b5186df0b7b1cb7a95746a5af411efa16d1aed12468de15b747a0ff32c215dd08a99287b7788e91542d9059940e4b610f741cb9c7a86b4aa0b45a7b38450b6ea25070f98e70bb7833aecd1834a8e591bea207ec55d403c76213bd9f700ce25adb265ad383c443ed7a87a57d7e5c6495c32f51ae0cc8784352cfc56f2029cdd323393a153193f41f0408cdcd5b344d20942413bd97c3b0c04ab584f685b0e796ce9b5a0cf64441f00ee7586c62fe8442d522f7c6e3f314f84d557039b9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"9a89e38ce0fe8b008f58c3c07621fcf18e76ca5d304f17fbb52d82d8368425ec305e20b70b839fcad3511a194e99e907e3f0e2a801c0b9cd4497c4a0bdf1ea49":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"32e688063ea24ccb2ca998fb7091877c103ce6576b11a175bc896af454042a5731b91c1c58b4d8e38f0619f6ddc8ced6b5397545f9571a4c90767593d11c00b75eb58a0ae4932265f0ab1790be2c83dff65357a301b3b3e2ee2e3683afe0b4b35ee8b6e58a96b4009c98d8faba75f86ffb548f0501884f3528d8eabad353e28d0132c4c01fa3af5dec922f02eff22020481615e4cd35b9eccfd711cb3b0d65af95c0637d79aaa2433f2854de3560adb284248bac8cbd4717317011a5159c93ed":20:0 RSASSA-PSS Signature RSA-2048, SHA-224, Salt Length 20 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"e2b81456c355c3f80a363a85cbf245e85a5ff2435e5548d627b5362242aaca4e4a2fa4c900d2a9319eb7fc7469df2a3586aaa4710e9b7362655c27a3c70210962391b1032dc37201af05951a1fc36baa77e5c888419ab4e8f1546380781468ea16e7254a70b08630e229efc016257210d61846d11ed8743276a5d4017e683813":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"cd1fe0acb89969ae139c178bfef1cc982993521b3a020ec847c89c0cc6c869d970f43f018d495b9e991457e7501a344c33c376fd2efcf05ad6eb2bd0b3c0e7cc3c88a4124398ca16585490a0817a36149cc82cdc01b20e9026261215dd06f9db4e13613c6a569c2187a0e00bc63c281149433ac7f061bd218e79f8eca9dd9c93ebc3cc013bf27aa0bf286e124593e76d3c7012f97ae1d0c4bf5823cf17fe76d505a54cef174add58ae616f47de825049e9916bf2ab7de4d443745763b0c314cfae3a6e57ad475cc5fae47cddcad7b526c2154a15f9ee8eab02f4c36f7a41d7a19b23c5996b627270ceb2c0dbed1a6b6dd2ff94868e073cb7b1a1fa3429e487ae":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"b777a83dd25a4fa36a5ea663aa16403c67368e4711e8c121b01f83ac":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"cd1fe0acb89969ae139c178bfef1cc982993521b3a020ec847c89c0cc6c869d970f43f018d495b9e991457e7501a344c33c376fd2efcf05ad6eb2bd0b3c0e7cc3c88a4124398ca16585490a0817a36149cc82cdc01b20e9026261215dd06f9db4e13613c6a569c2187a0e00bc63c281149433ac7f061bd218e79f8eca9dd9c93ebc3cc013bf27aa0bf286e124593e76d3c7012f97ae1d0c4bf5823cf17fe76d505a54cef174add58ae616f47de825049e9916bf2ab7de4d443745763b0c314cfae3a6e57ad475cc5fae47cddcad7b526c2154a15f9ee8eab02f4c36f7a41d7a19b23c5996b627270ceb2c0dbed1a6b6dd2ff94868e073cb7b1a1fa3429e487ae":20:0 RSASSA-PSS Signature RSA-2048, SHA-256, Salt Length 20 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"cd74ae6152d5fe5ce3d9073c921e861a24208f0c68477f49c825338e1ef877c0c977c1d2ffcb20e964db6fbedcccce449ec8538c8bfffce5bdece84762dac7f2cba69052c0c67226178a0ce185a2e050b3e1057e94411dd5f726878558e7d62afc8a81a93dcfdb5a2271466d32a8a4868af20fab2e13ca609d5a7710a8278aaf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"6375755eff8d48afb3263b3b96988a2afd181ba061793ea009783bb1599d03944d987620a2668ac9714d6f2a21f7e5200d63923f42cb32e63301c8de58c70a203910640da967d03f4f6292f6cb199759822790c0c5bcfb1d4faa59465c3db2ea1fffd5e543335632b74745bf1e18473c0a8b4a89def6b27edf0d7d735ee13f887041c9d8a91e62186a9a1e0b1afb48e577f6887ca61b7c1bb26b4a8e2cc464a9af03444b3da5bed08b73f1262bd3d61f4c78f49fac6a3bfc9e8548b4bbe64cce6a6090fc480efd1f36c18c10bc09be9d957a79f707a10577a1bf6e9e2d4849693fa58d8877c8f1e55181955d6c2b94b1d6d9401b5fb80cc32b358934fec2aedb":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"b416e0843040b35277be7734bc23ac9e9eb47a7f57f55e94d826285c9c00100a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"6375755eff8d48afb3263b3b96988a2afd181ba061793ea009783bb1599d03944d987620a2668ac9714d6f2a21f7e5200d63923f42cb32e63301c8de58c70a203910640da967d03f4f6292f6cb199759822790c0c5bcfb1d4faa59465c3db2ea1fffd5e543335632b74745bf1e18473c0a8b4a89def6b27edf0d7d735ee13f887041c9d8a91e62186a9a1e0b1afb48e577f6887ca61b7c1bb26b4a8e2cc464a9af03444b3da5bed08b73f1262bd3d61f4c78f49fac6a3bfc9e8548b4bbe64cce6a6090fc480efd1f36c18c10bc09be9d957a79f707a10577a1bf6e9e2d4849693fa58d8877c8f1e55181955d6c2b94b1d6d9401b5fb80cc32b358934fec2aedb":20:0 RSASSA-PSS Signature RSA-2048, SHA-384, Salt Length 20 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"4d41e81fe7729b79c1703ef84bfc5e842050213c31b188b02044f151ea22e026c9aefec05927626ff97910b67459bffde190e086c797dba285659c25f1854e17406b66ac2608e4763d9cd5daabcc1dc100f4738f5dbead59dbf43e532a92fd87792028cd963ea8f75781964c387dff384523e4413b4e853dea98e0c2dd7274df":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"b43d87deefa7df127a717f4065f831c58cd84bf78c916ba52ed32769abd541df52233b8583507c539b1d51e0437ab1a41e17fc1599b92aabdb5b040dc79027c60c9cc3ed3de36aeea28f20360635be5bf654d6c1b7fe6da77d0c45b9ea2802ad22eba182cbed95d33da7f78ac844f4891cebc0396caa2f8daaf55254fdafe98b5fe6c4dd3967d23ea99497060820e108e818cd0aa94e65770bde892c62233b96d87fe545162d6ba077f110274bddacb2a7cbf17d437bfe004b34c3ea24fb46e5ed9cce4de96b0694efd73832ec76e19e5a25c49c5843393ce6b919ea35e4d264e0a0855f518a63c008c183798ca612cd8f75688a09210413e0a23cafcf2d4158":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"41f2bf25c2544062c78b59886eea442c884e4b9bb87f643abcb4d5c1c661a0fb0dd592107f6173438c34f67ec9f6c97a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"b43d87deefa7df127a717f4065f831c58cd84bf78c916ba52ed32769abd541df52233b8583507c539b1d51e0437ab1a41e17fc1599b92aabdb5b040dc79027c60c9cc3ed3de36aeea28f20360635be5bf654d6c1b7fe6da77d0c45b9ea2802ad22eba182cbed95d33da7f78ac844f4891cebc0396caa2f8daaf55254fdafe98b5fe6c4dd3967d23ea99497060820e108e818cd0aa94e65770bde892c62233b96d87fe545162d6ba077f110274bddacb2a7cbf17d437bfe004b34c3ea24fb46e5ed9cce4de96b0694efd73832ec76e19e5a25c49c5843393ce6b919ea35e4d264e0a0855f518a63c008c183798ca612cd8f75688a09210413e0a23cafcf2d4158":20:0 RSASSA-PSS Signature RSA-2048, SHA-512, Salt Length 20 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"252433d4b72a33e1aa444aa9680454e9cdab208637ec2173dcf366d561a6cc65a82b7316e9aa6ef90454bf5d15a4823a49e468d0f1f4678bd547b02acb2ee22088597d3ab59a998346edd86507b6991077496e20daafd1798aa812768eec94446db6398844831b4817177d0865c20133ffe11bbd1aa7c507a21e7403d1684b98":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"2cdb0d5ea5f0aad1f7af8108bff56eec5c0dcd0522c5dc6ae4c6e0f66821cdf698ccfeace65fd6e47f95febd879e580e5ee648972cc265f9a117fc720db4f2545a432eae24a367b0aaa70a011ac8fdec94a95c3cd48cfa7102de8dc26c877e974688b3919de6cf06e27028995ac85da88cb3851a5761e17f215e5c593e13e481088c7d747ecb34d3ce61a5b56eb2a65be5363363294eb365f83c4c709644d857e2ccb14a5851724420fc81178144ef3f9e1138b5750eb7196eba3319d799c3494a7e399115a62b1ca4f1d5da079b495d35fd651a1de78d54000b06bdd3122d7404013f2ed8fdf8a7d012f9812b8e4c2e0b24192d5f899d70a3cc5c7e08c81be7":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"7641739d2f4fc0eba07e212218af4d77e78ae3a225ef253a7ec96215a1197e681a93fd534288cda156f216d21f02b2dc60b49c41874c26c0a2be0aca13babc53":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"2cdb0d5ea5f0aad1f7af8108bff56eec5c0dcd0522c5dc6ae4c6e0f66821cdf698ccfeace65fd6e47f95febd879e580e5ee648972cc265f9a117fc720db4f2545a432eae24a367b0aaa70a011ac8fdec94a95c3cd48cfa7102de8dc26c877e974688b3919de6cf06e27028995ac85da88cb3851a5761e17f215e5c593e13e481088c7d747ecb34d3ce61a5b56eb2a65be5363363294eb365f83c4c709644d857e2ccb14a5851724420fc81178144ef3f9e1138b5750eb7196eba3319d799c3494a7e399115a62b1ca4f1d5da079b495d35fd651a1de78d54000b06bdd3122d7404013f2ed8fdf8a7d012f9812b8e4c2e0b24192d5f899d70a3cc5c7e08c81be7":20:0 RSASSA-PSS Signature RSA-3072, SHA-224, Salt Length 20 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"1e4f71d67b8041845a6741a2e84b313f035f04d64e8c922e84718d7f0ca9b6d6ce4c50ba46b8d510d691e93c61068c89155693cb8893594307a7b2c22b942011ac004a917af0a91f0ad4853aeec42068a90931d5c1df933e16793f0d714678c6607345a142b124799e38fde4b90b55a4677ec43e21f6a9e858f11ca8094624bb":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7171c74df24272dfe6b34db78f24507a68062bd791f68796d5001be354de6fddab81e9252e151884f4cc1f3cd3e7760e263c0c34e63c557eb32c8336e0cef40855c5e279dbba3170da5a14ac60e4cc8d402633a383b88709f3306fb02708e39f3039e7e614edcb89609c8c71137de5211659a41e9e5682cfe0463f3bc97558d3bf77bd798976f09db69153123923835ac9bbd7648c2773e38b5228640fde6df005e9f44819eca31f41ccddbd45d61ae7e1ed0640f0736f52bf5fc1c62f5430de6a96d5aabccfcfef508ac299c7f3f0f7d222ef1f19b288273690b3275b68f874301afa95d243316284ed117bded69da11f5ce1435dd67717bae82ed468ff1b6ac7f2483397d310ffe91775189f671a82b493039d8c233830d20e290bc9be880a47f0b36bf2e1da2c1f23dafeb9f42d9f084feb808a98e894e8501937ba932594a6d202e20a0afddcef8fa48c1682d3179edebf8ea44ea1216a2f55c305cdf487249010909fa8a21d9ba9e3dbbeec046a823922390b7d902d77ec176bb447b05d":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"f145387c7a70e478968e238037e8d561b1665e0e15ac547ed4a72ea1":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7171c74df24272dfe6b34db78f24507a68062bd791f68796d5001be354de6fddab81e9252e151884f4cc1f3cd3e7760e263c0c34e63c557eb32c8336e0cef40855c5e279dbba3170da5a14ac60e4cc8d402633a383b88709f3306fb02708e39f3039e7e614edcb89609c8c71137de5211659a41e9e5682cfe0463f3bc97558d3bf77bd798976f09db69153123923835ac9bbd7648c2773e38b5228640fde6df005e9f44819eca31f41ccddbd45d61ae7e1ed0640f0736f52bf5fc1c62f5430de6a96d5aabccfcfef508ac299c7f3f0f7d222ef1f19b288273690b3275b68f874301afa95d243316284ed117bded69da11f5ce1435dd67717bae82ed468ff1b6ac7f2483397d310ffe91775189f671a82b493039d8c233830d20e290bc9be880a47f0b36bf2e1da2c1f23dafeb9f42d9f084feb808a98e894e8501937ba932594a6d202e20a0afddcef8fa48c1682d3179edebf8ea44ea1216a2f55c305cdf487249010909fa8a21d9ba9e3dbbeec046a823922390b7d902d77ec176bb447b05d":20:0 RSASSA-PSS Signature RSA-3072, SHA-256, Salt Length 20 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"e2f6dfa5014fee6b1b04108682e85619ded7c4647faf4ae8f19cf6cbd199677fe033859f56906f1979b1b5926df4c8064eddaeaf7c15fa2936b3fcd36bbb3578cce40d2f269fc97fef54b7c71fefabdd419baff6c9cdf7c6a88513e81ed1687fcf92e11e1a82e2e5a6767eed3de1e9e7de9a30ff0ddf27076e99a3d192e1eadc":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3a0622ddff5a0c1f5b545d684054e46211786a2e40627e0cb6795ea0d176f3c97e6536fb64c5eca7b28b7ac52e48e3d50b916d2fccb87d70cd8eda7c15c2308734254716e5b400592cc2e5e033ba27866cb14fefbdcbc35d5d85d4eee8ba6bc2da995e8ebcc27d50c48aa988bf45fde27311a9e2ec029d0fa6fa6d3efea460fc1a90e443d807d209a4c06bf3022d529ab2e4a877325fcccb3f86ac16200ab95628bf0c1c8c70f6fe1a9f288bbc0162a392f40ad1109cdbbaf03d9b2d514a60983874350be9aef886c3c481a66325f137aecb4c82a8a73046dbc1dd8598ffbdb828a3d638f9dd8139a768dcd8d30d79740ef345c1644d03e6fb86a46367f6d82a7a819057ae490e1b100b5842ed385845f379101e37ce604531c61de423df66200d45b7229662fd0ec3572593b09a5213ec14c1d7b2338ca9c763c0d18946f04eaaf57ea2ebc79e093f2fd4c64cb1c1a7f0e888dc2d87a15eb769f56dc180cfe1597cc3e4e1811d4e27852fa188c8fec4fc917d4724d33ce5f3211895cf7e8b8c":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"14ea4dca3559976c7d8943a51d69c1322c7860d496f742b9c0c2d03ce629613b":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3a0622ddff5a0c1f5b545d684054e46211786a2e40627e0cb6795ea0d176f3c97e6536fb64c5eca7b28b7ac52e48e3d50b916d2fccb87d70cd8eda7c15c2308734254716e5b400592cc2e5e033ba27866cb14fefbdcbc35d5d85d4eee8ba6bc2da995e8ebcc27d50c48aa988bf45fde27311a9e2ec029d0fa6fa6d3efea460fc1a90e443d807d209a4c06bf3022d529ab2e4a877325fcccb3f86ac16200ab95628bf0c1c8c70f6fe1a9f288bbc0162a392f40ad1109cdbbaf03d9b2d514a60983874350be9aef886c3c481a66325f137aecb4c82a8a73046dbc1dd8598ffbdb828a3d638f9dd8139a768dcd8d30d79740ef345c1644d03e6fb86a46367f6d82a7a819057ae490e1b100b5842ed385845f379101e37ce604531c61de423df66200d45b7229662fd0ec3572593b09a5213ec14c1d7b2338ca9c763c0d18946f04eaaf57ea2ebc79e093f2fd4c64cb1c1a7f0e888dc2d87a15eb769f56dc180cfe1597cc3e4e1811d4e27852fa188c8fec4fc917d4724d33ce5f3211895cf7e8b8c":20:0 RSASSA-PSS Signature RSA-3072, SHA-384, Salt Length 20 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"692acaaf5e277cdd4b3fdc0a1ff1785bfd28a3a8ec1bc97fd072ff6c99aade77baba92efdcf72e66d43542fdd32fb0e2dd29bb167dd36174b671ebef3c39c21be5fc84ef5a0957c9124f7eb281c12ae38cff9289413245c6c537bff88d013b3dd138c9373e26a00cecd4b5b18f708d69f1f24f88a0001d7de30ea40ff3c9f2e7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3f90aeabfa9a5f00e241f3f65dfe61baf67c1356353042c3566edacb11c7649737e5adf94cfb05f2619aecc8895db45190fbdf35dab01144e207b6f0923927a6148d3f16eaad05e73bccb562dc087e2d82db3dce130a83e8303bd7c3447b3ae4d3700d4763ba6981d82618ac82a6e66423f294781a59b20cc978c79e2d5c103bfb9d47119294c3c85b1d3c45a36897d42e183514cc8edbbfa1be9ef17b78280b5b6214dad79d60db057f22506515b6843ce7d4dd6bd861a889b36164c325147baeed714d7a3f55ae51ef6e6d4ae9e862d677caba1a2df369c23d3ffe33dd42fe707e1fd8ba6283aaa0b570353b48a8e39ff72a09f700e024150ce87c044a3ec745b212ae81aa5743b981a8bb95deb6b3e15c2487f7900178d5840f8e794662706dcdb19bc0bdd56cb7fdf0e21d10b03adac41b749f31bd3e7c4d07d5d4ec8e79d424812b6e83f1c7b59779e58029f9b07da3e77795fcff6ae8bb098b1c00d1d2a5bc0cb005ef3d8aab63ddd883d38bacdc64307e911c6e51946744f361fe978d":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"bc9fb8fc6d4c6ce8865c758063e55639f98afc15e5d71f4f1ecf89d6fbb904aecc28126bd5e6b5a7f8f31729949dbf8a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3f90aeabfa9a5f00e241f3f65dfe61baf67c1356353042c3566edacb11c7649737e5adf94cfb05f2619aecc8895db45190fbdf35dab01144e207b6f0923927a6148d3f16eaad05e73bccb562dc087e2d82db3dce130a83e8303bd7c3447b3ae4d3700d4763ba6981d82618ac82a6e66423f294781a59b20cc978c79e2d5c103bfb9d47119294c3c85b1d3c45a36897d42e183514cc8edbbfa1be9ef17b78280b5b6214dad79d60db057f22506515b6843ce7d4dd6bd861a889b36164c325147baeed714d7a3f55ae51ef6e6d4ae9e862d677caba1a2df369c23d3ffe33dd42fe707e1fd8ba6283aaa0b570353b48a8e39ff72a09f700e024150ce87c044a3ec745b212ae81aa5743b981a8bb95deb6b3e15c2487f7900178d5840f8e794662706dcdb19bc0bdd56cb7fdf0e21d10b03adac41b749f31bd3e7c4d07d5d4ec8e79d424812b6e83f1c7b59779e58029f9b07da3e77795fcff6ae8bb098b1c00d1d2a5bc0cb005ef3d8aab63ddd883d38bacdc64307e911c6e51946744f361fe978d":20:0 RSASSA-PSS Signature RSA-3072, SHA-512, Salt Length 20 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"e990c8835f18b18562323ba5096a4e7b99bd84899e5cdd1f3badb47cbf93f13678ef81dccc6703d98566c49b6d63eef51b67fcc20cc971ccf63ccaec580db17256a573c6c455b4508153629606ffe7a43e6ba3b1991b99ff5c0968033bec7ec629ba888b6f6c2cb2fb01fbdcfbc5a150abd35f9e6bd9bc82151b770a8dbbbffb":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"607b7731ecb232f9b8e9ea03be28cc1e948acc3ec12a1222ba0f63935440c3effeaf460d7066d260d174d0ed18a9193550000c2fa0119712fb1ab1e27b4e6f5f84be9b63a1ede17a01174060e2d9e46121cc5d10515a342a26649539341eb1b44b82e346a0102e7ca45be3149b5f1444bd7fdf43da441c59deb37da9a223bcd7a8244237bb5404ea532eb470e80891c0fe9403d12734100284e99cfd96de2ab4058529d91bf348c6cbdb7fcfeea3f9925e93efd6adb3ef6946008738f4577a49c42ac0203a2d982fd77cb421ae030b81b97dd04490605179626903471cf68835dd5e4ac41acfe54e048878df89db9c2de5f1e822266c325e0be0991c7f18cd3de4b2110e14f56100e45f8ba19edf917150c2074f379293f73cb587ff77ad63e4cbec9eeaed77ca90261b2813ae8e6533b09b223a68abe2beeec888088ff91fea5c63de3b55238aef018c368f98651572bc7b8cf3d14c15b24bb5534ae07a6c4c9d5ecd0b86961b550859036ba6fa8e50d06228d89bcc943581b26e302795d1e3":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"c57911bf353ef106479bd0ac85a4f70b6d3298f8e5882c5d0bfb28cb6f27129ae53b4fab702ccd3d5457d5fd662d29f34b445e60fc5da3c0c943cee17b81e255":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"607b7731ecb232f9b8e9ea03be28cc1e948acc3ec12a1222ba0f63935440c3effeaf460d7066d260d174d0ed18a9193550000c2fa0119712fb1ab1e27b4e6f5f84be9b63a1ede17a01174060e2d9e46121cc5d10515a342a26649539341eb1b44b82e346a0102e7ca45be3149b5f1444bd7fdf43da441c59deb37da9a223bcd7a8244237bb5404ea532eb470e80891c0fe9403d12734100284e99cfd96de2ab4058529d91bf348c6cbdb7fcfeea3f9925e93efd6adb3ef6946008738f4577a49c42ac0203a2d982fd77cb421ae030b81b97dd04490605179626903471cf68835dd5e4ac41acfe54e048878df89db9c2de5f1e822266c325e0be0991c7f18cd3de4b2110e14f56100e45f8ba19edf917150c2074f379293f73cb587ff77ad63e4cbec9eeaed77ca90261b2813ae8e6533b09b223a68abe2beeec888088ff91fea5c63de3b55238aef018c368f98651572bc7b8cf3d14c15b24bb5534ae07a6c4c9d5ecd0b86961b550859036ba6fa8e50d06228d89bcc943581b26e302795d1e3":20:0 RSASSA-PSS Signature RSA-4096, SHA-224, Salt Length 20 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"11bafee5c6534fe14d973d2f60a674983434ee03ace7c4f1cd00444b723e455d40ffb722dda97ec25d488159fd79fdfa148620f446d2d353fb78d7aa0f2f1310cc712c6915dc57e7e3d86bd0f67a3b81c4a822b3b67edffd93f1a39a3cb2696d9b558642d6b38157c88d241bb172d3352ce21dc862b391f57eb4d3a26191ef7a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3742d8a9627e2e10145c31a3548977f87f8019b1d9093c42f806c8df5ef7fad8330e2a05846c346cb64d9e8af2cd3806eb0df40cd097b3f8841525786ed53746498aa565f8945cf55e24944e8e3d86eb219f65c3385e1e7d45fe3a403773f3057bf22839d5903cd64c95a417c00b429ee068f0fe8ec17305a122979cabee8c3ad31b597da7c71fa1db3da842f7f7048f4396e1768197ccd84c5d9a0450d66f0bc88da7605cc8cdfe52bce60793704dafea504349ff14c481bea73dd761c848387d12f2d1b9227a959fec8b9eef0e9780cb6a427af946597d7e6059a07d50e878d7ae14eed8b571ac88e1c5d1a00d16c0de1c5148ec5781036676c6355e0cbca06346eebaf6c7de938cedd47a244f908ba1189bfbd97bd2667e8eba95e007a64b165dbfc4bf35878cd606732fd469f922ec141e5bc6a7d5c1875233cff612d336c28466c271764ef94e9c07e701923f1f68f39e2f003487dbe41d5505862eb4e90402e50f7b3cb918ef3eff893d0f00b203e2a511cfea4ca54c043ed0598d022c947cad5129fc47f5e79db97a0eea5afd7bb801a367a7bb8d929de1c12a54865e1e183ed926bb8da9d454c7a52b30cfcfe9ed3479799276f4a65b30f430e61fcf520e46e4eb9bea59ba064e7c9c72c9b58bf4ff633897d3ea46d989cec31ce4fc32e46e5a3d1805c35a30b387fb77afe20dba19be37252e40b252d346b69d3cf2":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"bb21ead0163de468ab3580ab57c7959cc1db437d6f2f47a878dc19bc":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"3742d8a9627e2e10145c31a3548977f87f8019b1d9093c42f806c8df5ef7fad8330e2a05846c346cb64d9e8af2cd3806eb0df40cd097b3f8841525786ed53746498aa565f8945cf55e24944e8e3d86eb219f65c3385e1e7d45fe3a403773f3057bf22839d5903cd64c95a417c00b429ee068f0fe8ec17305a122979cabee8c3ad31b597da7c71fa1db3da842f7f7048f4396e1768197ccd84c5d9a0450d66f0bc88da7605cc8cdfe52bce60793704dafea504349ff14c481bea73dd761c848387d12f2d1b9227a959fec8b9eef0e9780cb6a427af946597d7e6059a07d50e878d7ae14eed8b571ac88e1c5d1a00d16c0de1c5148ec5781036676c6355e0cbca06346eebaf6c7de938cedd47a244f908ba1189bfbd97bd2667e8eba95e007a64b165dbfc4bf35878cd606732fd469f922ec141e5bc6a7d5c1875233cff612d336c28466c271764ef94e9c07e701923f1f68f39e2f003487dbe41d5505862eb4e90402e50f7b3cb918ef3eff893d0f00b203e2a511cfea4ca54c043ed0598d022c947cad5129fc47f5e79db97a0eea5afd7bb801a367a7bb8d929de1c12a54865e1e183ed926bb8da9d454c7a52b30cfcfe9ed3479799276f4a65b30f430e61fcf520e46e4eb9bea59ba064e7c9c72c9b58bf4ff633897d3ea46d989cec31ce4fc32e46e5a3d1805c35a30b387fb77afe20dba19be37252e40b252d346b69d3cf2":20:0 RSASSA-PSS Signature RSA-4096, SHA-256, Salt Length 20 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"466d2621acc8a91c729334f1ca433bdb5605058d4851f86cc8c217fb9625c996f0d0dc64b635c987ccb63a95c0bbc94cac020b815e37cd5ab7c59dbd51eb8d0864123303eb5ef413028383b093daa41831b4364544ee701d67c56bea0eece0096cdc34e6946cb128dea117288cc753a8adc08ec2429d691ea06b8768154f4d01":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"2e512f73d198e623afe019bd4cea9192ff8b24ab555099d31bd52d705fc808229a269bf749c8061a3dc7ffae9ef7c6bdcd8c34910f92f0a0fcd6d73017ca3388ca5e99a1735e005ff5d5eade3ec0ea0c2436f0e78b197c2d999ba4351b9e37a09195504b63a42762bea22d307a0328fc9c80acdc28fc8f4050e25fbd5890233028f97ea3a2669ff4d5f4232c1e48571499af28ed6f5a92e7936de39d913e12c5cef51e25f90a1e903f3f60a6a9cddbc56564b146aca6af6236b899c2cb7223a6941f0beaa3aa787b2333e4f3e66b334b99b90825153ebd0095f27691880f44e4e77135f26df376e261adfe0d8354cfa15b49138d624d9f62a9751221ee0598097891c9864ad3651e89723bc9ec6086f571e199619ceb6720ab5a4998254cb807dce75a5a5203d38a9f5d56adee4239ff50cefe3e927eba91de7e1f8e1ae8b0505c077788372af7d8ef00735cc531fd46dbe86702ac49171f0a921f4626442ae960e972a5594ee3bcbfbf687cd96ed300aa9df1b9487607b5bae0f1abecbc1d2291fe93b9f8a091ffac8469b0f00ba561f0628f5e004ed1fd8713650e147c4b2cab7f4d69a4ad57b145c1e5e4c1412e86fbbda5a6096f66293203207e35098bf94dafff75ed094d10e6034cd22179d94655004fa4bf4de774807b6f5cd27d90255468cf01db7b6f82607df597f72d1f9c9c91d17740a14a4816ae65e63fde480d":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"480aa96e4b3a710d9924a84998e46b7246e26671e7d11efa6c6ec34919eac963":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"2e512f73d198e623afe019bd4cea9192ff8b24ab555099d31bd52d705fc808229a269bf749c8061a3dc7ffae9ef7c6bdcd8c34910f92f0a0fcd6d73017ca3388ca5e99a1735e005ff5d5eade3ec0ea0c2436f0e78b197c2d999ba4351b9e37a09195504b63a42762bea22d307a0328fc9c80acdc28fc8f4050e25fbd5890233028f97ea3a2669ff4d5f4232c1e48571499af28ed6f5a92e7936de39d913e12c5cef51e25f90a1e903f3f60a6a9cddbc56564b146aca6af6236b899c2cb7223a6941f0beaa3aa787b2333e4f3e66b334b99b90825153ebd0095f27691880f44e4e77135f26df376e261adfe0d8354cfa15b49138d624d9f62a9751221ee0598097891c9864ad3651e89723bc9ec6086f571e199619ceb6720ab5a4998254cb807dce75a5a5203d38a9f5d56adee4239ff50cefe3e927eba91de7e1f8e1ae8b0505c077788372af7d8ef00735cc531fd46dbe86702ac49171f0a921f4626442ae960e972a5594ee3bcbfbf687cd96ed300aa9df1b9487607b5bae0f1abecbc1d2291fe93b9f8a091ffac8469b0f00ba561f0628f5e004ed1fd8713650e147c4b2cab7f4d69a4ad57b145c1e5e4c1412e86fbbda5a6096f66293203207e35098bf94dafff75ed094d10e6034cd22179d94655004fa4bf4de774807b6f5cd27d90255468cf01db7b6f82607df597f72d1f9c9c91d17740a14a4816ae65e63fde480d":20:0 RSASSA-PSS Signature RSA-4096, SHA-384, Salt Length 20 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"344a458b48d68949ab0effd488443eb54ef367d74e005aec85402a0bb63bcf9ebd2f1b7b1f58f051e56faf46ab71f3def4a1801fc0d076f361dccbcd8a77f78fa929f1ac76985b89cc08f92ab91e680ad1e90d4ac7234b0e3eb3f925dc7713e8a041af64761f33bb09e0c6c7d9d304018dd2f6a18a7f4107c4ce9d5ad4c4896f":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"364ad106da2cec6ce94e141e16af855f6d6e31ac6d7bdb2649695645a3d7f176a9b55f60b861776d49077dcfda4db42bb584767606f90de7289e71f188ff139b138bbd24f7a7f50192a137f2c648e19fe78a836bd2a01d31b248857cd29dbf3d1251c2d4cb339f2ff78add26304fbc3e44f8a2f04b47dc754b984169fba4a091d70f956074880c709ee849a05f8f2dcffee09b221078e98b6e28a965a2d44fcde72c6b27ff0a3def818d80aaba17915d37ad1d72755548310062e73da15a8d2544b311060b404683c00394666dc3a890f60ec9d85b2d0fca8a76fc96c4cfd0e3c4a83594957bac42866c395f8feab3b40c9bc9a675f47a1cd62fc43ebe0fff2bbd239130bbbe5257c5c3756044eb2190db7a309cddc4ef410e9abccd0f93158e0edfab2f0a50e80d814a428f61c531b2b747e64feb41523c5802a53c374f35df21abe67a877d062f56a001b47ee6ab571b0bbe7141e0b49cfdc97a15dc19138863d140cc772074c12b3d751985b7852fe76932be1f44a165f4fe58a341d28c3f86924defab4cf2458ba4cc3fb92558511ceee6d91c672b24b8727b867132bf6b8d7af714ab668f06f046448c1e854ae98e59cf21f2b7370c9378ee0eb34b031f9f4795057557773af0f7fc18ddeec7e95c2ccdd5f66ed224d08fbdfb37995e87f4df9691e499d77afaa8d5b93f3275c43f69edbe37672cf192f94509df0a4e9b":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"c6e4881e3f76394a6d8cfb1786e1757f78d66cf048ba1a8aaaa28be02430097e30d92e459257f8f571c6389d1d94b0d5":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"364ad106da2cec6ce94e141e16af855f6d6e31ac6d7bdb2649695645a3d7f176a9b55f60b861776d49077dcfda4db42bb584767606f90de7289e71f188ff139b138bbd24f7a7f50192a137f2c648e19fe78a836bd2a01d31b248857cd29dbf3d1251c2d4cb339f2ff78add26304fbc3e44f8a2f04b47dc754b984169fba4a091d70f956074880c709ee849a05f8f2dcffee09b221078e98b6e28a965a2d44fcde72c6b27ff0a3def818d80aaba17915d37ad1d72755548310062e73da15a8d2544b311060b404683c00394666dc3a890f60ec9d85b2d0fca8a76fc96c4cfd0e3c4a83594957bac42866c395f8feab3b40c9bc9a675f47a1cd62fc43ebe0fff2bbd239130bbbe5257c5c3756044eb2190db7a309cddc4ef410e9abccd0f93158e0edfab2f0a50e80d814a428f61c531b2b747e64feb41523c5802a53c374f35df21abe67a877d062f56a001b47ee6ab571b0bbe7141e0b49cfdc97a15dc19138863d140cc772074c12b3d751985b7852fe76932be1f44a165f4fe58a341d28c3f86924defab4cf2458ba4cc3fb92558511ceee6d91c672b24b8727b867132bf6b8d7af714ab668f06f046448c1e854ae98e59cf21f2b7370c9378ee0eb34b031f9f4795057557773af0f7fc18ddeec7e95c2ccdd5f66ed224d08fbdfb37995e87f4df9691e499d77afaa8d5b93f3275c43f69edbe37672cf192f94509df0a4e9b":20:0 RSASSA-PSS Signature RSA-4096, SHA-512, Salt Length 20 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"fc5b9da74a8afff53e53f7558b69fcad8a924d948cace26f6eeea2d96e71d6493cefdeee55ca22de8c504c70e93db5e6b7811c50d9449ead5d28e25254ce9590e09b16918ebc7283e66792f84164b38ddbcd17ca2912fa4a6d3fc81c87828d680ee8ad569f67d52b752131b63ae7e0ea1dfca5cc251cdf90c5bdbbfeb095a81b":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"6edfb6bfb20da2621e7ca0b8e13bfc3801d8bcb43ef3822be960b96a67d3e8afbbe2ef22e206b328ce99dd8f9758052d42a8ee93e16d8e160a50687e8ffce72d258610064ebde4c4cc2ab96c8e516ec2c1eed816c8e6ac537a0570c9eff81a38147bcd8f4747390676f9d755f613687ac59dbac14f69ca6e56a26727699fa11c200eb77339ead56fc6883acf9b92c6deb6f4d79f82ccdc493fedc6165f78c174adcf32941eeb237a4ae369dbbafb4553c98e413823f6f46da0d47d47a164b792aaf1324a8be4f01601bceb809f8c08f3458b1de2c6378cf93fb293212f6bd4a7b1fd1bfa14a1af29575a5ecc4281420179758e96b4465ec07f6cce4e5e5c2307d531e400e494725eb7dceb1d8dac1000d92f62f319534063c01aec9c6ec0c7675351f2883e462b0454db364f03700d6593c9be195fbea5800ebb81578c765409ac2c37f78fabe8783c5d324fa4dfabe4f192866e34037901615304237f08028a75f00a3904bea03219ef9dbfeb48d10ec59d481eb0429cfc9ae835cc578377e61023d5ceedfd3d0a05aceddb274c13782dda9299d6197519e14791208f8d86d63e0ab7fb42a1e14f8f37f49732e23d4b7d4f07cd0bc828649a12748e8d70f53683580bca87290992a349730370bbed6ed743e705759734872c54ff03c1a97037a7b9ee3c8c42d12c3ebe0c1bf3b42854d04a9177d1a24000bd388fa289fd77d5":20:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:4096:"f00102d29990fb36bf66dcab57fa4e05745e307c031fe6acb86df4e0487bcb8fd929e227b6e1090a48befbd642f432ea1b6cff26c1aed9f18c04f68170dc1857786faa086fa00b43e0272a1042ee53566cbb48a04f109420e3501cf56222f7a9b51a7ffe2b97a8ea71e791e0bfb259514f953473130dbe41a7978fc385150f8f78748b90538c8906e24759ce2106ede4ac40eb26776cff5abf227673407d0910a9c3f6464d48569f1b8faa62d0b3b7156b059441e1f701751339fa8dfd218c343050e8a88293b6be0407ab2534815eee742c574cbb7469998b23439a23ca4104f563883f5a35ab88d789dcba4073aebf2e1855abb839908874c1a10f150d56b7":"dda4491b56bdad20f032c8a61bc326995ee7353c3f1b4c1e677aeb4b028e45bf6566fb20f3e82bac4169a970787b8cbafb06edd24a9bebe52704f242f7203ec96aee9a9f5ee76e270191f82e3651da663b80d51688c2d40ffa932ce2302322503664ae0260617e7b79d13e4a1dec1784647d7571c1390e86294f20937740f93e0ff1bdb0c1ff648ef152022bf5f54bfcbf24564cbca7a130fb5f56be921fcc7a3ebd51114968274ab13bcc3986137eb6949eff0d42b596f7baec56c94a67a2ec0aeff18dc044cf9500b525dc98efb9992b13f81e1b0bf4c2ac1da91e67c0847cbdaf268ced549c2febd08b661140af9bf45458d13d4717eb61de86b555856ad5":"cfcae49f88b80dc12186d53c57162dbecba6e348094f9fb3743e39d99d5355d87e3efca9d488d39d705671e58634309cbd7cf53fccd52d9a84edb99ffdad0680e9ec826d625728370717b39321c7d4b6882785cf6884275f6c7b6d681bfa710593679e99b67d5bc28121dd603617dc8cfdb2557c2a04533893f593f0f7e59cbe6d46623d22642a7161a4c685b293c7edcc9aaec48e3810ec74a884a41108610d000b591fbf5da44b5501e63781264edf3c73706321ecf44d0e14b5932a2d69ca3d180c5cee86b4ccad850c766e0beb5f20e6b142055d551aeb453bd099eac67eb92cf13e34ef0d0e34fc599a6e5d4d14f74e08190c66c66ad3473de9ae8f53dd2c1c0c41f4b4a8d4690f4b77354c76e05ab76b7a6c7c9edf0955fee799a2bb42c86c6a06631398d38cceb71ec9aaa9a0fb83850f62342f3f781f9d453229b1a709bbce83a44c225ebffd4f518f94a7935f4669f65d02ff3defbbd1d5efd9191365808cdf9460371ede1eae735af03f21431239d5cd57cc0cc88fb3965d187eba98359409aaa944a7af8e85e20b67c43c82e78fa967fc0d629bcd7483d17dcaa25915571a15c3f0c730e81095139d71a28858dd9d83b65bf9c9273a8a40b12a2c87107a71f984818f7dc766374d31b4c3a1d284adb2a17f8ac85dbe3f58cf78b14c0fdce00a79daf348aa0557290ef5f9dd305c15fa73d40c6822b75fda13ec43":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"ebbca26fb18da6226cc47dea14c57d9f3c935cb449462cc9446689577031ebc915fdd09cdb79d4703a53eb5dd447852f3bc72f974487ffb998cbe996d206c80c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"6edfb6bfb20da2621e7ca0b8e13bfc3801d8bcb43ef3822be960b96a67d3e8afbbe2ef22e206b328ce99dd8f9758052d42a8ee93e16d8e160a50687e8ffce72d258610064ebde4c4cc2ab96c8e516ec2c1eed816c8e6ac537a0570c9eff81a38147bcd8f4747390676f9d755f613687ac59dbac14f69ca6e56a26727699fa11c200eb77339ead56fc6883acf9b92c6deb6f4d79f82ccdc493fedc6165f78c174adcf32941eeb237a4ae369dbbafb4553c98e413823f6f46da0d47d47a164b792aaf1324a8be4f01601bceb809f8c08f3458b1de2c6378cf93fb293212f6bd4a7b1fd1bfa14a1af29575a5ecc4281420179758e96b4465ec07f6cce4e5e5c2307d531e400e494725eb7dceb1d8dac1000d92f62f319534063c01aec9c6ec0c7675351f2883e462b0454db364f03700d6593c9be195fbea5800ebb81578c765409ac2c37f78fabe8783c5d324fa4dfabe4f192866e34037901615304237f08028a75f00a3904bea03219ef9dbfeb48d10ec59d481eb0429cfc9ae835cc578377e61023d5ceedfd3d0a05aceddb274c13782dda9299d6197519e14791208f8d86d63e0ab7fb42a1e14f8f37f49732e23d4b7d4f07cd0bc828649a12748e8d70f53683580bca87290992a349730370bbed6ed743e705759734872c54ff03c1a97037a7b9ee3c8c42d12c3ebe0c1bf3b42854d04a9177d1a24000bd388fa289fd77d5":20:0 RSASSA-PSS Signature RSA-2048, SHA-224, Salt Length 15 -depends_on:MBEDTLS_SHA224_C -pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"37ddd9901478ae5c16878702cea4a19e786d35582de44ae65a16cd5370fbe3ffdd9e7ee83c7d2f27c8333bbe1754f090059939b1ee3d71e020a675528f48fdb2cbc72c65305b65125c796162e7b07e044ed15af52f52a1febcf4237e6aa42a69e99f0a9159daf924bba12176a57ef4013a5cc0ab5aec83471648005d67d7122e":"463729b3eaf43502d9cff129925681":"7e628bcbe6ff83a937b8961197d8bdbb322818aa8bdf30cdfb67ca6bf025ef6f09a99dba4c3ee2807d0b7c77776cfeff33b68d7e3fa859c4688626b2441897d26e5d6b559dd72a596e7dad7def9278419db375f7c67cee0740394502212ebdd4a6c8d3af6ee2fd696d8523de6908492b7cbf2254f15a348956c19840dc15a3d732ef862b62ede022290de3af11ca5e79a3392fff06f75aca8c88a2de1858b35a216d8f73fd70e9d67958ed39a6f8976fb94ec6e61f238a52f9d42241e8354f89e3ece94d6fa5bfbba1eeb70e1698bff31a685fbe799fb44efe21338ed6eea2129155aabc0943bc9f69a8e58897db6a8abcc2879d5d0c5d3e6dc5eb48cf16dac8":15:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA224:MBEDTLS_MD_SHA224:"3be4397c9467ec90f5d5640834f6e9febee4ce2477aa3f385cab9435":"463729b3eaf43502d9cff129925681":"7e628bcbe6ff83a937b8961197d8bdbb322818aa8bdf30cdfb67ca6bf025ef6f09a99dba4c3ee2807d0b7c77776cfeff33b68d7e3fa859c4688626b2441897d26e5d6b559dd72a596e7dad7def9278419db375f7c67cee0740394502212ebdd4a6c8d3af6ee2fd696d8523de6908492b7cbf2254f15a348956c19840dc15a3d732ef862b62ede022290de3af11ca5e79a3392fff06f75aca8c88a2de1858b35a216d8f73fd70e9d67958ed39a6f8976fb94ec6e61f238a52f9d42241e8354f89e3ece94d6fa5bfbba1eeb70e1698bff31a685fbe799fb44efe21338ed6eea2129155aabc0943bc9f69a8e58897db6a8abcc2879d5d0c5d3e6dc5eb48cf16dac8":15:0 RSASSA-PSS Signature RSA-2048, SHA-384, Salt Length 25 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"833aa2b1dcc77607a44e804ee77d45408586c536861f6648adcd2fb65063368767c55c6fe2f237f6404250d75dec8fa68bcaf3b6e561863ae01c91aa23d80c6999a558a4c4cb317d540cde69f829aad674a89812f4d353689f04648c7020a73941620018295a4ae4083590cc603e801867a51c105a7fb319130f1022de44f13e":"b750587671afd76886e8ffb7865e78f706641b2e4251b48706":"2ca37a3d6abd28c1eaf9bde5e7ac17f1fa799ce1b4b899d19985c2ff7c8ba959fe54e5afb8bc4021a1f1c687eebb8cba800d1c51636b1f68dc3e48f63e2da6bc6d09c6668f68e508c5d8c19bef154759e2f89ade152717370a8944f537578296380d1fe6be809e8b113d2b9d89e6a46f5c333d4fd48770fc1ea1c548104575b84cf071042bfe5acf496392be8351a41c46a2cab0864c4c1c5b5e0c7b27e7b88c69f37ffa7e1a8cd98f343ac84a4ad67025a40ed8f664e9d630337de6e48bb2125e2552123609491f183afd92634487f0b2cf971f2626e88858879d45a29b0fefb66cd41b2e4e968385bd9fc8c7211976bc6bd3e1ad6df60856985a825f4726d2":25:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"1c389ed84b9f252bedde76a9a694986fa130906633047674c9a44e887f359e1cfc19d2d9a53a8fdfb2f826d813ca7a58":"b750587671afd76886e8ffb7865e78f706641b2e4251b48706":"2ca37a3d6abd28c1eaf9bde5e7ac17f1fa799ce1b4b899d19985c2ff7c8ba959fe54e5afb8bc4021a1f1c687eebb8cba800d1c51636b1f68dc3e48f63e2da6bc6d09c6668f68e508c5d8c19bef154759e2f89ade152717370a8944f537578296380d1fe6be809e8b113d2b9d89e6a46f5c333d4fd48770fc1ea1c548104575b84cf071042bfe5acf496392be8351a41c46a2cab0864c4c1c5b5e0c7b27e7b88c69f37ffa7e1a8cd98f343ac84a4ad67025a40ed8f664e9d630337de6e48bb2125e2552123609491f183afd92634487f0b2cf971f2626e88858879d45a29b0fefb66cd41b2e4e968385bd9fc8c7211976bc6bd3e1ad6df60856985a825f4726d2":25:0 RSASSA-PSS Signature RSA-2048, SHA-512, Salt Length 30 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"5f0fe2afa61b628c43ea3b6ba60567b1ae95f682076f01dfb64de011f25e9c4b3602a78b94cecbc14cd761339d2dc320dba504a3c2dcdedb0a78eb493bb11879c31158e5467795163562ec0ca26c19e0531530a815c28f9b52061076e61f831e2fc45b86631ea7d3271444be5dcb513a3d6de457a72afb67b77db65f9bb1c380":"aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac":"5e0712bb363e5034ef6b23c119e3b498644445faab5a4c0b4e217e4c832ab34c142d7f81dbf8affdb2dacefabb2f83524c5aa883fc5f06e528b232d90fbea9ca08ae5ac180d477eaed27d137e2b51bd613b69c543d555bfc7cd81a4f795753c8c64c6b5d2acd9e26d6225f5b26e4e66a945fd6477a277b580dbeaa46d0be498df9a093392926c905641945ec5b9597525e449af3743f80554788fc358bc0401a968ff98aaf34e50b352751f32274750ff5c1fba503050204cec9c77deede7f8fa20845d95f5177030bc91d51f26f29d2a65b870dc72b81e5ef9eeef990d7c7145bbf1a3bc7aedd19fa7cbb020756525f1802216c13296fd6aac11bf2d2d90494":30:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"e28da1aa250390bc8fd27d6f601830febbdd5a309bcd5d1d3cebda111110851563d1fb4d141e8129bf25721aa144b104b7c5adbb8540f02a7402788ae72c93c9f59d6d1bcf1541c3354b5cd3dcb91e35ed100d78857cf2ab6ed04b2dc1cc81fa1307bb18c635fdacfb7f656d0b4743d9f487048a8aaf5d5ec6fd09a01b28d4b1":"dea1faf22b760cbfa9ba11a486edd9b9faee04f22f15abfff5b2c079a2c932cfa641660da16213adfbbb568ecbaac18511031f428cd3ae4e0bf01928a1db6360511c26501c7bda7bf4fc4cc792d79efb86ec15ba2fc82aa41bce08e0807859a41b57e9e3f15804c81bf8ed017dea62e53489f955949651ddcb1da5297465ac9f":"c5062b58d8539c765e1e5dbaf14cf75dd56c2e13105fecfd1a930bbb5948ff328f126abe779359ca59bca752c308d281573bc6178b6c0fef7dc445e4f826430437b9f9d790581de5749c2cb9cb26d42b2fee15b6b26f09c99670336423b86bc5bec71113157be2d944d7ff3eebffb28413143ea36755db0ae62ff5b724eecb3d316b6bac67e89cacd8171937e2ab19bd353a89acea8c36f81c89a620d5fd2effea896601c7f9daca7f033f635a3a943331d1b1b4f5288790b53af352f1121ca1bef205f40dc012c412b40bdd27585b946466d75f7ee0a7f9d549b4bece6f43ac3ee65fe7fd37123359d9f1a850ad450aaf5c94eb11dea3fc0fc6e9856b1805ef":"86c94f":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"2f2d33aab9c36773ce676a4c61c1e50fbd4f40bcea18eb45f83e5ee9d693bdbb8cffce61a91e0b11ff88c49ce778dada0d367c7fb6205d26cee33b19aa85c969":"aa10fec3f83b7a97e092877a5bf9081283f502a0a46b50e395ab983a49ac":"5e0712bb363e5034ef6b23c119e3b498644445faab5a4c0b4e217e4c832ab34c142d7f81dbf8affdb2dacefabb2f83524c5aa883fc5f06e528b232d90fbea9ca08ae5ac180d477eaed27d137e2b51bd613b69c543d555bfc7cd81a4f795753c8c64c6b5d2acd9e26d6225f5b26e4e66a945fd6477a277b580dbeaa46d0be498df9a093392926c905641945ec5b9597525e449af3743f80554788fc358bc0401a968ff98aaf34e50b352751f32274750ff5c1fba503050204cec9c77deede7f8fa20845d95f5177030bc91d51f26f29d2a65b870dc72b81e5ef9eeef990d7c7145bbf1a3bc7aedd19fa7cbb020756525f1802216c13296fd6aac11bf2d2d90494":30:0 RSASSA-PSS Signature RSA-3072, SHA-512, Salt Length 62 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:3072:"dd553696db8ccb107609b8917e688bdd8373a8926bc9d114c1c77f7958070e236ca1bd2025ded59a71093b63afbfce39e92bde9ffca983959e7c3e18d75650612258c24eebb61a1b4a68603a2721e3e2483d6da27475a228b1341c78f140948b5c922822ccaed76dae338dddec1e4c5c34b9c53f34a09ff0b2b61a62254e73e6f0ac8013edc2cfa7ecbeb86fcc7309cb0f5b5eddb707af4b9337d34d672af413f3b6efd11e3b49c978f06a356f6f4e0ea50a90797fe32ccaa983547ff18ea167":"c1e3089e1bea1141638ca912da01c134f67231a2f737d97e28486e004a43e9c5592ff968ee18109fc71aa4c1a97aa88ece5c4734352bc0c1f67726bc4aac59c19301f23a705be5b3f7825fb284e58a950d795f63d18fe72231eaba9d6a5f90866f8dd34b2b0dfc132db8348efa5a62634e5584a788aebbf073ccb4f3e9f5cde8d0c2e831412485c7f8cf1473abffabcc5d51d8a2a87a22f39d1a250b3cb66d90c573669071aeba9b1080dc079243094a9ae0e5a62e4e8b653cb57f54f4eeaf3d":"a7a1882a7fb896786034d07fb1b9f6327c27bdd7ce6fe39c285ae3b6c34259adc0dc4f7b9c7dec3ca4a20d3407339eedd7a12a421da18f5954673cac2ff059156ecc73c6861ec761e6a0f2a5a033a6768c6a42d8b459e1b4932349e84efd92df59b45935f3d0e30817c66201aa99d07ae36c5d74f408d69cc08f044151ff4960e531360cb19077833adf7bce77ecfaa133c0ccc63c93b856814569e0b9884ee554061b9a20ab46c38263c094dae791aa61a17f8d16f0e85b7e5ce3b067ece89e20bc4e8f1ae814b276d234e04f4e766f501da74ea7e3817c24ea35d016676cece652b823b051625573ca92757fc720d254ecf1dcbbfd21d98307561ecaab545480c7c52ad7e9fa6b597f5fe550559c2fe923205ac1761a99737ca02d7b19822e008a8969349c87fb874c81620e38f613c8521f0381fe5ba55b74827dad3e1cf2aa29c6933629f2b286ad11be88fa6436e7e3f64a75e3595290dc0d1cd5eee7aaac54959cc53bd5a934a365e72dd81a2bd4fb9a67821bffedf2ef2bd94913de8b":"1415a7":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"44240ce519f00239bd66ba03c84d3160b1ce39e3932866e531a62b1c37cf4170c3dc4809236fb1ade181db49fc9c7ccd794b433d1ad0bc056e14738e0ae45c0e155972a40a989fa4b9bcdc308f11990818835fa2c256b47ee4173fb4fed22ccf4385d2dd54d593c74f0004df08134eb8965dd53a122317f59b95d6b69d017958":"2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783":"8f47abc2326e22cf62404508b442e81ad45afff7274096b9a13e478cdd0a72f99a76bf517f1bb0f872a523d8c588d4402569e948fd6a108ae1a45c65830828a10e94d432765314ba82ead310fc87ac99a5b39f30ab8820bf69e6934a9c1c915c19f36ea7717eaff7af67b4991315b1873ba929bedf18a975be808e7aa14a6726126c79cc93f69541c5cefdeb5b67ec279d8f5a446583e4b4faed1685140ee4b3b757c8ff4a1ef9cd76a88e05319ee62003d2d77290c94c579b0ca2ab0deb3176ef10a3fdb85c80ffbc9e2a665a23744fc836f9a9a103cd9fb756952356a2f1acdd68a645e20179006558b5d4d0b9b0bd3adf5e290f49dae60b9d19920953ea8bb237d5b3dcfe149a60f12a4ee3a889b33bcd3a3b753d610757cbcd093dd5a734255333689695ab636963e3d215a8e77ff31973718a4944a1e9e44f45754d39f6fa431c53f9a2ef36e16a5f70636eb5fba54e15c20a714f2809a7cff4b8dc1165f836607eb5a5a3bb0c4567eee26941fef46fb41e73b565c0cf8c72e404221264":62:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"dd553696db8ccb107609b8917e688bdd8373a8926bc9d114c1c77f7958070e236ca1bd2025ded59a71093b63afbfce39e92bde9ffca983959e7c3e18d75650612258c24eebb61a1b4a68603a2721e3e2483d6da27475a228b1341c78f140948b5c922822ccaed76dae338dddec1e4c5c34b9c53f34a09ff0b2b61a62254e73e6f0ac8013edc2cfa7ecbeb86fcc7309cb0f5b5eddb707af4b9337d34d672af413f3b6efd11e3b49c978f06a356f6f4e0ea50a90797fe32ccaa983547ff18ea167":"c1e3089e1bea1141638ca912da01c134f67231a2f737d97e28486e004a43e9c5592ff968ee18109fc71aa4c1a97aa88ece5c4734352bc0c1f67726bc4aac59c19301f23a705be5b3f7825fb284e58a950d795f63d18fe72231eaba9d6a5f90866f8dd34b2b0dfc132db8348efa5a62634e5584a788aebbf073ccb4f3e9f5cde8d0c2e831412485c7f8cf1473abffabcc5d51d8a2a87a22f39d1a250b3cb66d90c573669071aeba9b1080dc079243094a9ae0e5a62e4e8b653cb57f54f4eeaf3d":"a7a1882a7fb896786034d07fb1b9f6327c27bdd7ce6fe39c285ae3b6c34259adc0dc4f7b9c7dec3ca4a20d3407339eedd7a12a421da18f5954673cac2ff059156ecc73c6861ec761e6a0f2a5a033a6768c6a42d8b459e1b4932349e84efd92df59b45935f3d0e30817c66201aa99d07ae36c5d74f408d69cc08f044151ff4960e531360cb19077833adf7bce77ecfaa133c0ccc63c93b856814569e0b9884ee554061b9a20ab46c38263c094dae791aa61a17f8d16f0e85b7e5ce3b067ece89e20bc4e8f1ae814b276d234e04f4e766f501da74ea7e3817c24ea35d016676cece652b823b051625573ca92757fc720d254ecf1dcbbfd21d98307561ecaab545480c7c52ad7e9fa6b597f5fe550559c2fe923205ac1761a99737ca02d7b19822e008a8969349c87fb874c81620e38f613c8521f0381fe5ba55b74827dad3e1cf2aa29c6933629f2b286ad11be88fa6436e7e3f64a75e3595290dc0d1cd5eee7aaac54959cc53bd5a934a365e72dd81a2bd4fb9a67821bffedf2ef2bd94913de8b":"1415a7":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"08ccc9fa3166cf6815240e0dbb886ea054210fa9faeb57d3efb0d310ad93ad693c07211872ebc33b7a8e4dfeac5ffae0ec1d393e78905bdf3ba6984af5904d3a":"2d0c49b20789f39502eefd092a2b6a9b2757c1456147569a685fca4492a8d5b0e6234308385d3d629644ca37e3399616c266f199b6521a9987b2be9ee783":"8f47abc2326e22cf62404508b442e81ad45afff7274096b9a13e478cdd0a72f99a76bf517f1bb0f872a523d8c588d4402569e948fd6a108ae1a45c65830828a10e94d432765314ba82ead310fc87ac99a5b39f30ab8820bf69e6934a9c1c915c19f36ea7717eaff7af67b4991315b1873ba929bedf18a975be808e7aa14a6726126c79cc93f69541c5cefdeb5b67ec279d8f5a446583e4b4faed1685140ee4b3b757c8ff4a1ef9cd76a88e05319ee62003d2d77290c94c579b0ca2ab0deb3176ef10a3fdb85c80ffbc9e2a665a23744fc836f9a9a103cd9fb756952356a2f1acdd68a645e20179006558b5d4d0b9b0bd3adf5e290f49dae60b9d19920953ea8bb237d5b3dcfe149a60f12a4ee3a889b33bcd3a3b753d610757cbcd093dd5a734255333689695ab636963e3d215a8e77ff31973718a4944a1e9e44f45754d39f6fa431c53f9a2ef36e16a5f70636eb5fba54e15c20a714f2809a7cff4b8dc1165f836607eb5a5a3bb0c4567eee26941fef46fb41e73b565c0cf8c72e404221264":62:0 RSASSA-PSS Signature RSA-1024, SHA-256, Salt Length 0 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"ac777fd1f72fb4598b30ec1d343488e83bc03cac3380492225efad8c0d7e2c15a0031b8e027bf4e80747ce3de188b405dfeec2b4b5439599bef733a120fd80532e0fcc0629f86cc990e312b2b73ee1f3586198bf81f3af05ef0cfbed3d1b5c620927d2084f31847784c2ba8d55a0f038a5eaf8c2ea85ea81eebdc0fe1f0d75c1":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"0c37233c694cc81c4ca1027009269b64e9e32288e3522a2cd76da6613d8c5cd7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"ac777fd1f72fb4598b30ec1d343488e83bc03cac3380492225efad8c0d7e2c15a0031b8e027bf4e80747ce3de188b405dfeec2b4b5439599bef733a120fd80532e0fcc0629f86cc990e312b2b73ee1f3586198bf81f3af05ef0cfbed3d1b5c620927d2084f31847784c2ba8d55a0f038a5eaf8c2ea85ea81eebdc0fe1f0d75c1":0:0 RSASSA-PSS Signature RSA-1024, SHA-256, Salt Length = max -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"6708ae77c8c32056d89d8186f1d74d84a02cf69a084516c3525901e7c2c8359c1e8939f95b1184ca8e57508a28673243f1580f0eaef13a8eb64c9b78c8a5c2249f7601faa9a55743d056c08bbf213bd5d461e134078b11458a76707fe80df58ca477c2455665734cb498dde2a87065d8bdb8851f7943f4c38ae243752dc79da3":94:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"0c37233c694cc81c4ca1027009269b64e9e32288e3522a2cd76da6613d8c5cd7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"6708ae77c8c32056d89d8186f1d74d84a02cf69a084516c3525901e7c2c8359c1e8939f95b1184ca8e57508a28673243f1580f0eaef13a8eb64c9b78c8a5c2249f7601faa9a55743d056c08bbf213bd5d461e134078b11458a76707fe80df58ca477c2455665734cb498dde2a87065d8bdb8851f7943f4c38ae243752dc79da3":94:0 RSASSA-PSS Signature RSA-1024, SHA-256, Salt Length = max+1 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"":95:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"0c37233c694cc81c4ca1027009269b64e9e32288e3522a2cd76da6613d8c5cd7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3af3c4bd6d4cfcad8a03290e237b0cb3f05a4640d4ff655aa36fd36b4089817a7d4538ea9134971c37c12a5b3c360e2c90546c6553d2bff7419262821ce3fc99283483b9691ad5a0dbff":"":95:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature RSA-2048, SHA-256, Salt Length = 0 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"cd74ae6152d5fe5ce3d9073c921e861a24208f0c68477f49c825338e1ef877c0c977c1d2ffcb20e964db6fbedcccce449ec8538c8bfffce5bdece84762dac7f2cba69052c0c67226178a0ce185a2e050b3e1057e94411dd5f726878558e7d62afc8a81a93dcfdb5a2271466d32a8a4868af20fab2e13ca609d5a7710a8278aaf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"293c65933fb46e6bc50d9c34a266a5e1b9e3b3ff3c99c691a88eb2d1b652ab28144e9e6a18468995febb5ce84b38efb295b1ebf1b7b4b7bce29c35dfbdc81b0944bdb3cdba914215de4380cf5226c6c7af172bf82dbebade614d710be5b4256d588d12d3a0f4494b863b09e8962bbc1d97cdaebd92d40a0485476178acbb943d1bec59aabfb60a15b1cb8f17f600fc10ec1f97148ecacca4b3715ec173e641525a1331b1b5b504bc9f930b7061f10e63509d2223c49c3050bab6edba11dc426a8b5dbfdb31b43ab3dedc392f3d4d0401f67b83cdb59e592dbedad5ed407854310e1304b4e998b8e4074caafba6fb006335c64666758401a508813d307f466e3a":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"b416e0843040b35277be7734bc23ac9e9eb47a7f57f55e94d826285c9c00100a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"293c65933fb46e6bc50d9c34a266a5e1b9e3b3ff3c99c691a88eb2d1b652ab28144e9e6a18468995febb5ce84b38efb295b1ebf1b7b4b7bce29c35dfbdc81b0944bdb3cdba914215de4380cf5226c6c7af172bf82dbebade614d710be5b4256d588d12d3a0f4494b863b09e8962bbc1d97cdaebd92d40a0485476178acbb943d1bec59aabfb60a15b1cb8f17f600fc10ec1f97148ecacca4b3715ec173e641525a1331b1b5b504bc9f930b7061f10e63509d2223c49c3050bab6edba11dc426a8b5dbfdb31b43ab3dedc392f3d4d0401f67b83cdb59e592dbedad5ed407854310e1304b4e998b8e4074caafba6fb006335c64666758401a508813d307f466e3a":0:0 RSASSA-PSS Signature RSA-2048, SHA-256, Salt Length = max -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"cd74ae6152d5fe5ce3d9073c921e861a24208f0c68477f49c825338e1ef877c0c977c1d2ffcb20e964db6fbedcccce449ec8538c8bfffce5bdece84762dac7f2cba69052c0c67226178a0ce185a2e050b3e1057e94411dd5f726878558e7d62afc8a81a93dcfdb5a2271466d32a8a4868af20fab2e13ca609d5a7710a8278aaf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3f04e3159073f7ad2fe70738168779091facbabfc4df54d6f49c7c7849a2e888a6cb9d363e94e46d7ceba692721f9b92cc56519035a5662941e2a18a8489122b55af6193444501c030a752a3c6ed3592438623782c89a16d6c42f8f0cc0a1b21ba7db4fec2b5bef35c109623fdcbb54151d8b97d625bebce9de3be69edda8aa7573fa519f4630c5173a274716d29b2bf026b3c64c62732640af0cdf8ca589f2197453b8ba847dc1cea508d577a3f167caa53e0717a12d58502a27dcdfa1cee9161291d0a71f9265b4ab3":"558dcb8c4ed92d22618fb2169a552bf5ada493ad66890639caecce025839f44d2f8b7004d70586296fd94278e478dfbb63a6867f3fd909a558cca1fba1b329a3f230c2874886eb0b5a3de01e02100a939f216a07a445f9e8f7279b8cc31966de23c912c477bed5ac99996f09ec817bd02acb671310b33d5a9bf79bfc14a0e38abef9169c01e7743a408868f42705743023ec7892c2e437b918b40d873d99c56faa58543a8eb41d91d38ab8ca5165b95ac84b30624a6517b2893f432c63d34352059c9a6ad3353fe3859d0b51a971e3d58a287612b1a7b6eeb76b7101850f809960c1c137ea396ede4c570817bef93b2ff901c2d175909f48a6b6a73dc3aa6cef":222:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"b416e0843040b35277be7734bc23ac9e9eb47a7f57f55e94d826285c9c00100a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3f04e3159073f7ad2fe70738168779091facbabfc4df54d6f49c7c7849a2e888a6cb9d363e94e46d7ceba692721f9b92cc56519035a5662941e2a18a8489122b55af6193444501c030a752a3c6ed3592438623782c89a16d6c42f8f0cc0a1b21ba7db4fec2b5bef35c109623fdcbb54151d8b97d625bebce9de3be69edda8aa7573fa519f4630c5173a274716d29b2bf026b3c64c62732640af0cdf8ca589f2197453b8ba847dc1cea508d577a3f167caa53e0717a12d58502a27dcdfa1cee9161291d0a71f9265b4ab3":"558dcb8c4ed92d22618fb2169a552bf5ada493ad66890639caecce025839f44d2f8b7004d70586296fd94278e478dfbb63a6867f3fd909a558cca1fba1b329a3f230c2874886eb0b5a3de01e02100a939f216a07a445f9e8f7279b8cc31966de23c912c477bed5ac99996f09ec817bd02acb671310b33d5a9bf79bfc14a0e38abef9169c01e7743a408868f42705743023ec7892c2e437b918b40d873d99c56faa58543a8eb41d91d38ab8ca5165b95ac84b30624a6517b2893f432c63d34352059c9a6ad3353fe3859d0b51a971e3d58a287612b1a7b6eeb76b7101850f809960c1c137ea396ede4c570817bef93b2ff901c2d175909f48a6b6a73dc3aa6cef":222:0 RSASSA-PSS Signature RSA-2048, SHA-256, Salt Length = max+1 -depends_on:MBEDTLS_SHA256_C -pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"cd74ae6152d5fe5ce3d9073c921e861a24208f0c68477f49c825338e1ef877c0c977c1d2ffcb20e964db6fbedcccce449ec8538c8bfffce5bdece84762dac7f2cba69052c0c67226178a0ce185a2e050b3e1057e94411dd5f726878558e7d62afc8a81a93dcfdb5a2271466d32a8a4868af20fab2e13ca609d5a7710a8278aaf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":223:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:2048:"f7b664093cabf8334b1c0ff824564db5c13f941a279733893a7e5abed536d2b51a2beac80730b5194a0c722f57354ce4b7db447ea3286b1cd1c754548ea3c91a0df1bde3ff70820b63ef3c74a0119671d14db3e2603868a0d607a81bf14f3f41f810c3a24bf52a94f9b694078a556194dd0cb36c56a91846d3569096c631b61f":"e0a1111aa114d5b1702e34d29565d65320e05c21d794f38572ad28a60b2ffe50d0dd3df3fb5a0eef048ec50e144bfe52be30ebf2eaceec9f110a600bb0c2bcacf6b4dabec09b9387c89a8fde19de5ceec780be38dca846d795f82608cf2844e9bced8d81da2d9258c3ef412154f9e590a158ea0ad9180ac6a798614ba3410937":"d95b71c9dfee453ba1b1a7de2c1f0b0a67579ee91d1d3ad97e481829b86edac750c48e12a8cdb026c82f273dafc222009f0db3b08b2db10a69c4b2dddaaeceac1b0c862682eef294e579f55aab871bc0a7eeabc923c9e80dddc22ec0a27002aee6a5ba66397f412bbaf5fb4eaf66a1a0f82eaf6827198caf49b347258b1283e8cbb10da2837f6ecc3490c728fe927f44455a6f194f3776bf79151d9ad7e2daf770b37d12627cc0c5fb62484f46258d9ce2c11b26256d09cb412f8d8f8f1fe91bb94ac27de6d26a83a8439e51b35dbee46b3b8ff991d667bb53eeee85ff1652c8981f141d47c8205791cef5b32d718ddc082ed0dd542826416b2271064ef437a9":"010001":MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA256:"b416e0843040b35277be7734bc23ac9e9eb47a7f57f55e94d826285c9c00100a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":223:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature RSA-1024, SHA-512, Salt Length 0 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7289bf65540f4925c608e62c8d077789828560945a27fd3f3918e4258b38be488d54b546bfe46d56e519583e77fbf3988538e26fd05793cea925934d714e748a23c429356d3c09e51e08d425923e4237c0f00c3c9f77d8544b8e089d265497a683c2f19b80776671ad36d1cadd38e24c3049461f3d3d964ddc9afdf1d4b9022a":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"c3366c552451274a4042e4357447786cce3a25a8dbd8cf3c2f8a8ddc02161bda332bb45062f7c61b7aa7a88ed3b5d51b6103abcf1769642b11ab95f92fa39adf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"7289bf65540f4925c608e62c8d077789828560945a27fd3f3918e4258b38be488d54b546bfe46d56e519583e77fbf3988538e26fd05793cea925934d714e748a23c429356d3c09e51e08d425923e4237c0f00c3c9f77d8544b8e089d265497a683c2f19b80776671ad36d1cadd38e24c3049461f3d3d964ddc9afdf1d4b9022a":0:0 RSASSA-PSS Signature RSA-1024, SHA-512, Salt Length max -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13bc5bd8f242a193ead499173ae97c2313d53874c791b13e0adda0ee89fef3668b5f3f7d91d1117cb5aa93e":"a063080224f2659a25ce69417f3240779712d93a69461eb7712c137ed5d4ed7c8490b3e4e7e70e560921da59899a542d1f28db68c1247fd7a0db983ded9f6db9a8d9445c28ba3e4afffb4ed6fd4c93e774082a6dadc8052f3d48cb899d63b9a82f34315f999deb065da600207ea78bfd199e2249f86a55c79761933ee87337aa":62:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"c3366c552451274a4042e4357447786cce3a25a8dbd8cf3c2f8a8ddc02161bda332bb45062f7c61b7aa7a88ed3b5d51b6103abcf1769642b11ab95f92fa39adf":"6f2841166a64471d4f0b8ed0dbb7db32161da13bc5bd8f242a193ead499173ae97c2313d53874c791b13e0adda0ee89fef3668b5f3f7d91d1117cb5aa93e":"a063080224f2659a25ce69417f3240779712d93a69461eb7712c137ed5d4ed7c8490b3e4e7e70e560921da59899a542d1f28db68c1247fd7a0db983ded9f6db9a8d9445c28ba3e4afffb4ed6fd4c93e774082a6dadc8052f3d48cb899d63b9a82f34315f999deb065da600207ea78bfd199e2249f86a55c79761933ee87337aa":62:0 RSASSA-PSS Signature RSA-1024, SHA-512, Salt Length max+1 -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"1248f62a4389f42f7b4bb131053d6c88a994db2075b912ccbe3ea7dc611714f14e075c104858f2f6e6cfd6abdedf015a821d03608bf4eba3169a6725ec422cd9069498b5515a9608ae7cc30e3d2ecfc1db6825f3e996ce9a5092926bc1cf61aa42d7f240e6f7aa0edb38bf81aa929d66bb5d890018088458720d72d569247b0c":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":63:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:1024:"e5563b145db6ff5a16280d3e80eff02f181dbd03324ef247f596a4d4a7b8daa32b9934e3c7f4dcf6a3105462dec63839638618418b51db02693fabb4e6838725":"d2a4ec0fa2226cde82da77653b072cd098535d3e90ed4d7224dcb8cb8b9314768dc517e22d7c8fa13f253daa7465a79956098aa4cc3a6e35e8b1fcc4f97e774f":"bcb47b2e0dafcba81ff2a2b5cb115ca7e757184c9d72bcdcda707a146b3b4e29989ddc660bd694865b932b71ca24a335cf4d339c719183e6222e4c9ea6875acd528a49ba21863fe08147c3a47e41990b51a03f77d22137f8d74c43a5a45f4e9e18a2d15db051dc89385db9cf8374b63a8cc88113710e6d8179075b7dc79ee76b":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"c3366c552451274a4042e4357447786cce3a25a8dbd8cf3c2f8a8ddc02161bda332bb45062f7c61b7aa7a88ed3b5d51b6103abcf1769642b11ab95f92fa39adf":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":63:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Signature RSA-3072, SHA-384, Salt Length 0 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"692acaaf5e277cdd4b3fdc0a1ff1785bfd28a3a8ec1bc97fd072ff6c99aade77baba92efdcf72e66d43542fdd32fb0e2dd29bb167dd36174b671ebef3c39c21be5fc84ef5a0957c9124f7eb281c12ae38cff9289413245c6c537bff88d013b3dd138c9373e26a00cecd4b5b18f708d69f1f24f88a0001d7de30ea40ff3c9f2e7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"9110b39c1ffc2d8a5f24e965e3985b06871c2be23e677bb3ea879b7b6b25c327ebdd9434387cfe5f64bcb6900a5c8395549e3681390583786b709257ff0ad90507a02ec6abb40e33dec80097322876a84ee98b1fe79ced62ba4f983bb9b52758bf9856098af527924ea83291762b179894f1fab6d8c9867b0244393fa32b5871836fa4446b247153bc117ccaf7cd51c5ec026bcaf9b634182cd19a0eb95ec40dd5e4274750c9ee3b1379fb339fa4ed8348b104936396355bea0a00337b83f47d2fd7e7353f3009752f970eebc1bbade601b912f7b0984bccc68941ed23bd31fcd23a7d0f2b0cfaabdb3d361969f485e5d198442661ee71eef258ae9fc27a19d995a5695c668f9ab78622486d6ccfe4ae11de9240588fafbc75f8bd0d04de5f2959c126b7c672eac8bb65031ea22ebb4a4e36c12f427d2dc4619eb30ef1c90ec951337a364566f0d2e32f311b425a68fd5277a85dc8d8041ab2a0165c39fd4e39160498d5eae98965e8745b77390e5ddeff0aeffc0fb18839455d524826a1f366":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"bc9fb8fc6d4c6ce8865c758063e55639f98afc15e5d71f4f1ecf89d6fbb904aecc28126bd5e6b5a7f8f31729949dbf8a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"9110b39c1ffc2d8a5f24e965e3985b06871c2be23e677bb3ea879b7b6b25c327ebdd9434387cfe5f64bcb6900a5c8395549e3681390583786b709257ff0ad90507a02ec6abb40e33dec80097322876a84ee98b1fe79ced62ba4f983bb9b52758bf9856098af527924ea83291762b179894f1fab6d8c9867b0244393fa32b5871836fa4446b247153bc117ccaf7cd51c5ec026bcaf9b634182cd19a0eb95ec40dd5e4274750c9ee3b1379fb339fa4ed8348b104936396355bea0a00337b83f47d2fd7e7353f3009752f970eebc1bbade601b912f7b0984bccc68941ed23bd31fcd23a7d0f2b0cfaabdb3d361969f485e5d198442661ee71eef258ae9fc27a19d995a5695c668f9ab78622486d6ccfe4ae11de9240588fafbc75f8bd0d04de5f2959c126b7c672eac8bb65031ea22ebb4a4e36c12f427d2dc4619eb30ef1c90ec951337a364566f0d2e32f311b425a68fd5277a85dc8d8041ab2a0165c39fd4e39160498d5eae98965e8745b77390e5ddeff0aeffc0fb18839455d524826a1f366":0:0 RSASSA-PSS Signature RSA-3072, SHA-384, Salt Length max -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"692acaaf5e277cdd4b3fdc0a1ff1785bfd28a3a8ec1bc97fd072ff6c99aade77baba92efdcf72e66d43542fdd32fb0e2dd29bb167dd36174b671ebef3c39c21be5fc84ef5a0957c9124f7eb281c12ae38cff9289413245c6c537bff88d013b3dd138c9373e26a00cecd4b5b18f708d69f1f24f88a0001d7de30ea40ff3c9f2e7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3fe26ee600cfb2d187384e529f280485cf84830af8cb015878cb7c4c74ad6ab38fd8998fa74b612e84af8123d785a8a60a2bb002f7b15a6f7cd6bbf18325a412fd3ea2a48903d30db2543089d9d82fe304dfe5fb903f6a0d1625fe994aa2ac47e04eeb6a51be770312a88cec80bbcf849ab57f2af4e9370a0e35a458d8509fb89e8b22ef499af25c427e48c2391747d3ccc6fdc1b035cbbe6a6f1742bfb6fb5d411d4c8bb73ee7f9bc2fbcf54603c813c9c6d479fb9f38650f4fa8ce05a32c47c078d278b7b97173e82d692e303141faf71573f2b5ab58c4fa009200a3be47633719dbeed24d61ba7acae8abfc2aa5f33f18e6f4c43eb8be3e4bbee1090544401e202ef06d90aae75a939256bd374afc5030f1146ea9d2acf4918dfe96d13eb5f16da55efd504657e3d8aea010f89c60288d74963746422bd7cf":"57a5511992b30d39e150b6a7a760a74136db0a24bc635f3a700a74f865a7c9c0ed2e2e196022a6d17ad7c2d3f12946828458015beffb0c0652de2cc9c3366aaeb7634c5d6ccbdf6c7c93b8feff21a7d2831ac3ee73fd98f9c972dcb833ac61323b77ec249db0e4fb9bf33c71aef9d2aaef40aafab2cb3870f0224c8d0c3ada2abb9d3dd601a038594d290177277a8b791ebcc211d7e5379323a633c62fe9cc2394bd7a977a604122ee9799e5368cc17e1af1795046e76899aa6e7be8f27b1a3e96daa81784d967e9a36cf1912936d7ae11f80aed79c27c53237e7fa009daf9240fb205f83e8c6f8f57d3c3520e0e60213a203432c18d92979b13555ce6eab075ddb38b6d820e378ac4e3afcb3d57e5c6d3c11f165745996fdb61e36b842c6ec81d6437073fe9fc96a4dbc3b188ca766a7f7ef786f39729cadcc5700fb0fffeca0eb0bc47243783f129917948df9bee23da83fadadfa87708e0a839a62965a5d2b9a7cd16b4675cef6afc8fbc2615d97d11ede47f4dfd83e74847dc184ccdc4fd":334:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"bc9fb8fc6d4c6ce8865c758063e55639f98afc15e5d71f4f1ecf89d6fbb904aecc28126bd5e6b5a7f8f31729949dbf8a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b3fe26ee600cfb2d187384e529f280485cf84830af8cb015878cb7c4c74ad6ab38fd8998fa74b612e84af8123d785a8a60a2bb002f7b15a6f7cd6bbf18325a412fd3ea2a48903d30db2543089d9d82fe304dfe5fb903f6a0d1625fe994aa2ac47e04eeb6a51be770312a88cec80bbcf849ab57f2af4e9370a0e35a458d8509fb89e8b22ef499af25c427e48c2391747d3ccc6fdc1b035cbbe6a6f1742bfb6fb5d411d4c8bb73ee7f9bc2fbcf54603c813c9c6d479fb9f38650f4fa8ce05a32c47c078d278b7b97173e82d692e303141faf71573f2b5ab58c4fa009200a3be47633719dbeed24d61ba7acae8abfc2aa5f33f18e6f4c43eb8be3e4bbee1090544401e202ef06d90aae75a939256bd374afc5030f1146ea9d2acf4918dfe96d13eb5f16da55efd504657e3d8aea010f89c60288d74963746422bd7cf":"57a5511992b30d39e150b6a7a760a74136db0a24bc635f3a700a74f865a7c9c0ed2e2e196022a6d17ad7c2d3f12946828458015beffb0c0652de2cc9c3366aaeb7634c5d6ccbdf6c7c93b8feff21a7d2831ac3ee73fd98f9c972dcb833ac61323b77ec249db0e4fb9bf33c71aef9d2aaef40aafab2cb3870f0224c8d0c3ada2abb9d3dd601a038594d290177277a8b791ebcc211d7e5379323a633c62fe9cc2394bd7a977a604122ee9799e5368cc17e1af1795046e76899aa6e7be8f27b1a3e96daa81784d967e9a36cf1912936d7ae11f80aed79c27c53237e7fa009daf9240fb205f83e8c6f8f57d3c3520e0e60213a203432c18d92979b13555ce6eab075ddb38b6d820e378ac4e3afcb3d57e5c6d3c11f165745996fdb61e36b842c6ec81d6437073fe9fc96a4dbc3b188ca766a7f7ef786f39729cadcc5700fb0fffeca0eb0bc47243783f129917948df9bee23da83fadadfa87708e0a839a62965a5d2b9a7cd16b4675cef6afc8fbc2615d97d11ede47f4dfd83e74847dc184ccdc4fd":334:0 RSASSA-PSS Signature RSA-3072, SHA-384, Salt Length max + 1 -depends_on:MBEDTLS_SHA384_C -pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"692acaaf5e277cdd4b3fdc0a1ff1785bfd28a3a8ec1bc97fd072ff6c99aade77baba92efdcf72e66d43542fdd32fb0e2dd29bb167dd36174b671ebef3c39c21be5fc84ef5a0957c9124f7eb281c12ae38cff9289413245c6c537bff88d013b3dd138c9373e26a00cecd4b5b18f708d69f1f24f88a0001d7de30ea40ff3c9f2e7":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":335:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:3072:"ca7b50c5f65f2115fea7691f7d90c124866e774e68e9eb89306538956fc217593d46017b7dd7942d636e384a34c802a14d5fd9916798d7d6193ef1a29e2fdbefd955261496d8ac9713922d43bfc43a7a410752ccbc854cc85268f411e793f9b5279007bbcaca30fb16fd9033a6ea31566b4f2c27f0161107e2cd890bcf563a522ee0eb96a016e9007595a94172a4aeded11fadcb8ab5f03cd154f8b8e0e0666ff62b1ccda02599ea44bbfcfaea541a5ac26bf267a56a8177a50f6b87b460a54d":"c591723042d4b8737f4ef9dfeb40c6d62d439ee8688158a4be24c0ad130f851113cc53d776c63cd782b95ccfd266bdb2578b78439c121de34e8955a7fbd2c6ae1a1c37b24c12f5dce15175dd9e203a3abd5bf9e736b1fc183d10c4540c5cf2cbe26768e94c1eab2ba3008b32d6d50716699c6bfcbec5bbeb94a054dbcd16d10f74972ca5fe53256cd0ade8f502eceaed633414a9bdb623035a234f65c6662a23d792cc0eeb21a1f55ebca26ffa1c56c96fbb7d870fc3ffb181de8398238ab1b5":"9c43ef522cab18022297d3d70fa491d03b975b844b76cedba35d8d885ddb2825e31fd5c101bd9e9a215520bb8cdddeb6ab2cf2dc86065179477d80f733016929d7334cdfdf818c1378a4b9428fa1ee2e525321f905d0b949d3abc9e93d3f30b077795338bd55c28a1ced134bb2d575bfa44b2fd8cf1d5c54168a12a1d6c511f62ca973cdb704c233487e1fd39e5adc8870af352ec3c6a6a64152fc82a1c16ecc43d1d5817f76a1b46a5fab9db8923311edd3cc032fed7eb6252e77db69d7bf9ee35dc4ddd0fbdb9a76afe25a82f4495aa4f072cef9b1247cb368bcc8677565a47095242702e6341281f506805e20e8c89e9af28adff21c804c70cab10ee2fe5212ec07987d13e7d4b60529611e4d33a062d724cdfb16cdc48b964ba07dfa2620d5a8805d0be93380850c66f3fada059802a5946bfe3b0b10e19a8289ec01f6514abb883bb53c49dadbba42d412ea264c8a5122fda1ea9b742289642b0ea34ceb76ae8256a97845d37594cfbff8c7a4430176223bacc3bef395ceda13fd211c71":"010001":MBEDTLS_MD_SHA384:MBEDTLS_MD_SHA384:"bc9fb8fc6d4c6ce8865c758063e55639f98afc15e5d71f4f1ecf89d6fbb904aecc28126bd5e6b5a7f8f31729949dbf8a":"6f2841166a64471d4f0b8ed0dbb7db32161da13b":"":335:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Sign. RSA-520 SHA-512: Salt Len. 0, no possible salt size -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:520:"0feea5f6220fac291b9508ec2ba8ed281eb39aee4d5dc693254106816ebc700ecf":"0d68918785c3aafe31eaaa2d8d8156dce645940ff7734a457337a51bd00bc88811":"00d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:520:"0feea5f6220fac291b9508ec2ba8ed281eb39aee4d5dc693254106816ebc700ecf":"0d68918785c3aafe31eaaa2d8d8156dce645940ff7734a457337a51bd00bc88811":"00d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSASSA-PSS Sign. RSA-528 SHA-512: Salt Len. 0, only room for empty salt -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"5bf02a1ff652052be266d0630fb802bde71d363904e2e001267dba592c88e755befb9b8004ecf1c5de07ad8cd260ede04971b201d524434e657396d6bfd8917def84":0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"5bf02a1ff652052be266d0630fb802bde71d363904e2e001267dba592c88e755befb9b8004ecf1c5de07ad8cd260ede04971b201d524434e657396d6bfd8917def84":0:0 RSASSA-PSS Sign. RSA-528 SHA-512: Salt Len. 1, only room for empty salt -depends_on:MBEDTLS_SHA512_C -pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd32a7c8a05bbc90d32c49d436e99569fd00":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":1:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA +pkcs1_rsassa_pss_sign:528:"00d272aa28ed2085ac6df3c05c6719eed5deb618afa2e4ca4a6f7330b430ad48672d":"00c578836bab27145db9dd66f17470b62d4a6100f8ca0dedf457ee3639c3b9596325":"00a2554eba715bf66e5ecdf3d6d718e3e5d907e8666e7bf5a76b415106e04eb827ec4cb2199cff66491d45419082059aa5b54b0cf5eef4443402f3047c0b0e6f025081":"010001":MBEDTLS_MD_SHA512:MBEDTLS_MD_SHA512:"391cad6ca7e43059db25e85e9055b00a1087dd8709b40e07fd2b20327ba5dbe1eaac18bc4ddc9d9fd27572895a05553c613d7fe57da7543b19eba91860e1ca12":"e3b5d5d002c1bce50c2b65ef88a188d83bce7e61":"":1:MBEDTLS_ERR_RSA_BAD_INPUT_DATA diff --git a/tests/suites/test_suite_pkcs1_v21.function b/tests/suites/test_suite_pkcs1_v21.function index 27b0990d74..593c047f22 100644 --- a/tests/suites/test_suite_pkcs1_v21.function +++ b/tests/suites/test_suite_pkcs1_v21.function @@ -1,10 +1,10 @@ /* BEGIN_HEADER */ #include "mbedtls/rsa.h" -#include "mbedtls/md.h" +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES - * depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_RSA_C:MBEDTLS_SHA1_C + * depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_RSA_C * END_DEPENDENCIES */ @@ -118,12 +118,10 @@ exit: /* BEGIN_CASE */ void pkcs1_rsassa_pss_sign( int mod, data_t * input_P, data_t * input_Q, data_t * input_N, data_t * input_E, int digest, - int hash, data_t * message_str, data_t * rnd_buf, + int hash, data_t * hash_digest, data_t * rnd_buf, data_t * result_str, int fixed_salt_length, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); unsigned char output[512]; mbedtls_rsa_context ctx; mbedtls_test_rnd_buf_info info; @@ -140,7 +138,6 @@ void pkcs1_rsassa_pss_sign( int mod, data_t * input_P, data_t * input_Q, TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V21, hash ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); memset( output, 0x00, sizeof( output ) ); TEST_ASSERT( mbedtls_mpi_read_binary( &P, input_P->x, input_P->len ) == 0 ); @@ -153,15 +150,11 @@ void pkcs1_rsassa_pss_sign( int mod, data_t * input_P, data_t * input_Q, TEST_ASSERT( mbedtls_rsa_complete( &ctx ) == 0 ); TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 ); - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - if (fixed_salt_length == MBEDTLS_RSA_SALT_LEN_ANY) { TEST_ASSERT( mbedtls_rsa_pkcs1_sign( &ctx, &mbedtls_test_rnd_buffer_rand, &info, - digest, mbedtls_md_get_size( md_info ), hash_result, - output ) == result ); + digest, hash_digest->len, hash_digest->x, output ) == result ); if( result == 0 ) { ASSERT_COMPARE( output, ctx.len, result_str->x, result_str->len ); @@ -173,7 +166,7 @@ void pkcs1_rsassa_pss_sign( int mod, data_t * input_P, data_t * input_Q, TEST_ASSERT( mbedtls_rsa_rsassa_pss_sign_ext( &ctx, &mbedtls_test_rnd_buffer_rand, &info, - digest, mbedtls_md_get_size( md_info ), hash_result, + digest, hash_digest->len, hash_digest->x, fixed_salt_length, output ) == result ); if( result == 0 ) { @@ -189,11 +182,9 @@ exit: /* BEGIN_CASE */ void pkcs1_rsassa_pss_verify( int mod, data_t * input_N, data_t * input_E, - int digest, int hash, data_t * message_str, + int digest, int hash, data_t * hash_digest, char * salt, data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); mbedtls_rsa_context ctx; mbedtls_mpi N, E; ((void) salt); @@ -202,7 +193,6 @@ void pkcs1_rsassa_pss_verify( int mod, data_t * input_N, data_t * input_E, mbedtls_rsa_init( &ctx ); TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V21, hash ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); TEST_ASSERT( mbedtls_mpi_read_binary( &N, input_N->x, input_N->len ) == 0 ); TEST_ASSERT( mbedtls_mpi_read_binary( &E, input_E->x, input_E->len ) == 0 ); @@ -212,10 +202,7 @@ void pkcs1_rsassa_pss_verify( int mod, data_t * input_N, data_t * input_E, TEST_ASSERT( mbedtls_rsa_check_pubkey( &ctx ) == 0 ); - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - - TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, mbedtls_md_get_size( md_info ), hash_result, result_str->x ) == result ); + TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, hash_digest->len, hash_digest->x, result_str->x ) == result ); exit: mbedtls_mpi_free( &N ); mbedtls_mpi_free( &E ); @@ -227,20 +214,17 @@ exit: void pkcs1_rsassa_pss_verify_ext( int mod, data_t * input_N, data_t * input_E, int msg_digest_id, int ctx_hash, int mgf_hash, int salt_len, - data_t * message_str, + data_t * hash_digest, data_t * result_str, int result_simple, int result_full ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; mbedtls_rsa_context ctx; - size_t hash_len; mbedtls_mpi N, E; mbedtls_mpi_init( &N ); mbedtls_mpi_init( &E ); mbedtls_rsa_init( &ctx ); TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V21, ctx_hash ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); TEST_ASSERT( mbedtls_mpi_read_binary( &N, input_N->x, input_N->len ) == 0 ); TEST_ASSERT( mbedtls_mpi_read_binary( &E, input_E->x, input_E->len ) == 0 ); @@ -250,27 +234,12 @@ void pkcs1_rsassa_pss_verify_ext( int mod, data_t * input_N, data_t * input_E, TEST_ASSERT( mbedtls_rsa_check_pubkey( &ctx ) == 0 ); - if( msg_digest_id != MBEDTLS_MD_NONE ) - { - const mbedtls_md_info_t *md_info = - mbedtls_md_info_from_type( msg_digest_id ); - TEST_ASSERT( mbedtls_md( md_info, - message_str->x, message_str->len, - hash_result ) == 0 ); - hash_len = mbedtls_md_get_size( md_info ); - } - else - { - memcpy( hash_result, message_str->x, message_str->len ); - hash_len = message_str->len; - } - TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, msg_digest_id, - hash_len, hash_result, + hash_digest->len, hash_digest->x, result_str->x ) == result_simple ); - TEST_ASSERT( mbedtls_rsa_rsassa_pss_verify_ext( &ctx, msg_digest_id, hash_len, - hash_result, mgf_hash, salt_len, + TEST_ASSERT( mbedtls_rsa_rsassa_pss_verify_ext( &ctx, msg_digest_id, hash_digest->len, + hash_digest->x, mgf_hash, salt_len, result_str->x ) == result_full ); exit: diff --git a/tests/suites/test_suite_pkcs5.data b/tests/suites/test_suite_pkcs5.data index 65043a45ee..5c6df7ce5d 100644 --- a/tests/suites/test_suite_pkcs5.data +++ b/tests/suites/test_suite_pkcs5.data @@ -1,213 +1,213 @@ PBKDF2 RFC 6070 Test Vector #1 (SHA1) -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA1:"70617373776f7264":"73616c74":1:20:"0c60c80f961f0e71f3a9b524af6012062fe037a6" PBKDF2 RFC 6070 Test Vector #2 (SHA1) -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA1:"70617373776f7264":"73616c74":2:20:"ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957" PBKDF2 RFC 6070 Test Vector #3 (SHA1) -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA1:"70617373776f7264":"73616c74":4096:20:"4b007901b765489abead49d926f721d065a429c1" PBKDF2 RFC 6070 Test Vector #5 (SHA1) -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA1:"70617373776f726450415353574f524470617373776f7264":"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":4096:25:"3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038" PBKDF2 RFC 6070 Test Vector #6 (SHA1) -depends_on:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA1:"7061737300776f7264":"7361006c74":4096:16:"56fa6aa75548099dcc37d7f03425e0c3" PBKDF2 Python hashlib Test Vector #1 (SHA224) -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA224:"70617373776f7264":"73616c74":1:20:"3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e" PBKDF2 Python hashlib Test Vector #2 (SHA224) -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA224:"70617373776f7264":"73616c74":2:20:"93200ffa96c5776d38fa10abdf8f5bfc0054b971" PBKDF2 Python hashlib Test Vector #3 (SHA224) -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA224:"70617373776f7264":"73616c74":4096:20:"218c453bf90635bd0a21a75d172703ff6108ef60" PBKDF2 Python hashlib Test Vector #5 (SHA224) -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA224:"70617373776f726450415353574f524470617373776f7264":"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":4096:25:"056c4ba438ded91fc14e0594e6f52b87e1f3690c0dc0fbc057" PBKDF2 Python hashlib Test Vector #6 (SHA224) -depends_on:MBEDTLS_SHA224_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA224:"7061737300776f7264":"7361006c74":4096:16:"9b4011b641f40a2a500a31d4a392d15c" PBKDF2 RFC 7914 Sec 11 Test Vector #1 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"706173737764":"73616c74":1:64:"55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783" PBKDF2 RFC 7914 Sec 11 Test Vector #2 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"50617373776f7264":"4e61436c":80000:64:"4ddcd8f60b98be21830cee5ef22701f9641a4418d04c0414aeff08876b34ab56a1d425a1225833549adb841b51c9b3176a272bdebba1d078478f62b397f33c8d" PBKDF2 Python hashlib Test Vector #1 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"70617373776f7264":"73616c74":1:20:"120fb6cffcf8b32c43e7225256c4f837a86548c9" PBKDF2 Python hashlib Test Vector #2 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"70617373776f7264":"73616c74":2:20:"ae4d0c95af6b46d32d0adff928f06dd02a303f8e" PBKDF2 Python hashlib Test Vector #3 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"70617373776f7264":"73616c74":4096:20:"c5e478d59288c841aa530db6845c4c8d962893a0" PBKDF2 Python hashlib Test Vector #5 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"70617373776f726450415353574f524470617373776f7264":"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":4096:25:"348c89dbcbd32b2f32d814b8116e84cf2b17347ebc1800181c" PBKDF2 Python hashlib Test Vector #6 (SHA256) -depends_on:MBEDTLS_SHA256_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA256:"7061737300776f7264":"7361006c74":4096:16:"89b69d0516f829893c696226650a8687" PBKDF2 Python hashlib Test Vector #1 (SHA384) -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA384:"70617373776f7264":"73616c74":1:20:"c0e14f06e49e32d73f9f52ddf1d0c5c719160923" PBKDF2 Python hashlib Test Vector #2 (SHA384) -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA384:"70617373776f7264":"73616c74":2:20:"54f775c6d790f21930459162fc535dbf04a93918" PBKDF2 Python hashlib Test Vector #3 (SHA384) -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA384:"70617373776f7264":"73616c74":4096:20:"559726be38db125bc85ed7895f6e3cf574c7a01c" PBKDF2 Python hashlib Test Vector #5 (SHA384) -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA384:"70617373776f726450415353574f524470617373776f7264":"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":4096:25:"819143ad66df9a552559b9e131c52ae6c5c1b0eed18f4d283b" PBKDF2 Python hashlib Test Vector #6 (SHA384) -depends_on:MBEDTLS_SHA384_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA384:"7061737300776f7264":"7361006c74":4096:16:"a3f00ac8657e095f8e0823d232fc60b3" PBKDF2 Python hashlib Test Vector #1 (SHA512) -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA512:"70617373776f7264":"73616c74":1:20:"867f70cf1ade02cff3752599a3a53dc4af34c7a6" PBKDF2 Python hashlib Test Vector #2 (SHA512) -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA512:"70617373776f7264":"73616c74":2:20:"e1d9c16aa681708a45f5c7c4e215ceb66e011a2e" PBKDF2 Python hashlib Test Vector #3 (SHA512) -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA512:"70617373776f7264":"73616c74":4096:20:"d197b1b33db0143e018b12f3d1d1479e6cdebdcc" PBKDF2 Python hashlib Test Vector #5 (SHA512) -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA512:"70617373776f726450415353574f524470617373776f7264":"73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74":4096:25:"8c0511f4c6e597c6ac6315d8f0362e225f3c501495ba23b868" PBKDF2 Python hashlib Test Vector #6 (SHA512) -depends_on:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA pbkdf2_hmac:MBEDTLS_MD_SHA512:"7061737300776f7264":"7361006c74":4096:16:"9d9e9c4cd21fe4be24d5b8244c759665" PBES2 Decrypt (OK) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301406082A864886F70D030704088A4FCC9DCC394910":"70617373776f7264":"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":0:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606" PBES2 Decrypt (bad params tag) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_SEQUENCE:"":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad KDF AlgId: not a sequence) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"31":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad KDF AlgId: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"3001":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (KDF != PBKDF2) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"300B06092A864886F70D01050D":"":"":MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE:"" PBES2 Decrypt (bad PBKDF2 params: not a sequence) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"300D06092A864886F70D01050C3100":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad PBKDF2 params: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"300D06092A864886F70D01050C3001":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (bad PBKDF2 params salt: not an octet string) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"300E06092A864886F70D01050C30010500":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad PBKDF2 params salt: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"300E06092A864886F70D01050C30010401":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (bad PBKDF2 params iter: not an int) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301906092A864886F70D01050C300C04082ED7F24A1D516DD70300":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad PBKDF2 params iter: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301906092A864886F70D01050C300C04082ED7F24A1D516DD70201":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (OK, PBKDF2 params explicit keylen) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301E06092A864886F70D01050C301104082ED7F24A1D516DD702020800020118301406082A864886F70D030704088A4FCC9DCC394910":"70617373776f7264":"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":0:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606" PBES2 Decrypt (bad PBKDF2 params explicit keylen: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208000201":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (OK, PBKDF2 params explicit prf_alg) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"302706092A864886F70D01050C301A04082ED7F24A1D516DD702020800300A06082A864886F70D0207301406082A864886F70D030704088A4FCC9DCC394910":"70617373776f7264":"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":0:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606" PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg not a sequence) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208003100":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301D06092A864886F70D01050C301004082ED7F24A1D516DD7020208003001":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (bad, PBKDF2 params explicit prf_alg != HMAC-SHA*) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"302706092A864886F70D01050C301A04082ED7F24A1D516DD702020800300A06082A864886F70D0206":"":"":MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE:"" PBES2 Decrypt (bad, PBKDF2 params extra data) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"302806092A864886F70D01050C301B04082ED7F24A1D516DD702020800300A06082A864886F70D020700":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH:"" PBES2 Decrypt (bad enc_scheme_alg: not a sequence) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD7020208003100":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG:"" PBES2 Decrypt (bad enc_scheme_alg: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD7020208003001":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (bad enc_scheme_alg: unknown oid) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300A06082A864886F70D03FF":"":"":MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE:"" PBES2 Decrypt (bad enc_scheme_alg params: not an octet string) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300C06082A864886F70D03070500":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT:"" PBES2 Decrypt (bad enc_scheme_alg params: overlong) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800300C06082A864886F70D03070401":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA:"" PBES2 Decrypt (bad enc_scheme_alg params: len != iv_len) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301306082A864886F70D030704078A4FCC9DCC3949":"":"":MBEDTLS_ERR_PKCS5_INVALID_FORMAT:"" PBES2 Decrypt (bad password) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020800301406082A864886F70D030704088A4FCC9DCC394910":"F0617373776f7264":"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606" PBES2 Decrypt (bad iter value) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 mbedtls_pkcs5_pbes2:MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:"301B06092A864886F70D01050C300E04082ED7F24A1D516DD702020801301406082A864886F70D030704088A4FCC9DCC394910":"70617373776f7264":"1B60098D4834CA752D37B430E70B7A085CFF86E21F4849F969DD1DF623342662443F8BD1252BF83CEF6917551B08EF55A69C8F2BFFC93BCB2DFE2E354DA28F896D1BD1BFB972A1251219A6EC7183B0A4CF2C4998449ED786CAE2138437289EB2203974000C38619DA57A4E685D29649284602BD1806131772DA11A682674DC22B2CF109128DDB7FD980E1C5741FC0DB7":MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH:"308187020100301306072A8648CE3D020106082A8648CE3D030107046D306B0201010420F12A1320760270A83CBFFD53F6031EF76A5D86C8A204F2C30CA9EBF51F0F0EA7A1440342000437CC56D976091E5A723EC7592DFF206EEE7CF9069174D0AD14B5F768225962924EE500D82311FFEA2FD2345D5D16BD8A88C26B770D55CD8A2A0EFA01C8B4EDFF060606060606" PKCS#5 Selftest diff --git a/tests/suites/test_suite_pkcs5.function b/tests/suites/test_suite_pkcs5.function index 0b0c937cf4..7b7ed3d013 100644 --- a/tests/suites/test_suite_pkcs5.function +++ b/tests/suites/test_suite_pkcs5.function @@ -1,5 +1,6 @@ /* BEGIN_HEADER */ #include "mbedtls/pkcs5.h" +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -11,24 +12,16 @@ void pbkdf2_hmac( int hash, data_t * pw_str, data_t * salt_str, int it_cnt, int key_len, data_t * result_key_string ) { - mbedtls_md_context_t ctx; - const mbedtls_md_info_t *info; - unsigned char key[100]; - mbedtls_md_init( &ctx ); - - info = mbedtls_md_info_from_type( hash ); - TEST_ASSERT( info != NULL ); - TEST_ASSERT( mbedtls_md_setup( &ctx, info, 1 ) == 0 ); - TEST_ASSERT( mbedtls_pkcs5_pbkdf2_hmac( &ctx, pw_str->x, pw_str->len, salt_str->x, salt_str->len, - it_cnt, key_len, key ) == 0 ); + PSA_INIT_IF_NO_MD(); + TEST_ASSERT( mbedtls_pkcs5_pbkdf2_hmac_ext( hash, pw_str->x, pw_str->len, + salt_str->x, salt_str->len, + it_cnt, key_len, key ) == 0 ); TEST_ASSERT( mbedtls_test_hexcmp( key, result_key_string->x, key_len, result_key_string->len ) == 0 ); - -exit: - mbedtls_md_free( &ctx ); + PSA_DONE_IF_NO_MD(); } /* END_CASE */ @@ -40,6 +33,8 @@ void mbedtls_pkcs5_pbes2( int params_tag, data_t *params_hex, data_t *pw, mbedtls_asn1_buf params; unsigned char *my_out = NULL; + PSA_INIT_IF_NO_MD(); + params.tag = params_tag; params.p = params_hex->x; params.len = params_hex->len; @@ -55,6 +50,7 @@ void mbedtls_pkcs5_pbes2( int params_tag, data_t *params_hex, data_t *pw, exit: mbedtls_free( my_out ); + PSA_DONE_IF_NO_MD(); } /* END_CASE */ diff --git a/tests/suites/test_suite_pkcs7.data b/tests/suites/test_suite_pkcs7.data new file mode 100644 index 0000000000..571d5adf4a --- /dev/null +++ b/tests/suites/test_suite_pkcs7.data @@ -0,0 +1,83 @@ +PKCS7 Signed Data Parse Pass SHA256 #1 +depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_cert_signed_sha256.der":MBEDTLS_PKCS7_SIGNED_DATA + +PKCS7 Signed Data Parse Pass SHA1 #2 +depends_on:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_cert_signed_sha1.der":MBEDTLS_PKCS7_SIGNED_DATA + +PKCS7 Signed Data Parse Pass Without CERT #3 +depends_on:MBEDTLS_SHA256_C +pkcs7_parse:"data_files/pkcs7_data_without_cert_signed.der":MBEDTLS_PKCS7_SIGNED_DATA + +PKCS7 Signed Data Parse Fail with multiple certs #4 +depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_multiple_certs_signed.der":MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE + +PKCS7 Signed Data Parse Fail with corrupted cert #5 +depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_signed_badcert.der":MBEDTLS_ERR_PKCS7_INVALID_CERT + +PKCS7 Signed Data Parse Fail with corrupted signer info #6 +depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_signed_badsigner.der":MBEDTLS_ERROR_ADD(MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO,MBEDTLS_ERR_ASN1_UNEXPECTED_TAG) + +PKCS7 Signed Data Parse Fail Version other than 1 #7 +depends_on:MBEDTLS_SHA256_C +pkcs7_parse:"data_files/pkcs7_data_cert_signed_v2.der":MBEDTLS_ERR_PKCS7_INVALID_VERSION + +PKCS7 Signed Data Parse Fail Encrypted Content #8 +depends_on:MBEDTLS_SHA256_C +pkcs7_parse:"data_files/pkcs7_data_cert_encrypted.der":MBEDTLS_ERR_PKCS7_FEATURE_UNAVAILABLE + +PKCS7 Signed Data Verification Pass SHA256 #9 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha256.der":"data_files/pkcs7-rsa-sha256-1.der":"data_files/pkcs7_data.bin":0:0 + +PKCS7 Signed Data Verification Pass SHA256 #9.1 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha256.der":"data_files/pkcs7-rsa-sha256-1.der":"data_files/pkcs7_data.bin":MBEDTLS_MD_SHA256:0 + +PKCS7 Signed Data Verification Pass SHA1 #10 +depends_on:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha1.der":"data_files/pkcs7-rsa-sha256-1.der":"data_files/pkcs7_data.bin":0:0 + +PKCS7 Signed Data Verification Pass SHA512 #11 +depends_on:MBEDTLS_SHA512_C:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha512.der":"data_files/pkcs7-rsa-sha256-1.der":"data_files/pkcs7_data.bin":0:0 + +PKCS7 Signed Data Verification Fail because of different certificate #12 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha256.der":"data_files/pkcs7-rsa-sha256-2.der":"data_files/pkcs7_data.bin":0:MBEDTLS_ERR_RSA_VERIFY_FAILED + +PKCS7 Signed Data Verification Fail because of different data hash #13 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify:"data_files/pkcs7_data_cert_signed_sha256.der":"data_files/pkcs7-rsa-sha256-1.der":"data_files/pkcs7_data_1.bin":0:MBEDTLS_ERR_RSA_VERIFY_FAILED + +PKCS7 Signed Data Parse Failure Corrupt signerInfo.issuer #15.1 +depends_on:MBEDTLS_SHA256_C +pkcs7_parse:"data_files/pkcs7_signerInfo_issuer_invalid_size.der":MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO + +PKCS7 Signed Data Parse Failure Corrupt signerInfo.serial #15.2 +depends_on:MBEDTLS_SHA256_C +pkcs7_parse:"data_files/pkcs7_signerInfo_serial_invalid_size.der":MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO + +pkcs7_get_signers_info_set error handling (6213931373035520) +depends_on:MBEDTLS_RIPEMD160_C +pkcs7_parse:"data_files/pkcs7_get_signers_info_set-missing_free-fuzz_pkcs7-6213931373035520.der":MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG + +pkcs7_get_signers_info_set error handling (4541044530479104) +depends_on:MBEDTLS_RIPEMD160_C +pkcs7_parse:"data_files/pkcs7_get_signers_info_set-leak-fuzz_pkcs7-4541044530479104.der":MBEDTLS_ERR_PKCS7_INVALID_SIGNER_INFO + +PKCS7 Only Signed Data Parse Pass #15 +depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +pkcs7_parse:"data_files/pkcs7_data_cert_signeddata_sha256.der":MBEDTLS_PKCS7_SIGNED_DATA + +PKCS7 Signed Data Verify with multiple signers #16 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify_multiple_signers:"data_files/pkcs7_data_multiple_signed.der":"data_files/pkcs7-rsa-sha256-1.crt":"data_files/pkcs7-rsa-sha256-2.crt":"data_files/pkcs7_data.bin":0:0 + +PKCS7 Signed Data Hash Verify with multiple signers #17 +depends_on:MBEDTLS_SHA256_C +pkcs7_verify_multiple_signers:"data_files/pkcs7_data_multiple_signed.der":"data_files/pkcs7-rsa-sha256-1.crt":"data_files/pkcs7-rsa-sha256-2.crt":"data_files/pkcs7_data.bin":MBEDTLS_MD_SHA256:0 diff --git a/tests/suites/test_suite_pkcs7.function b/tests/suites/test_suite_pkcs7.function new file mode 100644 index 0000000000..3d7dec6864 --- /dev/null +++ b/tests/suites/test_suite_pkcs7.function @@ -0,0 +1,194 @@ +/* BEGIN_HEADER */ +#include "mbedtls/bignum.h" +#include "mbedtls/pkcs7.h" +#include "mbedtls/x509.h" +#include "mbedtls/x509_crt.h" +#include "mbedtls/x509_crl.h" +#include "mbedtls/oid.h" +#include "sys/types.h" +#include "sys/stat.h" +/* END_HEADER */ + +/* BEGIN_DEPENDENCIES + * depends_on:MBEDTLS_PKCS7_C:MBEDTLS_RSA_C + * END_DEPENDENCIES + */ + +/* BEGIN_CASE depends_on:MBEDTLS_FS_IO */ +void pkcs7_parse( char *pkcs7_file, int res_expect ) +{ + unsigned char *pkcs7_buf = NULL; + size_t buflen; + int res; + + mbedtls_pkcs7 pkcs7; + + mbedtls_pkcs7_init( &pkcs7 ); + + res = mbedtls_pk_load_file( pkcs7_file, &pkcs7_buf, &buflen ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pkcs7_parse_der( &pkcs7, pkcs7_buf, buflen ); + TEST_EQUAL( res, res_expect ); + +exit: + mbedtls_free( pkcs7_buf ); + mbedtls_pkcs7_free( &pkcs7 ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C */ +void pkcs7_verify( char *pkcs7_file, char *crt, char *filetobesigned, int do_hash_alg, int res_expect ) +{ + unsigned char *pkcs7_buf = NULL; + size_t buflen; + unsigned char *data = NULL; + unsigned char hash[32]; + struct stat st; + size_t datalen; + int res; + FILE *file; + const mbedtls_md_info_t *md_info; + mbedtls_md_type_t md_alg; + + mbedtls_pkcs7 pkcs7; + mbedtls_x509_crt x509; + + mbedtls_pkcs7_init( &pkcs7 ); + mbedtls_x509_crt_init( &x509 ); + + USE_PSA_INIT(); + + res = mbedtls_x509_crt_parse_file( &x509, crt ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pk_load_file( pkcs7_file, &pkcs7_buf, &buflen ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pkcs7_parse_der( &pkcs7, pkcs7_buf, buflen ); + TEST_EQUAL( res, MBEDTLS_PKCS7_SIGNED_DATA ); + + res = stat( filetobesigned, &st ); + TEST_EQUAL( res, 0 ); + + file = fopen( filetobesigned, "rb" ); + TEST_ASSERT( file != NULL ); + + datalen = st.st_size; + ASSERT_ALLOC( data, datalen ); + TEST_ASSERT( data != NULL ); + + buflen = fread( (void *)data , sizeof( unsigned char ), datalen, file ); + TEST_EQUAL( buflen, datalen ); + fclose( file ); + + if( do_hash_alg ) + { + res = mbedtls_oid_get_md_alg( &pkcs7.signed_data.digest_alg_identifiers, &md_alg ); + TEST_EQUAL( res, 0 ); + TEST_EQUAL( md_alg, (mbedtls_md_type_t) do_hash_alg ); + md_info = mbedtls_md_info_from_type( md_alg ); + + res = mbedtls_md( md_info, data, datalen, hash ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pkcs7_signed_hash_verify( &pkcs7, &x509, hash, sizeof(hash) ); + } + else + { + res = mbedtls_pkcs7_signed_data_verify( &pkcs7, &x509, data, datalen ); + } + TEST_EQUAL( res, res_expect ); + +exit: + mbedtls_x509_crt_free( &x509 ); + mbedtls_free( data ); + mbedtls_pkcs7_free( &pkcs7 ); + mbedtls_free( pkcs7_buf ); + USE_PSA_DONE(); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C */ +void pkcs7_verify_multiple_signers( char *pkcs7_file, char *crt1, char *crt2, char *filetobesigned, int do_hash_alg, int res_expect ) +{ + unsigned char *pkcs7_buf = NULL; + size_t buflen; + unsigned char *data = NULL; + unsigned char hash[32]; + struct stat st; + size_t datalen; + int res; + FILE *file; + const mbedtls_md_info_t *md_info; + mbedtls_md_type_t md_alg; + + mbedtls_pkcs7 pkcs7; + mbedtls_x509_crt x509_1; + mbedtls_x509_crt x509_2; + + mbedtls_pkcs7_init( &pkcs7 ); + mbedtls_x509_crt_init( &x509_1 ); + mbedtls_x509_crt_init( &x509_2 ); + + USE_PSA_INIT(); + + res = mbedtls_pk_load_file( pkcs7_file, &pkcs7_buf, &buflen ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pkcs7_parse_der( &pkcs7, pkcs7_buf, buflen ); + TEST_EQUAL( res, MBEDTLS_PKCS7_SIGNED_DATA ); + + TEST_EQUAL( pkcs7.signed_data.no_of_signers, 2 ); + + res = mbedtls_x509_crt_parse_file( &x509_1, crt1 ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_x509_crt_parse_file( &x509_2, crt2 ); + TEST_EQUAL( res, 0 ); + + res = stat( filetobesigned, &st ); + TEST_EQUAL( res, 0 ); + + file = fopen( filetobesigned, "rb" ); + TEST_ASSERT( file != NULL ); + + datalen = st.st_size; + ASSERT_ALLOC( data, datalen ); + buflen = fread( ( void * )data , sizeof( unsigned char ), datalen, file ); + TEST_EQUAL( buflen, datalen ); + + fclose( file ); + + if( do_hash_alg ) + { + res = mbedtls_oid_get_md_alg( &pkcs7.signed_data.digest_alg_identifiers, &md_alg ); + TEST_EQUAL( res, 0 ); + TEST_EQUAL( md_alg, MBEDTLS_MD_SHA256 ); + + md_info = mbedtls_md_info_from_type( md_alg ); + + res = mbedtls_md( md_info, data, datalen, hash ); + TEST_EQUAL( res, 0 ); + + res = mbedtls_pkcs7_signed_hash_verify( &pkcs7, &x509_1, hash, sizeof(hash) ); + TEST_EQUAL( res, res_expect ); + } + else + { + res = mbedtls_pkcs7_signed_data_verify( &pkcs7, &x509_1, data, datalen ); + TEST_EQUAL( res, res_expect ); + } + + res = mbedtls_pkcs7_signed_data_verify( &pkcs7, &x509_2, data, datalen ); + TEST_EQUAL( res, res_expect ); + +exit: + mbedtls_x509_crt_free( &x509_1 ); + mbedtls_x509_crt_free( &x509_2 ); + mbedtls_pkcs7_free( &pkcs7 ); + mbedtls_free( data ); + mbedtls_free( pkcs7_buf ); + USE_PSA_DONE(); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_pkparse.data b/tests/suites/test_suite_pkparse.data index 1172b308a2..a493325fd4 100644 --- a/tests/suites/test_suite_pkparse.data +++ b/tests/suites/test_suite_pkparse.data @@ -1,893 +1,893 @@ Parse RSA Key #1 (No password when required) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C pk_parse_keyfile_rsa:"data_files/test-ca.key":"NULL":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #2 (Correct password) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C pk_parse_keyfile_rsa:"data_files/test-ca.key":"PolarSSLTest":0 Parse RSA Key #3 (Wrong password) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_DES_C pk_parse_keyfile_rsa:"data_files/test-ca.key":"PolarSSLWRONG":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #4 (DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_1024_des.pem":"testkey":0 Parse RSA Key #5 (3DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_1024_3des.pem":"testkey":0 Parse RSA Key #6 (AES-128 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_1024_aes128.pem":"testkey":0 Parse RSA Key #7 (AES-192 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_1024_aes192.pem":"testkey":0 Parse RSA Key #8 (AES-256 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_1024_aes256.pem":"testkey":0 Parse RSA Key #9 (2048-bit, DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_2048_des.pem":"testkey":0 Parse RSA Key #10 (2048-bit, 3DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_2048_3des.pem":"testkey":0 Parse RSA Key #11 (2048-bit, AES-128 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_2048_aes128.pem":"testkey":0 Parse RSA Key #12 (2048-bit, AES-192 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_2048_aes192.pem":"testkey":0 Parse RSA Key #13 (2048-bit, AES-256 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_2048_aes256.pem":"testkey":0 Parse RSA Key #14 (4096-bit, DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_4096_des.pem":"testkey":0 Parse RSA Key #15 (4096-bit, 3DES Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_4096_3des.pem":"testkey":0 Parse RSA Key #16 (4096-bit, AES-128 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_4096_aes128.pem":"testkey":0 Parse RSA Key #17 (4096-bit, AES-192 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_4096_aes192.pem":"testkey":0 Parse RSA Key #18 (4096-bit, AES-256 Encrypted) -depends_on:MBEDTLS_MD5_C:MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_AES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs1_4096_aes256.pem":"testkey":0 Parse RSA Key #19 (PKCS#8 wrapped) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C +depends_on:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA :MBEDTLS_PEM_PARSE_C pk_parse_keyfile_rsa:"data_files/format_gen.key":"":0 Parse RSA Key #20 (PKCS#8 encrypted SHA1-3DES) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_3des.pem":"PolarSSLTest":0 Parse RSA Key #20.1 (PKCS#8 encrypted SHA1-3DES, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #20.2 (PKCS#8 encrypted SHA1-3DES, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #21 (PKCS#8 encrypted SHA1-3DES, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_3des.pem":"PolarSSLTest":0 Parse RSA Key #21.1 (PKCS#8 encrypted SHA1-3DES, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #21.2 (PKCS#8 encrypted SHA1-3DES, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #22 (PKCS#8 encrypted SHA1-3DES, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_3des.pem":"PolarSSLTest":0 Parse RSA Key #22.1 (PKCS#8 encrypted SHA1-3DES, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #22.2 (PKCS#8 encrypted SHA1-3DES, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #23 (PKCS#8 encrypted SHA1-3DES DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_3des.der":"PolarSSLTest":0 Parse RSA Key #24 (PKCS#8 encrypted SHA1-3DES DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_3des.der":"PolarSSLTest":0 Parse RSA Key #25 (PKCS#8 encrypted SHA1-3DES DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_3des.der":"PolarSSLTest":0 Parse RSA Key #26 (PKCS#8 encrypted SHA1-2DES) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_2des.pem":"PolarSSLTest":0 Parse RSA Key #26.1 (PKCS#8 encrypted SHA1-2DES, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_2des.pem":"PolarSLTest":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #26.2 (PKCS#8 encrypted SHA1-2DES, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_2des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #27 (PKCS#8 encrypted SHA1-2DES, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_2des.pem":"PolarSSLTest":0 Parse RSA Key #27.1 (PKCS#8 encrypted SHA1-2DES, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_2des.pem":"PolarSLTest":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #27.2 (PKCS#8 encrypted SHA1-2DES, 2048-bit no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_2des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #28 (PKCS#8 encrypted SHA1-2DES, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_2des.pem":"PolarSSLTest":0 Parse RSA Key #28.1 (PKCS#8 encrypted SHA1-2DES, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_2des.pem":"PolarSLTest":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #28.2 (PKCS#8 encrypted SHA1-2DES, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS12_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_2des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #29 (PKCS#8 encrypted SHA1-2DES DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_1024_2des.der":"PolarSSLTest":0 Parse RSA Key #30 (PKCS#8 encrypted SHA1-2DES DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_2048_2des.der":"PolarSSLTest":0 Parse RSA Key #31 (PKCS#8 encrypted SHA1-2DES DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS12_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbe_sha1_4096_2des.der":"PolarSSLTest":0 Parse RSA Key #38 (PKCS#8 encrypted v2 PBKDF2 3DES) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem":"PolarSSLTest":0 Parse RSA Key #38.1 (PKCS#8 encrypted v2 PBKDF2 3DES, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #38.2 (PKCS#8 encrypted v2 PBKDF2 3DES, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #39 (PKCS#8 encrypted v2 PBKDF2 3DES, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem":"PolarSSLTest":0 Parse RSA Key #39.1 (PKCS#8 encrypted v2 PBKDF2 3DES, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #39.2 (PKCS#8 encrypted v2 PBKDF2 3DES, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #40 (PKCS#8 encrypted v2 PBKDF2 3DES, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem":"PolarSSLTest":0 Parse RSA Key #40.1 (PKCS#8 encrypted v2 PBKDF2 3DES, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #40.2 (PKCS#8 encrypted v2 PBKDF2 3DES, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #41 (PKCS#8 encrypted v2 PBKDF2 3DES DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.der":"PolarSSLTest":0 Parse RSA Key #41.1 (PKCS#8 encrypted v2 PBKDF2 3DES DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #41.2 (PKCS#8 encrypted v2 PBKDF2 3DES DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #42 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.der":"PolarSSLTest":0 Parse RSA Key #42.1 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #42.2 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #43 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.der":"PolarSSLTest":0 Parse RSA Key #43.1 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #43.2 (PKCS#8 encrypted v2 PBKDF2 3DES DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #44 (PKCS#8 encrypted v2 PBKDF2 DES) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.pem":"PolarSSLTest":0 Parse RSA Key #44.1 (PKCS#8 encrypted v2 PBKDF2 DES, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #44.2 (PKCS#8 encrypted v2 PBKDF2 DES, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #45 (PKCS#8 encrypted v2 PBKDF2 DES, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.pem":"PolarSSLTest":0 Parse RSA Key #45.1 (PKCS#8 encrypted v2 PBKDF2 DES, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #45.2 (PKCS#8 encrypted v2 PBKDF2 DES, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #46 (PKCS#8 encrypted v2 PBKDF2 DES, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.pem":"PolarSSLTest":0 Parse RSA Key #46.1 (PKCS#8 encrypted v2 PBKDF2 DES, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #46.2 (PKCS#8 encrypted v2 PBKDF2 DES, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #47 (PKCS#8 encrypted v2 PBKDF2 DES DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.der":"PolarSSLTest":0 Parse RSA Key #47.1 (PKCS#8 encrypted v2 PBKDF2 DES DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #47.2 (PKCS#8 encrypted v2 PBKDF2 DES DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #48 (PKCS#8 encrypted v2 PBKDF2 DES DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.der":"PolarSSLTest":0 Parse RSA Key #48.1 (PKCS#8 encrypted v2 PBKDF2 DES DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #48.2 (PKCS#8 encrypted v2 PBKDF2 DES DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #49 (PKCS#8 encrypted v2 PBKDF2 DES DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.der":"PolarSSLTest":0 Parse RSA Key #49.1 (PKCS#8 encrypted v2 PBKDF2 DES DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #49.2 (PKCS#8 encrypted v2 PBKDF2 DES DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA1_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #50 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #50.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #50.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #51 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #51.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #51.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #52 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #52.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #52.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #53 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der":"PolarSSLTest":0 Parse RSA Key #53.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #53.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #54 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der":"PolarSSLTest":0 Parse RSA Key #54.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #54.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #55 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der":"PolarSSLTest":0 Parse RSA Key #55.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #55.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA224 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #56 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #56.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #56.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #57 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #57.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #57.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #58 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem":"PolarSSLTest":0 Parse RSA Key #58.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #58.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #59 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der":"PolarSSLTest":0 Parse RSA Key #59.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #59.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #60 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der":"PolarSSLTest":0 Parse RSA Key #60.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #60.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #61 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der":"PolarSSLTest":0 Parse RSA Key #61.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #61.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA224 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA224_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha224.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #62 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #62.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #62.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #63 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #63.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #63.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #64 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #64.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #64.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #65 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der":"PolarSSLTest":0 Parse RSA Key #65.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #65.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #66 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der":"PolarSSLTest":0 Parse RSA Key #66.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #66.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #67 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der":"PolarSSLTest":0 Parse RSA Key #68.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #68.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA256 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #69 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #69.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #69.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #70 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #70.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #70.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #71 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem":"PolarSSLTest":0 Parse RSA Key #71.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #71.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #72 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der":"PolarSSLTest":0 Parse RSA Key #72.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #72.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #73 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der":"PolarSSLTest":0 Parse RSA Key #73.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #73.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #74 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der":"PolarSSLTest":0 Parse RSA Key #74.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #74.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA256 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA256_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha256.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #75 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #75.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #75.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #76 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #76.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #76.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #77 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #77.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #77.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #78 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der":"PolarSSLTest":0 Parse RSA Key #78.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #78.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #79 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der":"PolarSSLTest":0 Parse RSA Key #79.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #79.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #80 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der":"PolarSSLTest":0 Parse RSA Key #80.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #80.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA384 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #81 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #81.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #81.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #82 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #82.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #82.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #83 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem":"PolarSSLTest":0 Parse RSA Key #83.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #83.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #84 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der":"PolarSSLTest":0 Parse RSA Key #84.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #85.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #86 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der":"PolarSSLTest":0 Parse RSA Key #86.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #86.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #87 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der":"PolarSSLTest":0 Parse RSA Key #87.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #87.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA384 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA384_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha384.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #88 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #88.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #88.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #89 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #89.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #89.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #90 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #90.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #90.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #91 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der":"PolarSSLTest":0 Parse RSA Key #91.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #91.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_3des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #92 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der":"PolarSSLTest":0 Parse RSA Key #92.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #92.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_3des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #93 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der":"PolarSSLTest":0 Parse RSA Key #93.1 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #93.2 (PKCS#8 encrypted v2 PBKDF2 3DES hmacWithSHA512 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_3des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #94 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #94.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #94.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #95 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #95.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #95.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #96 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem":"PolarSSLTest":0 Parse RSA Key #96.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #96.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.pem":"":MBEDTLS_ERR_PK_PASSWORD_REQUIRED Parse RSA Key #97 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der":"PolarSSLTest":0 Parse RSA Key #97.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #97.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_1024_des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #98 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 2048-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der":"PolarSSLTest":0 Parse RSA Key #98.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 2048-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #98.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 2048-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_2048_des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse RSA Key #99 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 4096-bit) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der":"PolarSSLTest":0 Parse RSA Key #99.1 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 4096-bit, wrong PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CIPHER_PADDING_PKCS7 pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der":"PolarSSLTes":MBEDTLS_ERR_PK_PASSWORD_MISMATCH Parse RSA Key #99.2 (PKCS#8 encrypted v2 PBKDF2 DES hmacWithSHA512 DER, 4096-bit, no PW) -depends_on:MBEDTLS_DES_C:MBEDTLS_SHA512_C:MBEDTLS_PKCS5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA:MBEDTLS_PKCS5_C pk_parse_keyfile_rsa:"data_files/rsa_pkcs8_pbes2_pbkdf2_4096_des_sha512.der":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT Parse Public RSA Key #1 (PKCS#8 wrapped) @@ -949,7 +949,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pem":"NULL":0 Parse EC Key #3 (SEC1 PEM encrypted) -depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C +depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pw.pem":"polar":0 Parse EC Key #4 (PKCS8 DER) diff --git a/tests/suites/test_suite_pkparse.function b/tests/suites/test_suite_pkparse.function index 4c7f3d2cae..c5e60ee38b 100644 --- a/tests/suites/test_suite_pkparse.function +++ b/tests/suites/test_suite_pkparse.function @@ -2,6 +2,7 @@ #include "mbedtls/pk.h" #include "mbedtls/pem.h" #include "mbedtls/oid.h" +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -16,6 +17,7 @@ void pk_parse_keyfile_rsa( char * key_file, char * password, int result ) int res; char *pwd = password; + PSA_INIT_IF_NO_MD(); mbedtls_pk_init( &ctx ); if( strcmp( pwd, "NULL" ) == 0 ) @@ -36,6 +38,7 @@ void pk_parse_keyfile_rsa( char * key_file, char * password, int result ) exit: mbedtls_pk_free( &ctx ); + PSA_DONE_IF_NO_MD(); } /* END_CASE */ @@ -45,6 +48,7 @@ void pk_parse_public_keyfile_rsa( char * key_file, int result ) mbedtls_pk_context ctx; int res; + PSA_INIT_IF_NO_MD(); mbedtls_pk_init( &ctx ); res = mbedtls_pk_parse_public_keyfile( &ctx, key_file ); @@ -61,6 +65,7 @@ void pk_parse_public_keyfile_rsa( char * key_file, int result ) exit: mbedtls_pk_free( &ctx ); + PSA_DONE_IF_NO_MD(); } /* END_CASE */ diff --git a/tests/suites/test_suite_psa_crypto.data b/tests/suites/test_suite_psa_crypto.data index 1182c00693..9ced77c2bf 100644 --- a/tests/suites/test_suite_psa_crypto.data +++ b/tests/suites/test_suite_psa_crypto.data @@ -362,7 +362,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL import_export:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_PKCS1V15_CRYPT:0:1024:0:PSA_ERROR_NOT_PERMITTED:1 PSA import/export RSA keypair: policy forbids export (sign) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C import_export:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:0:1024:0:PSA_ERROR_NOT_PERMITTED:1 PSA import/export EC secp224r1 key pair: good, opaque @@ -490,7 +490,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL import_export:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):1024:0:PSA_ERROR_NOT_PERMITTED:1 PSA import/export RSA keypair: policy forbids export (sign), opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_CRYPTO_DRIVER_TEST import_export:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):1024:0:PSA_ERROR_NOT_PERMITTED:1 # Test PEM import. Note that this is not a PSA feature, it's an Mbed TLS @@ -861,11 +861,11 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_CRYPT PSA key policy: asymmetric encryption, wrong algorithm (v1.5/OAEP) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256) PSA key policy: asymmetric encryption, wrong algorithm (OAEP with different hash) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_224:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_224:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_OAEP(PSA_ALG_SHA_224):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256) PSA key policy: asymmetric encryption, alg=0 in policy @@ -873,7 +873,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_CRYPT PSA key policy: asymmetric encryption, ANY_HASH in policy is not meaningful -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_OAEP(PSA_ALG_ANY_HASH):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256) PSA key policy: asymmetric encryption, encrypt but not decrypt @@ -889,11 +889,11 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_encryption_key_policy:0:PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_CRYPT PSA key policy: asymmetric signature, sign | verify hash, PKCS#1v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, sign | verify hash, PKCS#1v1.5 raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, sign | verify hash, ECDSA SHA-256 @@ -901,15 +901,15 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_ECDSA(PSA_ALG_SHA_256):PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_ALG_ECDSA(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, sign, key usage extension -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE PSA key policy: asymmetric signature, verify, key usage extension -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, sign | verify, key usage extension -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, wrong alg family (PSS std/any salt) @@ -933,11 +933,11 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_ALG_ECDSA(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, wildcard in policy, PKCS#1v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, wildcard in policy, PKCS#1v1.5 raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:1:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, wrong hash algorithm @@ -945,19 +945,19 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_SHA_ asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_384):0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, alg=0 in policy -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, sign but not verify -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE PSA key policy: asymmetric signature, verify but not sign -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE PSA key policy: asymmetric signature, neither sign nor verify -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR asymmetric_signature_key_policy:0:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):32:0 PSA key policy: msg asymmetric signature, sign | verify @@ -1120,39 +1120,39 @@ depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:0:PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":0:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_CTR:0:0:PSA_KEY_USAGE_ENCRYPT:PSA_ALG_CTR:0 Copy key: RSA key pair, same usage flags -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, extended usage flags -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, fewer usage flags -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, more usage flags -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, intersect usage flags #0 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:0:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, intersect usage flags #1 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in source -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in target -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in source and target -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0 Copy key: source=ECDSA+ECDH, target=ECDSA+ECDH @@ -1216,39 +1216,39 @@ depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_EXPORT:PSA_ALG_CTR:0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_AES:"404142434445464748494a4b4c4d4e4f":0:PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_CTR:0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_ENCRYPT:PSA_ALG_CTR:0 Copy key: RSA key pair, same usage flags, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, extended usage flags, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, fewer usage flags, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, more usage flags, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, intersect usage flags #0, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_VERIFY_HASH | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):0:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, intersect usage flags #1, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_VERIFY_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in source, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in target, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_VOLATILE, TEST_DRIVER_LOCATION ):PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):0 Copy key: RSA key pair, wildcard algorithm in source and target, opaque -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:MBEDTLS_MD_C:PSA_CRYPTO_DRIVER_TEST +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_CRYPTO_DRIVER_TEST copy_success:PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0:0:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_SIGN_MESSAGE | PSA_KEY_USAGE_EXPORT:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):0 Copy key: source=ECDSA+ECDH, target=ECDSA+ECDH, opaque @@ -1477,11 +1477,11 @@ depends_on:PSA_WANT_ALG_RIPEMD160 hash_setup:PSA_ALG_RIPEMD160:PSA_SUCCESS PSA hash setup: bad (unknown hash algorithm) -depends_on:MBEDTLS_SHA256_C +depends_on:PSA_WANT_ALG_SHA_256 hash_setup:PSA_ALG_CATEGORY_HASH:PSA_ERROR_NOT_SUPPORTED PSA hash setup: bad (wildcard instead of hash algorithm) -depends_on:MBEDTLS_SHA256_C +depends_on:PSA_WANT_ALG_SHA_256 hash_setup:PSA_ALG_ANY_HASH:PSA_ERROR_NOT_SUPPORTED PSA hash setup: bad (not a hash algorithm) @@ -1607,7 +1607,7 @@ depends_on:PSA_WANT_ALG_CBC_NO_PADDING:PSA_WANT_KEY_TYPE_AES mac_setup:PSA_KEY_TYPE_AES:"000102030405060708090a0b0c0d0e0f":PSA_ALG_CBC_NO_PADDING:PSA_ERROR_INVALID_ARGUMENT PSA MAC setup: truncated MAC too small (1 byte) -depends_on:MBEDTLS_SHA256_C +depends_on:PSA_WANT_ALG_SHA_256 mac_setup:PSA_KEY_TYPE_HMAC:"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f":PSA_ALG_TRUNCATED_MAC( PSA_ALG_HMAC( PSA_ALG_SHA_256 ), 1 ):PSA_ERROR_NOT_SUPPORTED PSA MAC setup: truncated MAC too large (33 bytes for SHA-256) @@ -3643,15 +3643,15 @@ aead_multipart_verify:PSA_KEY_TYPE_AES:"a0ec7b0052541d9e9c091fb7fc481409":PSA_AL PSA Multipart AEAD verify: ChaCha20 - Poly1305, invalid tag length 0 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,0):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_NOT_SUPPORTED:PSA_ERROR_INVALID_ARGUMENT +aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,0):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_INVALID_ARGUMENT:PSA_ERROR_INVALID_ARGUMENT PSA Multipart AEAD verify: ChaCha20 - Poly1305, invalid tag length 15 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,15):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_NOT_SUPPORTED:PSA_ERROR_INVALID_ARGUMENT +aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,15):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_INVALID_ARGUMENT:PSA_ERROR_INVALID_ARGUMENT PSA Multipart AEAD verify: ChaCha20 - Poly1305, invalid tag length 17 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,17):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_NOT_SUPPORTED:PSA_ERROR_INVALID_ARGUMENT +aead_multipart_verify:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,17):"070000004041424344454647":"50515253c0c1c2c3c4c5c6c7":"d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116":"1ae10b594f09e26a7e902ecbd0600690":1:PSA_ERROR_INVALID_ARGUMENT:PSA_ERROR_INVALID_ARGUMENT PSA Multipart AEAD verify: ChaCha20 - Poly1305 (RFC7539, bad tag) depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 @@ -3951,7 +3951,7 @@ aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f9091 PSA AEAD setup: invalid algorithm (ChaCha20 - Poly1305 with short tag) depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,12):PSA_ERROR_NOT_SUPPORTED +aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,12):PSA_ERROR_INVALID_ARGUMENT PSA AEAD setup: AES - CCM, invalid tag length 0 depends_on:PSA_WANT_ALG_CCM:PSA_WANT_KEY_TYPE_AES @@ -4031,15 +4031,15 @@ aead_multipart_setup:PSA_KEY_TYPE_AES:"4189351B5CAEA375A0299E81C621BF43":PSA_ALG PSA AEAD setup: ChaCha20-Poly1305, invalid tag length 0 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,0):PSA_ERROR_NOT_SUPPORTED +aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,0):PSA_ERROR_INVALID_ARGUMENT PSA AEAD setup: ChaCha20-Poly1305, invalid tag length 15 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,15):PSA_ERROR_NOT_SUPPORTED +aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,15):PSA_ERROR_INVALID_ARGUMENT PSA AEAD setup: ChaCha20-Poly1305, invalid tag length 17 depends_on:PSA_WANT_ALG_CHACHA20_POLY1305:PSA_WANT_KEY_TYPE_CHACHA20 -aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,17):PSA_ERROR_NOT_SUPPORTED +aead_multipart_setup:PSA_KEY_TYPE_CHACHA20:"808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f":PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305,17):PSA_ERROR_INVALID_ARGUMENT PSA Multipart State Checks, AES - GCM depends_on:PSA_WANT_ALG_GCM:PSA_WANT_KEY_TYPE_AES @@ -4082,27 +4082,27 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR signature_size:PSA_KEY_TYPE_RSA_KEY_PAIR:1025:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:129 PSA import/exercise RSA keypair, PKCS#1 v1.5 raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C import_and_exercise_key:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_ALG_RSA_PKCS1V15_SIGN_RAW PSA import/exercise RSA keypair, PSS-SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C import_and_exercise_key:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256) PSA import/exercise RSA keypair, PSS-any-salt-SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C import_and_exercise_key:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256) PSA import/exercise RSA public key, PKCS#1 v1.5 raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C import_and_exercise_key:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_KEY_TYPE_RSA_PUBLIC_KEY:1024:PSA_ALG_RSA_PKCS1V15_SIGN_RAW PSA import/exercise RSA public key, PSS-SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C import_and_exercise_key:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_KEY_TYPE_RSA_PUBLIC_KEY:1024:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256) PSA import/exercise RSA public key, PSS-any-salt-SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C import_and_exercise_key:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_KEY_TYPE_RSA_PUBLIC_KEY:1024:PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256) PSA import/exercise: ECP SECP256R1 keypair, ECDSA @@ -4110,7 +4110,7 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C: import_and_exercise_key:"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):256:PSA_ALG_ECDSA_ANY PSA import/exercise: ECP SECP256R1 keypair, deterministic ECDSA -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 import_and_exercise_key:"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):256:PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ) PSA import/exercise: ECP SECP256R1 keypair, ECDH @@ -4126,55 +4126,55 @@ depends_on:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PRF import_and_exercise_key:"c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0":PSA_KEY_TYPE_DERIVE:192:PSA_ALG_TLS12_PRF(PSA_ALG_SHA_256) PSA sign hash: RSA PKCS#1 v1.5, raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_deterministic:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"616263":"2c7744983f023ac7bb1c55529d83ed11a76a7898a1bb5ce191375a4aa7495a633d27879ff58eba5a57371c34feb1180e8b850d552476ebb5634df620261992f12ebee9097041dbbea85a42d45b344be5073ceb772ffc604954b9158ba81ec3dc4d9d65e3ab7aa318165f38c36f841f1c69cb1cfa494aa5cbb4d6c0efbafb043a" PSA sign hash: RSA PKCS#1 v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_deterministic:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA sign hash: deterministic ECDSA SECP256R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_hash_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":"6a3399f69421ffe1490377adf2ea1f117d81a63cf5bf22e918d51175eb259151ce95d7c26cc04e25503e2f7a1ec3573e3c2412534bb4a19b3a7811742f49f50f" PSA sign hash: deterministic ECDSA SECP256R1 SHA-384 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C:MBEDLTS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 sign_hash_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_384 ):"59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f":"cd40ba1b555ca5994d30ddffc4ad734b1f5c604675b0f249814aa5de3992ef3ddf4d5dc5d2aab1979ce210b560754df671363d99795475882894c048e3b986ca" PSA sign hash: deterministic ECDSA SECP384R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384 sign_hash_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824":"52d92aac1fcc0fea3ecce01a9ed4bc9ac342f92470fd3f54d0d6d2fa5d2940405057a9d49a817c2b193322f05fc93ac1c7a055edac93bec0ade6814ab27b86b5295ac1ddb323818200f00c3d94d959f714f128b64a2e19628037ac009b14774f" PSA sign hash: RSA PKCS#1 v1.5 SHA-256, wrong hash size -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015":128:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PKCS#1 v1.5, invalid hash (wildcard) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":128:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PKCS#1 v1.5 raw, input too large -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":128:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PKCS#1 v1.5 SHA-256, output buffer too small -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":127:PSA_ERROR_BUFFER_TOO_SMALL PSA sign hash: RSA PSS SHA-256, wrong hash length (0 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"":127:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PSS-any-salt SHA-256, wrong hash length (0 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"":127:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PSS SHA-256, wrong hash length (129 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":127:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: RSA PSS-any-salt SHA-256, wrong hash length (129 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":127:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: deterministic ECDSA SECP256R1 SHA-256, output buffer too small @@ -4182,7 +4182,7 @@ depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TY sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":63:PSA_ERROR_BUFFER_TOO_SMALL PSA sign hash: RSA PKCS#1 v1.5 SHA-256, empty output buffer -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":0:PSA_ERROR_BUFFER_TOO_SMALL PSA sign hash: deterministic ECDSA SECP256R1 SHA-256, empty output buffer @@ -4190,11 +4190,11 @@ depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TY sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":0:PSA_ERROR_BUFFER_TOO_SMALL PSA sign hash: deterministic ECDSA SECP256R1, invalid hash algorithm (0) -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( 0 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":72:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: deterministic ECDSA SECP256R1, invalid hash algorithm (wildcard) -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_ANY_HASH ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":72:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: invalid key type, signing with a public key @@ -4202,27 +4202,27 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDT sign_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":72:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: invalid algorithm for ECC key -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PK_PARSE_C sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":72:PSA_ERROR_INVALID_ARGUMENT PSA sign hash: deterministic ECDSA not supported -depends_on:!PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_MD_C +depends_on:!PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED sign_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824":96:PSA_ERROR_NOT_SUPPORTED PSA sign/verify hash: RSA PKCS#1 v1.5, raw -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_hash:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"616263" PSA sign/verify hash: RSA PKCS#1 v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_hash:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" PSA sign/verify hash: RSA PSS SHA-256, 32 bytes (hash size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_hash:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" PSA sign/verify hash: RSA PSS-any-salt SHA-256, 32 bytes (hash size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_hash:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" PSA sign/verify hash: randomized ECDSA SECP256R1 SHA-256 @@ -4230,15 +4230,15 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b" PSA sign/verify hash: deterministic ECDSA SECP256R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b" PSA sign/verify hash: randomized ECDSA SECP256R1 SHA-384 -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA( PSA_ALG_SHA_384 ):"59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f" PSA sign/verify hash: deterministic ECDSA SECP256R1 SHA-384 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_384 ):"59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f" PSA sign/verify hash: randomized ECDSA SECP384R1 SHA-256 @@ -4246,119 +4246,119 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b" PSA sign/verify hash: deterministic ECDSA SECP384R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384 sign_verify_hash:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b" PSA verify hash: RSA PKCS#1 v1.5 SHA-256, good signature -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA verify hash with keypair: RSA PKCS#1 v1.5 SHA-256, good signature -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong hash length -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_1:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_1 +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_1:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_1):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong signature (same size) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"111164d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong signature (empty) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong signature (truncated) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc73":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong signature (trailing junk) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc731121":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA PKCS#1 v1.5 SHA-256, wrong signature (leading junk) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"21a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA-1024 PSS SHA-256, slen=0 (bad) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"abc4b612c6b71e13fa5965b2e25ee6adec5b1f211b2db158e9f3c4547d6cbef909a73dfb474b8caaf6c8fcafa10ec0bbadfd1883289ce33ad08ad533c61ea004fef4d9b76a1efc267efd066ae8918cb8e994faad30ff5e340e14c941926ba7ca9422b86e8055df1c1b90a5959a59cc7a5fc15cbd0d848cd40f7857b7629b668b":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA-1024 PSS-any-salt SHA-256, slen=0 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"abc4b612c6b71e13fa5965b2e25ee6adec5b1f211b2db158e9f3c4547d6cbef909a73dfb474b8caaf6c8fcafa10ec0bbadfd1883289ce33ad08ad533c61ea004fef4d9b76a1efc267efd066ae8918cb8e994faad30ff5e340e14c941926ba7ca9422b86e8055df1c1b90a5959a59cc7a5fc15cbd0d848cd40f7857b7629b668b" PSA verify hash: RSA-1024 PSS SHA-256, slen=31 (bad) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"797914eadbbe8293a7b0fe29d2db9fb246b519128d46d3ec93142a1a08a2992ba5325ad9b5ce55344b37996dbb81eb89628263cae4e3fc0e947dec0b8b0c7b0ee94bca02dd287f9cc619e2d88fb2279fb2a8f8301271c58009bb1223f3cfa730cb852947685678cfdef2968c82a9b8bffd8c0d518476b1ea2a5ad6c100045d8e":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA-1024 PSS-any-salt SHA-256, slen=31 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"797914eadbbe8293a7b0fe29d2db9fb246b519128d46d3ec93142a1a08a2992ba5325ad9b5ce55344b37996dbb81eb89628263cae4e3fc0e947dec0b8b0c7b0ee94bca02dd287f9cc619e2d88fb2279fb2a8f8301271c58009bb1223f3cfa730cb852947685678cfdef2968c82a9b8bffd8c0d518476b1ea2a5ad6c100045d8e" PSA verify hash: RSA-1024 PSS SHA-256, slen=32 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"6b201c50637962338d1b218c1d26f031205a0e3c47bc4c54856aa037e5a332d2981e80a51648e902e46046e5507a255c4c73f5ff40d5a54c0a11d2eca7804e1767b20ea12c945a23f5473181d379689c1ba634a2c47c0a8ec90c922ca6466ae9e9fb92871c9043b5858ae34828bceb4ead82db8f21a18ebe1d95b469bbdef1df" PSA verify hash: RSA-1024 PSS-any-salt SHA-256, slen=32 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"6b201c50637962338d1b218c1d26f031205a0e3c47bc4c54856aa037e5a332d2981e80a51648e902e46046e5507a255c4c73f5ff40d5a54c0a11d2eca7804e1767b20ea12c945a23f5473181d379689c1ba634a2c47c0a8ec90c922ca6466ae9e9fb92871c9043b5858ae34828bceb4ead82db8f21a18ebe1d95b469bbdef1df" PSA verify hash: RSA-1024 PSS SHA-256, slen=94 (bad) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"44a09fa66f1b2e790474960e90517e418747cfcd18423dff957516a598569d74f26ef1eae4a200d12d801e16fc6fde375330c79c0d8430825e0a7f69c664faefccfa25e7fbfc68af02af0f67fe4c49f68f6abc68c8f66d3fd77fc838961f4415827340c66e39c79ed7dae0738c08ce8272aebe50c72e31994b9b6db640b51800":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA-1024 PSS-any-salt SHA-256, slen=94 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"44a09fa66f1b2e790474960e90517e418747cfcd18423dff957516a598569d74f26ef1eae4a200d12d801e16fc6fde375330c79c0d8430825e0a7f69c664faefccfa25e7fbfc68af02af0f67fe4c49f68f6abc68c8f66d3fd77fc838961f4415827340c66e39c79ed7dae0738c08ce8272aebe50c72e31994b9b6db640b51800" PSA verify hash: RSA-1024 PSS SHA-512, slen=61 (bad) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"23f5b30c8d612d8f31206c177ac2023c4f44754d03c7ff67daff99f24fa369b3e5f7c15b228a4417a1ff1c93fb8d645d619c2f4f559ac6c7f7bac20ba9df32353d19941265a4e74261adaf45d48682c0bc86cea6128f11ad172ff461fb1d97bded615861843996e2a98e7b8313b695519d001ae35305d6cbf3c0ee6c7ab06d1a":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: RSA-1024 PSS-any-salt SHA-512, slen=61 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"23f5b30c8d612d8f31206c177ac2023c4f44754d03c7ff67daff99f24fa369b3e5f7c15b228a4417a1ff1c93fb8d645d619c2f4f559ac6c7f7bac20ba9df32353d19941265a4e74261adaf45d48682c0bc86cea6128f11ad172ff461fb1d97bded615861843996e2a98e7b8313b695519d001ae35305d6cbf3c0ee6c7ab06d1a" PSA verify hash: RSA-1024 PSS SHA-512, slen=62 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"6b215d77cf88b2d08be53b4f3ac6e72ebfbf7e0dc6c1e77b238cfb661c247a011b8746709fbefe4bc05d37343391683e9489d720ecbb7df37f4e36967918958996939461703465c2014a4c12faf875f8def70070e55b765b165c7e9c6f2eb05c98351b1e82219c31a2fb3ddce05f8988f552ff92f0b3471f63c0e53824c550a4" PSA verify hash: RSA-1024 PSS-any-salt SHA-512, slen=62 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"6b215d77cf88b2d08be53b4f3ac6e72ebfbf7e0dc6c1e77b238cfb661c247a011b8746709fbefe4bc05d37343391683e9489d720ecbb7df37f4e36967918958996939461703465c2014a4c12faf875f8def70070e55b765b165c7e9c6f2eb05c98351b1e82219c31a2fb3ddce05f8988f552ff92f0b3471f63c0e53824c550a4" PSA verify hash: RSA-528 PSS SHA-512, slen=0 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"304a024300e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f0203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"a14ad0fef77d36c28658a66129ee632e40e1032003eefe7fcda8e52b06675a051c80b2ca1cb99ed0762e90c9a48c434cd1063638eed7895a9c770e5435af750a1955" PSA verify hash: RSA-528 PSS-any-salt SHA-512, slen=0 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"304a024300e31c246d46485984261fd174cab3d4357344602ecd793c47dbe54252d37bb350bc634359b19515542080e4724a4b672291be57c7648f51629eaef234e847d99cc65f0203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"a14ad0fef77d36c28658a66129ee632e40e1032003eefe7fcda8e52b06675a051c80b2ca1cb99ed0762e90c9a48c434cd1063638eed7895a9c770e5435af750a1955" PSA verify hash: RSA-520 PSS SHA-512 (hash too large) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"3049024200d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf0203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"deaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddead42":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA-520 PSS-any-salt SHA-512 (hash too large) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_512 +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_512:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"3049024200d5a06f86e5b9d87428540165ca966fa8893a62e2a59d0bfd7617780bb039f9165a373a8e119d0766f8de556710f33f67019153bad8223775e797d451d48206f3bf0203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_512):"ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f":"deaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddead42":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA PSS SHA-256, wrong hash length (0 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"":"34c011b625c32d992f4ab8fcfa52b616ea66270b5b75a4fc71af712f9b8806bcdd374ce50eafcbb489562b93347885f93c2de1d404c45cacccefceb112ff6ffdfe4264f91d66320bbbe09304b851b8ad6280bbccc571eebcd49c7db5dfa399a6289e1978407904598751613d9870770cdd8507e3dc7b46851dbf05ae1df2988d":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA PSS-any-salt SHA-256, wrong hash length (0 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"":"34c011b625c32d992f4ab8fcfa52b616ea66270b5b75a4fc71af712f9b8806bcdd374ce50eafcbb489562b93347885f93c2de1d404c45cacccefceb112ff6ffdfe4264f91d66320bbbe09304b851b8ad6280bbccc571eebcd49c7db5dfa399a6289e1978407904598751613d9870770cdd8507e3dc7b46851dbf05ae1df2988d":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA PSS SHA-256, wrong hash length (129 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"1491cead330b4ad5b092f8351518141ac11d0888591572669c1e79d6e932c488acd62d44479b0e14cd91a048778bc02398a772ad6bdb4f7764780cf0afe70293d0cac86f2695a1dcb54568bb37d7086f9e86f95a6802d2ee5a4facaa762beff5261bb2816b62cb5af86404974c3f6b67985ac1fbfdf46d6de54f6e29d9274308":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: RSA PSS-any-salt SHA-256, wrong hash length (129 bytes) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_hash_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"1491cead330b4ad5b092f8351518141ac11d0888591572669c1e79d6e932c488acd62d44479b0e14cd91a048778bc02398a772ad6bdb4f7764780cf0afe70293d0cac86f2695a1dcb54568bb37d7086f9e86f95a6802d2ee5a4facaa762beff5261bb2816b62cb5af86404974c3f6b67985ac1fbfdf46d6de54f6e29d9274308":PSA_ERROR_INVALID_ARGUMENT PSA verify hash: ECDSA SECP256R1, good @@ -4394,107 +4394,107 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY:MBEDTLS_PK_PARSE_ verify_hash_fail:PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_FAMILY_SECP_R1):"04dea5e45d0ea37fc566232a508f4ad20ea13d47e4bf5fa4d54a57a0ba012042087097496efc583fed8b24a5b9be9a51de063f5a00a8b698a16fd7f29b5485f320":PSA_ALG_ECDSA_ANY:"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":"216a3399f69421ffe1490377adf2ea1f117d81a63cf5bf22e918d51175eb259151ce95d7c26cc04e25503e2f7a1ec3573e3c2412534bb4a19b3a7811742f49f50f":PSA_ERROR_INVALID_SIGNATURE PSA verify hash: invalid algorithm for ECC key -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 verify_hash_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"":"":PSA_ERROR_INVALID_ARGUMENT PSA sign message: RSA PKCS#1 v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_deterministic:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA sign message: deterministic ECDSA SECP256R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256):"616263":"36e5b5a7da1c9c265dc447de3a5a704fcb8c03f7a3749dde48d84c9bf736fc1ed48d8b3660e7d3cbc6b1870730b7ce2a043f69e37ccb340b98d1e65184e03548" PSA sign message: deterministic ECDSA SECP256R1 SHA-384 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C:MBEDLTS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 sign_message_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_384):"616263":"7ea712a20e3a8cbe0c6e64195362ba7635bbe78af51ddedd7a5fd858395250c592654c35d3b0614ae0e3b329c25cf5b4a5fcb243af3e3ad15c8446fe401be066" PSA sign message: deterministic ECDSA SECP384R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384 sign_message_deterministic:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256):"616263":"3548ea85eb66d756ae90fd64a3104b5b9a17aa282f8722409762e9da4811ec5d3060a97d3450b4bc484cd21ac588f563c4873843506fed8609b7d093db0e9a2496c36995ee74c906528af6898feb502f45bfb1e9ccf371416c68d32bb5ebc1b6" PSA sign message: RSA PKCS#1 v1.5, invalid hash (wildcard) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):"616263":128:PSA_ERROR_INVALID_ARGUMENT PSA sign message: RSA PKCS#1 v1.5, invalid hash algorithm (0) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(0):"616263":128:PSA_ERROR_INVALID_ARGUMENT PSA sign message: RSA PKCS#1 v1.5 SHA-256, output buffer too small -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":127:PSA_ERROR_BUFFER_TOO_SMALL PSA sign message: RSA PKCS#1 v1.5 SHA-256, empty output buffer -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":0:PSA_ERROR_BUFFER_TOO_SMALL PSA sign message: RSA PKCS#1 v1.5 without hash -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"616263":0:PSA_ERROR_INVALID_ARGUMENT PSA sign message: RSA PKCS#1 v1.5 SHA-256, invalid key type -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_CHACHA20:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_CHACHA20 sign_message_fail:PSA_KEY_TYPE_CHACHA20:"4bddc98c551a95395ef719557f813656b566bc45aac04eca3866324cc75489f2":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":128:PSA_ERROR_INVALID_ARGUMENT PSA sign message: ECDSA SECP256R1 SHA-256, invalid hash (wildcard) -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):"616263":64:PSA_ERROR_INVALID_ARGUMENT PSA sign message: ECDSA SECP256R1 SHA-256, invalid hash algorithm (0) -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(0):"616263":64:PSA_ERROR_INVALID_ARGUMENT PSA sign message: ECDSA SECP256R1 SHA-256, output buffer too small -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263":63:PSA_ERROR_BUFFER_TOO_SMALL PSA sign message: ECDSA SECP256R1 SHA-256, empty output buffer -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263":0:PSA_ERROR_BUFFER_TOO_SMALL PSA sign message: ECDSA SECP256R1 SHA-256, invalid key type -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_CHACHA20:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_CHACHA20 sign_message_fail:PSA_KEY_TYPE_CHACHA20:"4bddc98c551a95395ef719557f813656b566bc45aac04eca3866324cc75489f2":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263":64:PSA_ERROR_INVALID_ARGUMENT PSA sign message: invalid algorithm for ECC key -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PK_PARSE_C sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"616263":72:PSA_ERROR_INVALID_ARGUMENT PSA sign message: deterministic ECDSA not supported -depends_on:!PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_MD_C +depends_on:!PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256):"616263":96:PSA_ERROR_NOT_SUPPORTED PSA sign message: ECDSA without hash -depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA_ANY:"616263":96:PSA_ERROR_INVALID_ARGUMENT PSA sign/verify message: RSA PKCS#1 v1.5 SHA-256 -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263" PSA sign/verify message: RSA PSS SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"616263" PSA sign/verify message: RSA PSS-any-salt SHA-256 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"616263" PSA sign/verify message: RSA PSS SHA-256, 0 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"" PSA sign/verify message: RSA PSS SHA-256, 32 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" PSA sign/verify message: RSA PSS SHA-256, 128 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" PSA sign/verify message: RSA PSS SHA-256, 129 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C sign_verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" PSA sign/verify message: randomized ECDSA SECP256R1 SHA-256 @@ -4518,7 +4518,7 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" PSA sign/verify message: deterministic ECDSA SECP256R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256):"616263" PSA sign/verify message: randomized ECDSA SECP256R1 SHA-384 @@ -4526,7 +4526,7 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAI sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_SHA_384):"616263" PSA sign/verify message: deterministic ECDSA SECP256R1 SHA-384 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C:MBEDLTS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_384):"616263" PSA sign/verify message: randomized ECDSA SECP384R1 SHA-256 @@ -4534,55 +4534,55 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAI sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263" PSA sign/verify message: deterministic ECDSA SECP384R1 SHA-256 -depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_384 sign_verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a":PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256):"616263" PSA verify message: RSA PKCS#1 v1.5 SHA-256, good signature -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA verify message with keypair: RSA PKCS#1 v1.5 SHA-256, good signature -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311" PSA verify message: RSA-1024 PSS SHA-256, slen=0 (bad) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"616263":"abc4b612c6b71e13fa5965b2e25ee6adec5b1f211b2db158e9f3c4547d6cbef909a73dfb474b8caaf6c8fcafa10ec0bbadfd1883289ce33ad08ad533c61ea004fef4d9b76a1efc267efd066ae8918cb8e994faad30ff5e340e14c941926ba7ca9422b86e8055df1c1b90a5959a59cc7a5fc15cbd0d848cd40f7857b7629b668b":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA-1024 PSS-any-salt SHA-256, slen=0 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"616263":"abc4b612c6b71e13fa5965b2e25ee6adec5b1f211b2db158e9f3c4547d6cbef909a73dfb474b8caaf6c8fcafa10ec0bbadfd1883289ce33ad08ad533c61ea004fef4d9b76a1efc267efd066ae8918cb8e994faad30ff5e340e14c941926ba7ca9422b86e8055df1c1b90a5959a59cc7a5fc15cbd0d848cd40f7857b7629b668b" PSA verify message: RSA-1024 PSS SHA-256, slen=32 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"616263":"6b201c50637962338d1b218c1d26f031205a0e3c47bc4c54856aa037e5a332d2981e80a51648e902e46046e5507a255c4c73f5ff40d5a54c0a11d2eca7804e1767b20ea12c945a23f5473181d379689c1ba634a2c47c0a8ec90c922ca6466ae9e9fb92871c9043b5858ae34828bceb4ead82db8f21a18ebe1d95b469bbdef1df" PSA verify message: RSA-1024 PSS-any-salt SHA-256, slen=32 -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"616263":"6b201c50637962338d1b218c1d26f031205a0e3c47bc4c54856aa037e5a332d2981e80a51648e902e46046e5507a255c4c73f5ff40d5a54c0a11d2eca7804e1767b20ea12c945a23f5473181d379689c1ba634a2c47c0a8ec90c922ca6466ae9e9fb92871c9043b5858ae34828bceb4ead82db8f21a18ebe1d95b469bbdef1df" PSA verify message: RSA PSS SHA-256, good signature, 32 bytes (hash size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"6b65e1fdc900dce8a2b82130ae8ccfac27b6d0eb5f2c0c1085b80f34ceaaf064c8ff237e74a24a3c6fb7a842f172e5146315616281bbbeeae90febaab139a212decf1c68923f2a48e242b1fd72105e3a3f2329c30d78abe8673335ad08c5ba1aa515360bb5660050f1994bb08d3dd17e3407a379403bafa4e229b3c851283f6d" PSA verify message: RSA PSS-any-salt SHA-256, good signature, 32 bytes (hash size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"6b65e1fdc900dce8a2b82130ae8ccfac27b6d0eb5f2c0c1085b80f34ceaaf064c8ff237e74a24a3c6fb7a842f172e5146315616281bbbeeae90febaab139a212decf1c68923f2a48e242b1fd72105e3a3f2329c30d78abe8673335ad08c5ba1aa515360bb5660050f1994bb08d3dd17e3407a379403bafa4e229b3c851283f6d" PSA verify message: RSA PSS SHA-256, good signature, 128 bytes (signature size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"29b65db0936b7fe408bda672077b0bc5e176177ba9a550fb548c292f7b4af1bb6475e0a979ba43dd644780801fabe5b62a1359cf7692918f30013e90c2362235765abc2078905d13b345dd689bf15e4e94ca51535d12f0675d5f13e9f254ba7696f0096d62deb023d106e9a96a5da3162bead6a745c8b9000868d2f9a447d5c5" PSA verify message: RSA-any-salt PSS SHA-256, good signature, 128 bytes (signature size) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"29b65db0936b7fe408bda672077b0bc5e176177ba9a550fb548c292f7b4af1bb6475e0a979ba43dd644780801fabe5b62a1359cf7692918f30013e90c2362235765abc2078905d13b345dd689bf15e4e94ca51535d12f0675d5f13e9f254ba7696f0096d62deb023d106e9a96a5da3162bead6a745c8b9000868d2f9a447d5c5" PSA verify message: RSA PSS SHA-256, good signature, 129 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"43286cc0fc599603fbb0cd1fd70c3a17b08d2adf4f90202dddfa4b9d74be8c720bbb1c714665466de6452d401ca061b68225785ff387c2615f03c81351cc3838cd3014a031a4f4c9f70bba06f504c6a9942ac2dbfed2329e590d526a9be26b4025a6d7c4151b4e795cfe756c9a8a5e8fa9228a6f5f6f427a5a070e5c0ea69830" PSA verify message: RSA PSS-any-salt SHA-256, good signature, 129 bytes -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"43286cc0fc599603fbb0cd1fd70c3a17b08d2adf4f90202dddfa4b9d74be8c720bbb1c714665466de6452d401ca061b68225785ff387c2615f03c81351cc3838cd3014a031a4f4c9f70bba06f504c6a9942ac2dbfed2329e590d526a9be26b4025a6d7c4151b4e795cfe756c9a8a5e8fa9228a6f5f6f427a5a070e5c0ea69830" PSA verify message: ECDSA SECP256R1 SHA-256, good @@ -4594,27 +4594,27 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ALG_SHA_25 verify_message:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263":"0f8c19f5affea6d593a33e176aa52717bff8d5875165fc63e80a2d65580d295789db5ffb5397ba4c67834e2731ee268ea6f7e83846fbb02145b35442db18cf0b" PSA verify message: RSA PKCS#1 v1.5 SHA-256, wrong signature (same size) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"111164d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA PKCS#1 v1.5 SHA-256, wrong signature (empty) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA PKCS#1 v1.5 SHA-256, wrong signature (truncated) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc73":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA PKCS#1 v1.5 SHA-256, wrong signature (trailing junk) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc731121":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA PKCS#1 v1.5 SHA-256, wrong signature (leading junk) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):"616263":"21a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_SIGNATURE PSA verify message: RSA PKCS#1 v1.5 without hash -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C verify_message_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_SIGN_RAW:"616263":"21a73664d55b39c7ea6c1e5b5011724a11e1d7073d3a68f48c836fad153a1d91b6abdbc8f69da13b206cc96af6363b114458b026af14b24fab8929ed634c6a2acace0bcc62d9bb6a984afbcbfcd3a0608d32a2bae535b9cd1ecdf9dd281db1e0025c3bfb5512963ec3b98ddaa69e38bc3c84b1b61a04e5648640856aacc6fc7311":PSA_ERROR_INVALID_ARGUMENT PSA verify message: ECDSA SECP256R1, wrong signature size (correct but ASN1-encoded) @@ -4642,7 +4642,7 @@ depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_PUBLIC_ verify_message_fail:PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_FAMILY_SECP_R1):"04dea5e45d0ea37fc566232a508f4ad20ea13d47e4bf5fa4d54a57a0ba012042087097496efc583fed8b24a5b9be9a51de063f5a00a8b698a16fd7f29b5485f320":PSA_ALG_ECDSA(PSA_ALG_SHA_256):"616263":"ff0f8c19f5affea6d593a33e176aa52717bff8d5875165fc63e80a2d65580d295789db5ffb5397ba4c67834e2731ee268ea6f7e83846fbb02145b35442db18cf0b":PSA_ERROR_INVALID_SIGNATURE PSA verify message: invalid algorithm for ECC key -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 verify_message_fail:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3a":PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):"":"":PSA_ERROR_INVALID_ARGUMENT PSA verify message: ECDSA without hash @@ -4654,19 +4654,19 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBED asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_CRYPT:"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"":128:PSA_SUCCESS PSA encrypt: RSA OAEP-SHA-256, good -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"":128:PSA_SUCCESS PSA encrypt: RSA OAEP-SHA-256, good, with label -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"746869730069730061006c6162656c00":128:PSA_SUCCESS PSA encrypt: RSA OAEP-SHA-384, good -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_384):"0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e":"":128:PSA_SUCCESS PSA encrypt: RSA OAEP-SHA-384, good, with label -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_384):"0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e":"746869730069730061006c6162656c00":128:PSA_SUCCESS PSA encrypt: RSA PKCS#1 v1.5, key pair @@ -4674,7 +4674,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL asymmetric_encrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_CRYPT:"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"":128:PSA_SUCCESS PSA encrypt: RSA OAEP-SHA-256, key pair -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_encrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"":128:PSA_SUCCESS PSA encrypt: RSA PKCS#1 v1.5, input too large @@ -4686,7 +4686,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBED asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_CRYPT:"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":0:PSA_ERROR_INVALID_ARGUMENT PSA encrypt: RSA OAEP-SHA-384, input too large -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA asymmetric_encrypt:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_384):"0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f":"":0:PSA_ERROR_INVALID_ARGUMENT PSA encrypt: invalid algorithm @@ -4706,15 +4706,15 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL asymmetric_encrypt_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_CRYPT:"99e8a6144bcb9a29660303bdc4305bb5eca8c64b96788cad062be9967bdab2f7ffff":"" PSA encrypt-decrypt: RSA OAEP-SHA-256 -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_encrypt_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"" PSA encrypt-decrypt: RSA OAEP-SHA-256, with label -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_encrypt_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad":"746869730069730061006c6162656c00" PSA encrypt-decrypt: RSA OAEP-SHA-384 -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA asymmetric_encrypt_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_384):"0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e":"" PSA decrypt: RSA PKCS#1 v1.5: good #1 @@ -4734,35 +4734,35 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082013b020100024100ee2b131d6b1818a94ca8e91c42387eb15a7c271f57b89e7336b144d4535b16c83097ecdefbbb92d1b5313b5a37214d0e8f25922dca778b424b25295fc8a1a7070203010001024100978ac8eadb0dc6035347d6aba8671215ff21283385396f7897c04baf5e2a835f3b53ef80a82ed36ae687a925380b55a0c73eb85656e989dcf0ed7fb4887024e1022100fdad8e1c6853563f8b921d2d112462ae7d6b176082d2ba43e87e1a37fc1a8b33022100f0592cf4c55ba44307b18981bcdbda376c51e590ffa5345ba866f6962dca94dd02201995f1a967d44ff4a4cd1de837bc65bf97a2bf7eda730a9a62cea53254591105022027f96cf4b8ee68ff8d04062ec1ce7f18c0b74e4b3379b29f9bfea3fc8e592731022100cefa6d220496b43feb83194255d8fb930afcf46f36606e3aa0eb7a93ad88c10c":PSA_ALG_RSA_PKCS1V15_CRYPT:"1b4c1d06439b99f886048b8544607b5e8e5ac6828ad9d0b7ad4ec0b314a4d8052f8bbeab6c85dbddff0b90cc76395a7a0c4f9cc29cd7be20be0b38ff611800d6":"":"" PSA decrypt: RSA OAEP-SHA-256, 0 bytes -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"3d3146b1c982004273a9ebb9b063e6ae53b1a85bfc802324bcdd04faa0f7211fb2bdeea40358095554df9c250866c7361e738f0d270eaa27738e87928c5e31815506346727900ff03cef0be6f9dd6bba63ce89074e8194fe68b5a5739422d4f138bbbb61f49b76cf1f18def2c993e3113b08c191ea1da0feb94f8fd9b30109a1":"":"" PSA decrypt: RSA OAEP-SHA-256, 0 bytes, with label -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"14e57648fbbd3c2c195d71fcb9b6c332e2ad9e3402aa701e7270b05775e9ddd025e2330d7b84e67866524c67f9c38b11e4679e28a38574b47f8d218a1a04a7466754d6ea7f959ab1f5b85d066d3f90076e8219f66653f7b78a9789d76213505b4e75ec28081608ed2f1ea1238e3eeab011ce4ec147327cd0ca029c2818133cb6":"746869730069730061006c6162656c00":"" PSA decrypt: RSA OAEP-SHA-256, 30 bytes -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"3fd3c81e3919a19014400d91098090f273312e0150e09eff7f66fb9624d2ec9764fc80befcb592e9d102493c882b8bc0334a257e73aba23a0ee13f826cbc64f8200b9150784d004ccb2955c877c95ab888e3917f423dd52f3c8a49cb61c1966ec04f336068729ae0bce7d7fb3e680f9d15d658db9b906efcbf2c2fae45e75429":"":"74686973206973206e6f2073717565616d697368206f7373696672616765" PSA decrypt: RSA OAEP-SHA-256, 30 bytes, with label -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"46edc9984a6d4b7c7fd88fda9ea91ddbd30b28a0793cc75a9fcdd94d867c69090a697d46a6f336a3e48a122dd3ee3b51566b445ff78adb613d09b7d8c59c25a27d8cf7f5e36455f2e71ff6c6ee98d5740e66b23794acc72906561951c2be5064f6a250646ab627ecbfa48c02f82c29fe9b8c8e6be8eb752432124974373b542c":"746869730069730061006c6162656c00":"74686973206973206e6f2073717565616d697368206f7373696672616765" PSA decrypt: RSA OAEP-SHA-384, 30 bytes -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C:MBEDTLS_PSA_BUILTIN_ALG_SHA_384 +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_384:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA asymmetric_decrypt:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_384):"0df6750b8fed749359c016887d2cf097cc512c065526a91a7ee9b345a1bfff833737e7326e54d03f6bb65971962885a7661a16858d53ea55821052f4c7798d395b5c5495332fd4174451a1a437f36c27f446b96f309ff1cb6837274aa8ae2b51a8a479d736d25b8d2ca8ab96fe589553a3e52818b7df75544eb5469977b29aa4":"":"74686973206973206e6f2073717565616d697368206f7373696672616765" PSA decrypt: RSA OAEP-SHA-256, 30 bytes, wrong label (should be empty) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"3fd3c81e3919a19014400d91098090f273312e0150e09eff7f66fb9624d2ec9764fc80befcb592e9d102493c882b8bc0334a257e73aba23a0ee13f826cbc64f8200b9150784d004ccb2955c877c95ab888e3917f423dd52f3c8a49cb61c1966ec04f336068729ae0bce7d7fb3e680f9d15d658db9b906efcbf2c2fae45e75429":"00":128:PSA_ERROR_INVALID_PADDING PSA decrypt: RSA OAEP-SHA-256, 30 bytes, wrong label (empty) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"46edc9984a6d4b7c7fd88fda9ea91ddbd30b28a0793cc75a9fcdd94d867c69090a697d46a6f336a3e48a122dd3ee3b51566b445ff78adb613d09b7d8c59c25a27d8cf7f5e36455f2e71ff6c6ee98d5740e66b23794acc72906561951c2be5064f6a250646ab627ecbfa48c02f82c29fe9b8c8e6be8eb752432124974373b542c":"":128:PSA_ERROR_INVALID_PADDING PSA decrypt: RSA OAEP-SHA-256, 30 bytes, wrong label (same length) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"46edc9984a6d4b7c7fd88fda9ea91ddbd30b28a0793cc75a9fcdd94d867c69090a697d46a6f336a3e48a122dd3ee3b51566b445ff78adb613d09b7d8c59c25a27d8cf7f5e36455f2e71ff6c6ee98d5740e66b23794acc72906561951c2be5064f6a250646ab627ecbfa48c02f82c29fe9b8c8e6be8eb752432124974373b542c":"746869730069730061006c6162656c01":128:PSA_ERROR_INVALID_PADDING PSA decrypt: RSA PKCS#1 v1.5, invalid padding @@ -4774,7 +4774,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_CRYPT:"99ffde2fcc00c9cc01972ebfa7779b298dbbaf7f50707a7405296dd2783456fc792002f462e760500e02afa25a859ace8701cb5d3b0262116431c43af8eb08f5a88301057cf1c156a2a5193c143e7a5b03fac132b7e89e6dcd8f4c82c9b28452329c260d30bc39b3816b7c46b41b37b4850d2ae74e729f99c6621fbbe2e46872":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":128:PSA_ERROR_INVALID_ARGUMENT PSA decrypt: RSA OAEP-SHA-256, invalid padding -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"3fd3c81e3919a19014400d91098090f273312e0150e09eff7f66fb9624d2ec9764fc80befcb592e9d102493c882b8bc0334a257e73aba23a0ee13f826cbc64f8200b9150784d004ccb2955c877c95ab888e3917f423dd52f3c8a49cb61c1966ec04f336068729ae0bce7d7fb3e680f9d15d658db9b906efcbf2c2fae45e75428":"":128:PSA_ERROR_INVALID_PADDING PSA decrypt: invalid algorithm @@ -4786,7 +4786,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBED asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_PKCS1V15_CRYPT:"adeecba2db7f867a733853f0136c554e5e01c7a2015721a9bfe30c3ad163b93a9c7589170311209f91420ad8a1a8280c7e890a6d7bca3c500b4da4f53a17bd84a21d58f979a9b4b8f2246b482d930804f12b3aeb2ac8b5ac7938d452ca13be8eb8e973c4e2b19fd454058cbae037bcef7ef68a5fbabf050de5f283cf1998c695":"":128:PSA_ERROR_INVALID_ARGUMENT PSA decrypt: RSA OAEP, invalid key type (RSA public key) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_PUBLIC_KEY:"30818902818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc30203010001":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"adeecba2db7f867a733853f0136c554e5e01c7a2015721a9bfe30c3ad163b93a9c7589170311209f91420ad8a1a8280c7e890a6d7bca3c500b4da4f53a17bd84a21d58f979a9b4b8f2246b482d930804f12b3aeb2ac8b5ac7938d452ca13be8eb8e973c4e2b19fd454058cbae037bcef7ef68a5fbabf050de5f283cf1998c695":"":128:PSA_ERROR_INVALID_ARGUMENT PSA decrypt: RSA PKCS#1 v1.5: invalid key type (AES) @@ -4802,11 +4802,11 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_PKCS1V15_CRYPT:"0099ffde2fcc00c9cc01972ebfa7779b298dbbaf7f50707a7405296dd2783456fc792002f462e760500e02afa25a859ace8701cb5d3b0262116431c43af8eb08f5a88301057cf1c156a2a5193c143e7a5b03fac132b7e89e6dcd8f4c82c9b28452329c260d30bc39b3816b7c46b41b37b4850d2ae74e729f99c6621fbbe2e46872":"":129:PSA_ERROR_INVALID_ARGUMENT PSA decrypt: RSA OAEP-SHA-256, input too small -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"ffde2fcc00c9cc01972ebfa7779b298dbbaf7f50707a7405296dd2783456fc792002f462e760500e02afa25a859ace8701cb5d3b0262116431c43af8eb08f5a88301057cf1c156a2a5193c143e7a5b03fac132b7e89e6dcd8f4c82c9b28452329c260d30bc39b3816b7c46b41b37b4850d2ae74e729f99c6621fbbe2e46872":"":127:PSA_ERROR_INVALID_ARGUMENT PSA decrypt: RSA OAEP-SHA-256, input too large -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_PK_PARSE_C asymmetric_decrypt_fail:PSA_KEY_TYPE_RSA_KEY_PAIR:"3082025e02010002818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3020301000102818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24":PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):"0099ffde2fcc00c9cc01972ebfa7779b298dbbaf7f50707a7405296dd2783456fc792002f462e760500e02afa25a859ace8701cb5d3b0262116431c43af8eb08f5a88301057cf1c156a2a5193c143e7a5b03fac132b7e89e6dcd8f4c82c9b28452329c260d30bc39b3816b7c46b41b37b4850d2ae74e729f99c6621fbbe2e46872":"":129:PSA_ERROR_INVALID_ARGUMENT Crypto derivation operation object initializers zero properly @@ -4824,16 +4824,20 @@ PSA key derivation setup: TLS 1.2 PRF SHA-256, good case depends_on:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PRF derive_setup:PSA_ALG_TLS12_PRF(PSA_ALG_SHA_256):PSA_SUCCESS +PSA key derivation setup: TLS 1.2 ECJPAKE to PMS +depends_on:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS +derive_setup:PSA_ALG_TLS12_ECJPAKE_TO_PMS:PSA_SUCCESS + PSA key derivation setup: not a key derivation algorithm (HMAC) depends_on:PSA_WANT_ALG_HMAC:PSA_WANT_ALG_SHA_256 derive_setup:PSA_ALG_HMAC(PSA_ALG_SHA_256):PSA_ERROR_INVALID_ARGUMENT PSA key derivation setup: algorithm from bad hash -depends_on:MBEDTLS_SHA256_C +depends_on:PSA_WANT_ALG_SHA_256 derive_setup:PSA_ALG_HKDF(PSA_ALG_CATEGORY_HASH):PSA_ERROR_NOT_SUPPORTED PSA key derivation setup: bad algorithm -depends_on:MBEDTLS_SHA256_C +depends_on:PSA_WANT_ALG_SHA_256 derive_setup:PSA_ALG_CATEGORY_KEY_DERIVATION:PSA_ERROR_NOT_SUPPORTED PSA key derivation: HKDF-SHA-256, good case, direct output @@ -5793,6 +5797,47 @@ PSA key derivation: over capacity 42: output 43+1 depends_on:PSA_WANT_ALG_HKDF:PSA_WANT_ALG_SHA_256 derive_output:PSA_ALG_HKDF(PSA_ALG_SHA_256):PSA_KEY_DERIVATION_INPUT_SALT:"000102030405060708090a0b0c":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_INFO:"f0f1f2f3f4f5f6f7f8f9":PSA_SUCCESS:0:"":PSA_SUCCESS:"":42:"3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865ff":"ff":0:1:0 +PSA key derivation: ECJPAKE to PMS, no input +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"":PSA_ERROR_INVALID_ARGUMENT:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"":PSA_ERROR_INVALID_ARGUMENT + +PSA key derivation: ECJPAKE to PMS, input too short +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"deadbeef":PSA_ERROR_INVALID_ARGUMENT:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"":PSA_ERROR_INVALID_ARGUMENT + +PSA key derivation: ECJPAKE to PMS, input too long +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de":PSA_ERROR_INVALID_ARGUMENT:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"":PSA_ERROR_INVALID_ARGUMENT + +PSA key derivation: ECJPAKE to PMS, bad input format +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":PSA_ERROR_INVALID_ARGUMENT:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"":PSA_ERROR_INVALID_ARGUMENT + +#NIST CAVS 11.0 SHA-256 ShortMSG vector for L=256 +PSA key derivation: ECJPAKE to PMS, good case +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"4f44c1c7fbebb6f9601829f3897bfd650c56fa07844be76489076356ac1886a4":PSA_SUCCESS + +PSA key derivation: ECJPAKE to PMS, bad derivation step +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_ERROR_INVALID_ARGUMENT:PSA_KEY_DERIVATION_INPUT_SEED:32:PSA_SUCCESS:"4f44c1c7fbebb6f9601829f3897bfd650c56fa07844be76489076356ac1886a4":PSA_SUCCESS + +PSA key derivation: ECJPAKE to PMS, capacity 1 byte too big +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:33:PSA_ERROR_INVALID_ARGUMENT:"4f44c1c7fbebb6f9601829f3897bfd650c56fa07844be76489076356ac1886a4":PSA_SUCCESS + +PSA key derivation: ECJPAKE to PMS, capacity 1 byte too small +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:31:PSA_SUCCESS:"4f44c1c7fbebb6f9601829f3897bfd650c56fa07844be76489076356ac1886a4":PSA_ERROR_INSUFFICIENT_DATA + +PSA key derivation: ECJPAKE to PMS, output too short +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"4f":PSA_ERROR_INVALID_ARGUMENT + +PSA key derivation: ECJPAKE to PMS, output too long +depends_on:PSA_WANT_ALG_SHA_256 +derive_ecjpake_to_pms:"0409fc1accc230a205e4a208e64a8f204291f581a12756392da4b8c0cf5ef02b950000000000000000000000000000000000000000000000000000000000000000":PSA_SUCCESS:PSA_KEY_DERIVATION_INPUT_SECRET:32:PSA_SUCCESS:"4f44c1c7fbebb6f9601829f3897bfd650c56fa07844be76489076356ac1886a400":PSA_ERROR_INSUFFICIENT_DATA + PSA key derivation: HKDF SHA-256, read maximum capacity minus 1 depends_on:PSA_WANT_ALG_HKDF:PSA_WANT_ALG_SHA_256 derive_full:PSA_ALG_HKDF(PSA_ALG_SHA_256):"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b":"000102030405060708090a0b0c":"f0f1f2f3f4f5f6f7f8f9":255 * PSA_HASH_LENGTH(PSA_ALG_SHA_256) - 1 @@ -6335,15 +6380,15 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:512:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:PSA_SUCCESS:0 PSA generate key: RSA, 1016 bits, good, sign (PKCS#1 v1.5) -depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:1016:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:PSA_SUCCESS:0 PSA generate key: RSA, 1024 bits, good, sign (PSS SHA-256) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):PSA_SUCCESS:0 PSA generate key: RSA, 1024 bits, good, sign (PSS-any-salt SHA-256) -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PSS_ANY_SALT(PSA_ALG_SHA_256):PSA_SUCCESS:0 PSA generate key: RSA, 512 bits, good, encrypt (PKCS#1 v1.5) @@ -6351,7 +6396,7 @@ depends_on:PSA_WANT_ALG_RSA_PKCS1V15_CRYPT:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTL generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:512:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_SUCCESS:0 PSA generate key: RSA, 1024 bits, good, encrypt (OAEP SHA-256) -depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_MD_C +depends_on:PSA_WANT_ALG_RSA_OAEP:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME generate_key:PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256):PSA_SUCCESS:0 PSA generate key: RSA, 0 bits: invalid @@ -6436,7 +6481,7 @@ depends_on:PSA_WANT_ALG_CBC_NO_PADDING:PSA_WANT_KEY_TYPE_DES:MBEDTLS_PSA_CRYPTO_ persistent_key_load_key_from_storage:"":PSA_KEY_TYPE_DES:64:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT:PSA_ALG_CBC_NO_PADDING:GENERATE_KEY PSA generate persistent key: RSA, 1024 bits, exportable -depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_MD_C:MBEDTLS_PSA_CRYPTO_STORAGE_C +depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256:PSA_WANT_KEY_TYPE_RSA_KEY_PAIR:MBEDTLS_GENPRIME:MBEDTLS_PSA_CRYPTO_STORAGE_C persistent_key_load_key_from_storage:"":PSA_KEY_TYPE_RSA_KEY_PAIR:1024:PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_RSA_PSS(PSA_ALG_SHA_256):GENERATE_KEY PSA generate persistent key: ECC, SECP256R1, exportable diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function index 7d368cf162..dbbac764dd 100644 --- a/tests/suites/test_suite_psa_crypto.function +++ b/tests/suites/test_suite_psa_crypto.function @@ -4,6 +4,7 @@ #include "mbedtls/asn1.h" #include "mbedtls/asn1write.h" #include "mbedtls/oid.h" +#include "common.h" /* For MBEDTLS_CTR_DRBG_MAX_REQUEST, knowing that psa_generate_random() * uses mbedtls_ctr_drbg internally. */ @@ -21,6 +22,7 @@ #else #define TEST_DRIVER_LOCATION 0x7fffff #endif +#include "mbedtls/legacy_or_psa.h" /* If this comes up, it's a bug in the test code or in the test data. */ #define UNUSED 0xdeadbeef @@ -30,6 +32,27 @@ #define ASSERT_OPERATION_IS_ACTIVE( operation ) TEST_ASSERT( operation.id != 0 ) #define ASSERT_OPERATION_IS_INACTIVE( operation ) TEST_ASSERT( operation.id == 0 ) +#if defined(PSA_WANT_ALG_JPAKE) +int ecjpake_operation_setup( psa_pake_operation_t *operation, + psa_pake_cipher_suite_t *cipher_suite, + psa_pake_role_t role, + mbedtls_svc_key_id_t key, + size_t key_available ) +{ + PSA_ASSERT( psa_pake_abort( operation ) ); + + PSA_ASSERT( psa_pake_setup( operation, cipher_suite ) ); + + PSA_ASSERT( psa_pake_set_role( operation, role) ); + + if( key_available ) + PSA_ASSERT( psa_pake_set_password_key( operation, key ) ); + return 0; +exit: + return 1; +} +#endif + /** An invalid export length that will never be set by psa_export_key(). */ static const size_t INVALID_EXPORT_LENGTH = ~0U; @@ -599,7 +622,7 @@ exit: * the data in to be encrypted / decrypted. If * -1, no chunking * \param expected_output Expected output - * \param is_verify If non-zero this is an verify operation. + * \param is_verify If non-zero this is a verify operation. * \param do_zero_parts If non-zero, interleave zero length chunks * with normal length chunks. * \return int Zero on failure, non-zero on success. @@ -705,6 +728,615 @@ exit: return( test_ok ); } +#if defined(PSA_WANT_ALG_JPAKE) +static void ecjpake_do_round( psa_algorithm_t alg, unsigned int primitive, + psa_pake_operation_t *server, + psa_pake_operation_t *client, + int client_input_first, + int round, int inject_error ) +{ + unsigned char *buffer0 = NULL, *buffer1 = NULL; + size_t buffer_length = ( + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_KEY_SHARE) + + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PUBLIC) + + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PROOF)) * 2; + /* The output should be exactly this size according to the spec */ + const size_t expected_size_key_share = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_KEY_SHARE); + /* The output should be exactly this size according to the spec */ + const size_t expected_size_zk_public = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PUBLIC); + /* The output can be smaller: the spec allows stripping leading zeroes */ + const size_t max_expected_size_zk_proof = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PROOF); + size_t buffer0_off = 0; + size_t buffer1_off = 0; + size_t s_g1_len, s_g2_len, s_a_len; + size_t s_g1_off, s_g2_off, s_a_off; + size_t s_x1_pk_len, s_x2_pk_len, s_x2s_pk_len; + size_t s_x1_pk_off, s_x2_pk_off, s_x2s_pk_off; + size_t s_x1_pr_len, s_x2_pr_len, s_x2s_pr_len; + size_t s_x1_pr_off, s_x2_pr_off, s_x2s_pr_off; + size_t c_g1_len, c_g2_len, c_a_len; + size_t c_g1_off, c_g2_off, c_a_off; + size_t c_x1_pk_len, c_x2_pk_len, c_x2s_pk_len; + size_t c_x1_pk_off, c_x2_pk_off, c_x2s_pk_off; + size_t c_x1_pr_len, c_x2_pr_len, c_x2s_pr_len; + size_t c_x1_pr_off, c_x2_pr_off, c_x2s_pr_off; + psa_status_t expected_status = PSA_SUCCESS; + psa_status_t status; + + ASSERT_ALLOC( buffer0, buffer_length ); + ASSERT_ALLOC( buffer1, buffer_length ); + + switch( round ) + { + case 1: + /* Server first round Output */ + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_g1_len ) ); + TEST_EQUAL( s_g1_len, expected_size_key_share ); + s_g1_off = buffer0_off; + buffer0_off += s_g1_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x1_pk_len ) ); + TEST_EQUAL( s_x1_pk_len, expected_size_zk_public ); + s_x1_pk_off = buffer0_off; + buffer0_off += s_x1_pk_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x1_pr_len ) ); + TEST_LE_U( s_x1_pr_len, max_expected_size_zk_proof ); + s_x1_pr_off = buffer0_off; + buffer0_off += s_x1_pr_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_g2_len ) ); + TEST_EQUAL( s_g2_len, expected_size_key_share ); + s_g2_off = buffer0_off; + buffer0_off += s_g2_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2_pk_len ) ); + TEST_EQUAL( s_x2_pk_len, expected_size_zk_public ); + s_x2_pk_off = buffer0_off; + buffer0_off += s_x2_pk_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2_pr_len ) ); + TEST_LE_U( s_x2_pr_len, max_expected_size_zk_proof ); + s_x2_pr_off = buffer0_off; + buffer0_off += s_x2_pr_len; + + if( inject_error == 1 ) + { + buffer0[s_x1_pr_off + 8] ^= 1; + buffer0[s_x2_pr_off + 7] ^= 1; + expected_status = PSA_ERROR_DATA_INVALID; + } + + /* + * When injecting errors in inputs, the implementation is + * free to detect it right away of with a delay. + * This permits delaying the error until the end of the input + * sequence, if no error appears then, this will be treated + * as an error. + */ + + if( client_input_first == 1 ) + { + /* Client first round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g1_off, s_g1_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x1_pk_off, + s_x1_pk_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x1_pr_off, + s_x1_pr_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g2_off, + s_g2_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2_pk_off, + s_x2_pk_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2_pr_off, + s_x2_pr_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 1 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + /* Client first round Output */ + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_g1_len ) ); + TEST_EQUAL( c_g1_len, expected_size_key_share ); + c_g1_off = buffer1_off; + buffer1_off += c_g1_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x1_pk_len ) ); + TEST_EQUAL( c_x1_pk_len, expected_size_zk_public ); + c_x1_pk_off = buffer1_off; + buffer1_off += c_x1_pk_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x1_pr_len ) ); + TEST_LE_U( c_x1_pr_len, max_expected_size_zk_proof ); + c_x1_pr_off = buffer1_off; + buffer1_off += c_x1_pr_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_g2_len ) ); + TEST_EQUAL( c_g2_len, expected_size_key_share ); + c_g2_off = buffer1_off; + buffer1_off += c_g2_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2_pk_len ) ); + TEST_EQUAL( c_x2_pk_len, expected_size_zk_public ); + c_x2_pk_off = buffer1_off; + buffer1_off += c_x2_pk_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2_pr_len ) ); + TEST_LE_U( c_x2_pr_len, max_expected_size_zk_proof ); + c_x2_pr_off = buffer1_off; + buffer1_off += c_x2_pr_len; + + if( client_input_first == 0 ) + { + /* Client first round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g1_off, s_g1_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x1_pk_off, + s_x1_pk_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x1_pr_off, + s_x1_pr_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g2_off, + s_g2_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2_pk_off, + s_x2_pk_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2_pr_off, + s_x2_pr_len ); + if( inject_error == 1 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 1 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + if( inject_error == 2 ) + { + buffer1[c_x1_pr_off + 12] ^= 1; + buffer1[c_x2_pr_off + 7] ^= 1; + expected_status = PSA_ERROR_DATA_INVALID; + } + + /* Server first round Input */ + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_g1_off, c_g1_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x1_pk_off, c_x1_pk_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x1_pr_off, c_x1_pr_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_g2_off, c_g2_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x2_pk_off, c_x2_pk_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x2_pr_off, c_x2_pr_len ); + if( inject_error == 2 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 2 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + + break; + + case 2: + /* Server second round Output */ + buffer0_off = 0; + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_a_len ) ); + TEST_EQUAL( s_a_len, expected_size_key_share ); + s_a_off = buffer0_off; + buffer0_off += s_a_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2s_pk_len ) ); + TEST_EQUAL( s_x2s_pk_len, expected_size_zk_public ); + s_x2s_pk_off = buffer0_off; + buffer0_off += s_x2s_pk_len; + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2s_pr_len ) ); + TEST_LE_U( s_x2s_pr_len, max_expected_size_zk_proof ); + s_x2s_pr_off = buffer0_off; + buffer0_off += s_x2s_pr_len; + + if( inject_error == 3 ) + { + buffer0[s_x2s_pk_off + 12] += 0x33; + expected_status = PSA_ERROR_DATA_INVALID; + } + + if( client_input_first == 1 ) + { + /* Client second round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_a_off, s_a_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2s_pk_off, + s_x2s_pk_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2s_pr_off, + s_x2s_pr_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 3 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + /* Client second round Output */ + buffer1_off = 0; + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_a_len ) ); + TEST_EQUAL( c_a_len, expected_size_key_share ); + c_a_off = buffer1_off; + buffer1_off += c_a_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2s_pk_len ) ); + TEST_EQUAL( c_x2s_pk_len, expected_size_zk_public ); + c_x2s_pk_off = buffer1_off; + buffer1_off += c_x2s_pk_len; + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2s_pr_len ) ); + TEST_LE_U( c_x2s_pr_len, max_expected_size_zk_proof ); + c_x2s_pr_off = buffer1_off; + buffer1_off += c_x2s_pr_len; + + if( client_input_first == 0 ) + { + /* Client second round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_a_off, s_a_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2s_pk_off, + s_x2s_pk_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2s_pr_off, + s_x2s_pr_len ); + if( inject_error == 3 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 3 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + if( inject_error == 4 ) + { + buffer1[c_x2s_pk_off + 7] += 0x28; + expected_status = PSA_ERROR_DATA_INVALID; + } + + /* Server second round Input */ + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_a_off, c_a_len ); + if( inject_error == 4 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x2s_pk_off, c_x2s_pk_len ); + if( inject_error == 4 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x2s_pr_off, c_x2s_pr_len ); + if( inject_error == 4 && status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_status ); + break; + } + else + { + TEST_EQUAL( status, PSA_SUCCESS ); + } + + /* Error didn't trigger, make test fail */ + if( inject_error == 4 ) + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + + break; + + } + +exit: + mbedtls_free( buffer0 ); + mbedtls_free( buffer1 ); +} +#endif /* PSA_WANT_ALG_JPAKE */ + +typedef enum +{ + INJECT_ERR_NONE = 0, + INJECT_ERR_UNINITIALIZED_ACCESS, + INJECT_ERR_DUPLICATE_SETUP, + INJECT_ERR_INVALID_USER, + INJECT_ERR_INVALID_PEER, + INJECT_ERR_SET_USER, + INJECT_ERR_SET_PEER, + INJECT_EMPTY_IO_BUFFER, + INJECT_UNKNOWN_STEP, + INJECT_INVALID_FIRST_STEP, + INJECT_WRONG_BUFFER_SIZE, + INJECT_VALID_OPERATION_AFTER_FAILURE, + INJECT_ANTICIPATE_KEY_DERIVATION_1, + INJECT_ANTICIPATE_KEY_DERIVATION_2, +} ecjpake_injected_failure_t; + /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -3370,7 +4002,7 @@ void cipher_alg_without_iv( int alg_arg, int key_type_arg, data_t *key_data, TEST_LE_U( length, output_buffer_size ); output_length += length; PSA_ASSERT( psa_cipher_finish( &operation, - output + output_length, + mbedtls_buffer_offset( output, output_length ), output_buffer_size - output_length, &length ) ); output_length += length; @@ -3388,7 +4020,7 @@ void cipher_alg_without_iv( int alg_arg, int key_type_arg, data_t *key_data, TEST_LE_U( length, output_buffer_size ); output_length += length; PSA_ASSERT( psa_cipher_finish( &operation, - output + output_length, + mbedtls_buffer_offset( output, output_length ), output_buffer_size - output_length, &length ) ); output_length += length; @@ -5499,7 +6131,7 @@ void aead_multipart_state_test( int key_type_arg, data_t *key_data, psa_aead_abort( &operation ); - /* Test for calling set lengths with an plaintext length of SIZE_MAX, after setting nonce */ + /* Test for calling set lengths with a plaintext length of SIZE_MAX, after setting nonce */ PSA_ASSERT( psa_aead_encrypt_setup( &operation, key, alg ) ); PSA_ASSERT( psa_aead_set_nonce( &operation, nonce->x, nonce->len ) ); @@ -7233,6 +7865,51 @@ exit: } /* END_CASE */ +/* BEGIN_CASE depends_on:PSA_WANT_ALG_SHA_256:MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */ +void derive_ecjpake_to_pms( data_t *input, int expected_input_status_arg, + int derivation_step, + int capacity, int expected_capacity_status_arg, + data_t *expected_output, + int expected_output_status_arg ) +{ + psa_algorithm_t alg = PSA_ALG_TLS12_ECJPAKE_TO_PMS; + psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT; + psa_key_derivation_step_t step = (psa_key_derivation_step_t) derivation_step; + uint8_t *output_buffer = NULL; + psa_status_t status; + psa_status_t expected_input_status = (psa_status_t) expected_input_status_arg; + psa_status_t expected_capacity_status = (psa_status_t) expected_capacity_status_arg; + psa_status_t expected_output_status = (psa_status_t) expected_output_status_arg; + + ASSERT_ALLOC( output_buffer, expected_output->len ); + PSA_ASSERT( psa_crypto_init() ); + + PSA_ASSERT( psa_key_derivation_setup( &operation, alg ) ); + TEST_EQUAL( psa_key_derivation_set_capacity( &operation, capacity ), + expected_capacity_status); + + TEST_EQUAL( psa_key_derivation_input_bytes( &operation, + step, input->x, input->len ), + expected_input_status ); + + if( ( (psa_status_t) expected_input_status ) != PSA_SUCCESS ) + goto exit; + + status = psa_key_derivation_output_bytes( &operation, output_buffer, + expected_output->len ); + + TEST_EQUAL( status, expected_output_status ); + if( expected_output->len != 0 && expected_output_status == PSA_SUCCESS ) + ASSERT_COMPARE( output_buffer, expected_output->len, expected_output->x, + expected_output->len ); + +exit: + mbedtls_free( output_buffer ); + psa_key_derivation_abort( &operation ); + PSA_DONE(); +} +/* END_CASE */ + /* BEGIN_CASE */ void derive_key_exercise( int alg_arg, data_t *key_data, @@ -8091,3 +8768,443 @@ exit: PSA_DONE(); } /* END_CASE */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_setup( int alg_arg, int key_type_pw_arg, int key_usage_pw_arg, + int primitive_arg, int hash_arg, int role_arg, + int test_input, data_t *pw_data, + int inj_err_type_arg, + int expected_error_arg) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t operation = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_pake_primitive_t primitive = primitive_arg; + psa_key_type_t key_type_pw = key_type_pw_arg; + psa_key_usage_t key_usage_pw = key_usage_pw_arg; + psa_algorithm_t hash_alg = hash_arg; + psa_pake_role_t role = role_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + ecjpake_injected_failure_t inj_err_type = inj_err_type_arg; + psa_status_t expected_error = expected_error_arg; + psa_status_t status; + unsigned char *output_buffer = NULL; + size_t output_len = 0; + + PSA_INIT( ); + + size_t buf_size = PSA_PAKE_OUTPUT_SIZE(alg, primitive_arg, + PSA_PAKE_STEP_KEY_SHARE); + ASSERT_ALLOC( output_buffer, buf_size ); + + if( pw_data->len > 0 ) + { + psa_set_key_usage_flags( &attributes, key_usage_pw ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, key_type_pw ); + PSA_ASSERT( psa_import_key( &attributes, pw_data->x, pw_data->len, + &key ) ); + } + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + PSA_ASSERT( psa_pake_abort( &operation ) ); + + if ( inj_err_type == INJECT_ERR_UNINITIALIZED_ACCESS ) + { + TEST_EQUAL( psa_pake_set_user( &operation, NULL, 0 ), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + TEST_EQUAL( psa_pake_set_peer( &operation, NULL, 0 ), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + TEST_EQUAL( psa_pake_set_password_key( &operation, key ), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + TEST_EQUAL( psa_pake_set_role( &operation, role ), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_KEY_SHARE, + NULL, 0, NULL ), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_KEY_SHARE, NULL, 0), + expected_error ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + goto exit; + } + + status = psa_pake_setup( &operation, &cipher_suite ); + if (status != PSA_SUCCESS) + { + TEST_EQUAL( status, expected_error ); + goto exit; + } + + if( inj_err_type == INJECT_ERR_DUPLICATE_SETUP ) + { + TEST_EQUAL( psa_pake_setup( &operation, &cipher_suite ), + expected_error ); + goto exit; + } + + status = psa_pake_set_role( &operation, role); + if ( status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_error ); + goto exit; + } + + if( pw_data->len > 0 ) + { + status = psa_pake_set_password_key( &operation, key ); + if ( status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_error ); + goto exit; + } + } + + if ( inj_err_type == INJECT_ERR_INVALID_USER ) + { + TEST_EQUAL( psa_pake_set_user( &operation, NULL, 0 ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_ERR_INVALID_PEER ) + { + TEST_EQUAL( psa_pake_set_peer( &operation, NULL, 0 ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_ERR_SET_USER ) + { + const uint8_t unsupported_id[] = "abcd"; + TEST_EQUAL( psa_pake_set_user( &operation, unsupported_id, 4 ), + PSA_ERROR_NOT_SUPPORTED ); + goto exit; + } + + if ( inj_err_type == INJECT_ERR_SET_PEER ) + { + const uint8_t unsupported_id[] = "abcd"; + TEST_EQUAL( psa_pake_set_peer( &operation, unsupported_id, 4 ), + PSA_ERROR_NOT_SUPPORTED ); + goto exit; + } + + const size_t size_key_share = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_KEY_SHARE ); + const size_t size_zk_public = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_ZK_PUBLIC ); + const size_t size_zk_proof = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_ZK_PROOF ); + + if ( test_input ) + { + if ( inj_err_type == INJECT_EMPTY_IO_BUFFER ) + { + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF, NULL, 0 ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_UNKNOWN_STEP ) + { + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF + 10, + output_buffer, size_zk_proof ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_INVALID_FIRST_STEP ) + { + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF, + output_buffer, size_zk_proof ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + status = psa_pake_input( &operation, PSA_PAKE_STEP_KEY_SHARE, + output_buffer, size_key_share ); + if ( status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_error); + goto exit; + } + + if ( inj_err_type == INJECT_WRONG_BUFFER_SIZE ) + { + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public + 1 ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_VALID_OPERATION_AFTER_FAILURE ) + { + // Just trigger any kind of error. We don't care about the result here + psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public + 1 ); + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + } else { + if ( inj_err_type == INJECT_EMPTY_IO_BUFFER ) + { + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF, + NULL, 0, NULL ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_UNKNOWN_STEP ) + { + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF + 10, + output_buffer, buf_size, &output_len ), + PSA_ERROR_INVALID_ARGUMENT ); + goto exit; + } + + if ( inj_err_type == INJECT_INVALID_FIRST_STEP ) + { + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF, + output_buffer, buf_size, &output_len ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + status = psa_pake_output( &operation, PSA_PAKE_STEP_KEY_SHARE, + output_buffer, buf_size, &output_len ); + if ( status != PSA_SUCCESS ) + { + TEST_EQUAL( status, expected_error); + goto exit; + } + + TEST_ASSERT( output_len > 0 ); + + if ( inj_err_type == INJECT_WRONG_BUFFER_SIZE ) + { + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public - 1, &output_len ), + PSA_ERROR_BUFFER_TOO_SMALL ); + goto exit; + } + + if ( inj_err_type == INJECT_VALID_OPERATION_AFTER_FAILURE ) + { + // Just trigger any kind of error. We don't care about the result here + psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public - 1, &output_len ); + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, buf_size, &output_len ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + } + +exit: + PSA_ASSERT( psa_destroy_key( key ) ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + mbedtls_free( output_buffer ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_rounds_inject( int alg_arg, int primitive_arg, int hash_arg, + int client_input_first, int inject_error, + data_t *pw_data ) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t server = psa_pake_operation_init(); + psa_pake_operation_t client = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_algorithm_t hash_alg = hash_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + + PSA_INIT( ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_PASSWORD ); + PSA_ASSERT( psa_import_key( &attributes, pw_data->x, pw_data->len, + &key ) ); + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive_arg ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + + PSA_ASSERT( psa_pake_setup( &server, &cipher_suite ) ); + PSA_ASSERT( psa_pake_setup( &client, &cipher_suite ) ); + + PSA_ASSERT( psa_pake_set_role( &server, PSA_PAKE_ROLE_SERVER ) ); + PSA_ASSERT( psa_pake_set_role( &client, PSA_PAKE_ROLE_CLIENT ) ); + + PSA_ASSERT( psa_pake_set_password_key( &server, key ) ); + PSA_ASSERT( psa_pake_set_password_key( &client, key ) ); + + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, 1, inject_error ); + + if( inject_error == 1 || inject_error == 2 ) + goto exit; + + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, 2, inject_error ); + +exit: + psa_destroy_key( key ); + psa_pake_abort( &server ); + psa_pake_abort( &client ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_rounds( int alg_arg, int primitive_arg, int hash_arg, + int derive_alg_arg, data_t *pw_data, + int client_input_first, int inj_err_type_arg ) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t server = psa_pake_operation_init(); + psa_pake_operation_t client = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_algorithm_t hash_alg = hash_arg; + psa_algorithm_t derive_alg = derive_alg_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + psa_key_derivation_operation_t server_derive = + PSA_KEY_DERIVATION_OPERATION_INIT; + psa_key_derivation_operation_t client_derive = + PSA_KEY_DERIVATION_OPERATION_INIT; + ecjpake_injected_failure_t inj_err_type = inj_err_type_arg; + + PSA_INIT( ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_PASSWORD ); + PSA_ASSERT( psa_import_key( &attributes, pw_data->x, pw_data->len, + &key ) ); + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive_arg ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + /* Get shared key */ + PSA_ASSERT( psa_key_derivation_setup( &server_derive, derive_alg ) ); + PSA_ASSERT( psa_key_derivation_setup( &client_derive, derive_alg ) ); + + if( PSA_ALG_IS_TLS12_PRF( derive_alg ) || + PSA_ALG_IS_TLS12_PSK_TO_MS( derive_alg ) ) + { + PSA_ASSERT( psa_key_derivation_input_bytes( &server_derive, + PSA_KEY_DERIVATION_INPUT_SEED, + (const uint8_t*) "", 0) ); + PSA_ASSERT( psa_key_derivation_input_bytes( &client_derive, + PSA_KEY_DERIVATION_INPUT_SEED, + (const uint8_t*) "", 0) ); + } + + PSA_ASSERT( psa_pake_setup( &server, &cipher_suite ) ); + PSA_ASSERT( psa_pake_setup( &client, &cipher_suite ) ); + + PSA_ASSERT( psa_pake_set_role( &server, PSA_PAKE_ROLE_SERVER ) ); + PSA_ASSERT( psa_pake_set_role( &client, PSA_PAKE_ROLE_CLIENT ) ); + + PSA_ASSERT( psa_pake_set_password_key( &server, key ) ); + PSA_ASSERT( psa_pake_set_password_key( &client, key ) ); + + if( inj_err_type == INJECT_ANTICIPATE_KEY_DERIVATION_1 ) + { + TEST_EQUAL( psa_pake_get_implicit_key( &server, &server_derive ), + PSA_ERROR_BAD_STATE ); + TEST_EQUAL( psa_pake_get_implicit_key( &client, &client_derive ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + /* First round */ + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, 1, 0 ); + + if ( inj_err_type == INJECT_ANTICIPATE_KEY_DERIVATION_2 ) + { + TEST_EQUAL( psa_pake_get_implicit_key( &server, &server_derive ), + PSA_ERROR_BAD_STATE ); + TEST_EQUAL( psa_pake_get_implicit_key( &client, &client_derive ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + /* Second round */ + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, 2, 0 ); + + PSA_ASSERT( psa_pake_get_implicit_key( &server, &server_derive ) ); + PSA_ASSERT( psa_pake_get_implicit_key( &client, &client_derive ) ); + +exit: + psa_key_derivation_abort( &server_derive ); + psa_key_derivation_abort( &client_derive ); + psa_destroy_key( key ); + psa_pake_abort( &server ); + psa_pake_abort( &client ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void ecjpake_size_macros( ) +{ + const psa_algorithm_t alg = PSA_ALG_JPAKE; + const size_t bits = 256; + const psa_pake_primitive_t prim = PSA_PAKE_PRIMITIVE( + PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, bits ); + const psa_key_type_t key_type = PSA_KEY_TYPE_ECC_KEY_PAIR( + PSA_ECC_FAMILY_SECP_R1 ); + + // https://armmbed.github.io/mbed-crypto/1.1_PAKE_Extension.0-bet.0/html/pake.html#pake-step-types + /* The output for KEY_SHARE and ZK_PUBLIC is the same as a public key */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE( key_type, bits ) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE( key_type, bits ) ); + /* The output for ZK_PROOF is the same bitsize as the curve */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_BITS_TO_BYTES( bits ) ); + + /* Input sizes are the same as output sizes */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF) ); + + /* These inequalities will always hold even when other PAKEs are added */ + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_INPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_INPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_INPUT_MAX_SIZE ); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_psa_crypto_driver_wrappers.data b/tests/suites/test_suite_psa_crypto_driver_wrappers.data index 0a8d595218..6069a696c2 100644 --- a/tests/suites/test_suite_psa_crypto_driver_wrappers.data +++ b/tests/suites/test_suite_psa_crypto_driver_wrappers.data @@ -299,6 +299,22 @@ export_key private to public through driver: error depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY:MBEDTLS_PK_PARSE_C:MBEDTLS_PK_WRITE_C:PSA_WANT_ECC_SECP_R1_256 export_key:PSA_ERROR_GENERIC_ERROR:"":PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee":PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_FAMILY_SECP_R1):"":PSA_ERROR_GENERIC_ERROR +raw key agreement through driver: fake +depends_on:PSA_WANT_ALG_ECDH:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 +key_agreement:PSA_ALG_ECDH:PSA_SUCCESS:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"c88f01f510d9ac3f70a292daa2316de544e9aab8afe84049c62a9c57862d1433":"04d12dfb5289c8d4f81208b70270398c342296970a0bccb74c736fc7554494bf6356fbf3ca366cc23e8157854c13c58d6aac23f046ada30f8353e74f33039872ab":"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de":"0102030405":PSA_SUCCESS + +raw key agreement through driver: in-driver +depends_on:PSA_WANT_ALG_ECDH:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 +key_agreement:PSA_ALG_ECDH:PSA_SUCCESS:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"c88f01f510d9ac3f70a292daa2316de544e9aab8afe84049c62a9c57862d1433":"04d12dfb5289c8d4f81208b70270398c342296970a0bccb74c736fc7554494bf6356fbf3ca366cc23e8157854c13c58d6aac23f046ada30f8353e74f33039872ab":"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de":"":PSA_SUCCESS + +raw key agreement through driver: fallback +depends_on:PSA_WANT_ALG_ECDH:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256:MBEDTLS_PSA_BUILTIN_ALG_ECDH +key_agreement:PSA_ALG_ECDH:PSA_ERROR_NOT_SUPPORTED:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"c88f01f510d9ac3f70a292daa2316de544e9aab8afe84049c62a9c57862d1433":"04d12dfb5289c8d4f81208b70270398c342296970a0bccb74c736fc7554494bf6356fbf3ca366cc23e8157854c13c58d6aac23f046ada30f8353e74f33039872ab":"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de":"":PSA_SUCCESS + +raw key agreement through driver: error +depends_on:PSA_WANT_ALG_ECDH:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:MBEDTLS_PK_PARSE_C:PSA_WANT_ECC_SECP_R1_256 +key_agreement:PSA_ALG_ECDH:PSA_ERROR_GENERIC_ERROR:PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1):"c88f01f510d9ac3f70a292daa2316de544e9aab8afe84049c62a9c57862d1433":"04d12dfb5289c8d4f81208b70270398c342296970a0bccb74c736fc7554494bf6356fbf3ca366cc23e8157854c13c58d6aac23f046ada30f8353e74f33039872ab":"d6840f6b42f6edafd13116e0e12565202fef8e9ece7dce03812464d04b9442de":"":PSA_ERROR_GENERIC_ERROR + PSA symmetric encrypt validation: AES-CTR, 16 bytes, good depends_on:PSA_WANT_ALG_CTR:PSA_WANT_KEY_TYPE_AES cipher_encrypt_validation:PSA_ALG_CTR:PSA_KEY_TYPE_AES:"2b7e151628aed2a6abf7158809cf4f3c":"6bc1bee22e409f96e93d7e117393172a" diff --git a/tests/suites/test_suite_psa_crypto_driver_wrappers.function b/tests/suites/test_suite_psa_crypto_driver_wrappers.function index 128352bb81..b713cb284c 100644 --- a/tests/suites/test_suite_psa_crypto_driver_wrappers.function +++ b/tests/suites/test_suite_psa_crypto_driver_wrappers.function @@ -541,6 +541,94 @@ exit: } /* END_CASE */ +/* BEGIN_CASE */ +void key_agreement( int alg_arg, + int force_status_arg, + int our_key_type_arg, + data_t *our_key_data, + data_t *peer_key_data, + data_t *expected_output, + data_t* fake_output, + int expected_status_arg ) +{ + psa_status_t force_status = force_status_arg; + psa_status_t expected_status = expected_status_arg; + psa_algorithm_t alg = alg_arg; + psa_key_type_t our_key_type = our_key_type_arg; + mbedtls_svc_key_id_t our_key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + const uint8_t *expected_output_ptr = NULL; + size_t expected_output_length = 0; + unsigned char *actual_output = NULL; + size_t actual_output_length = ~0; + size_t key_bits; + psa_status_t actual_status; + mbedtls_test_driver_key_agreement_hooks = + mbedtls_test_driver_key_agreement_hooks_init(); + + PSA_ASSERT( psa_crypto_init( ) ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, our_key_type ); + PSA_ASSERT( psa_import_key( &attributes, + our_key_data->x, our_key_data->len, + &our_key ) ); + + PSA_ASSERT( psa_get_key_attributes( our_key, &attributes ) ); + key_bits = psa_get_key_bits( &attributes ); + + TEST_LE_U( expected_output->len, + PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE( our_key_type, key_bits ) ); + TEST_LE_U( PSA_RAW_KEY_AGREEMENT_OUTPUT_SIZE( our_key_type, key_bits ), + PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE ); + + if( fake_output->len > 0 ) + { + expected_output_ptr = + mbedtls_test_driver_key_agreement_hooks.forced_output = + fake_output->x; + + expected_output_length = + mbedtls_test_driver_key_agreement_hooks.forced_output_length = + fake_output->len; + } + else + { + expected_output_ptr = expected_output->x; + expected_output_length = expected_output->len; + } + + mbedtls_test_driver_key_agreement_hooks.hits = 0; + mbedtls_test_driver_key_agreement_hooks.forced_status = force_status; + + ASSERT_ALLOC( actual_output, expected_output->len ); + actual_status = psa_raw_key_agreement( alg, our_key, + peer_key_data->x, peer_key_data->len, + actual_output, expected_output->len, + &actual_output_length ) ; + TEST_EQUAL( actual_status, expected_status ); + TEST_EQUAL( mbedtls_test_driver_key_agreement_hooks.hits, 1 ); + + if( actual_status == PSA_SUCCESS ) + { + ASSERT_COMPARE( actual_output, actual_output_length, + expected_output_ptr, expected_output_length); + } + mbedtls_free( actual_output ); + actual_output = NULL; + actual_output_length = ~0; + +exit: + psa_reset_key_attributes( &attributes ); + psa_destroy_key( our_key ); + PSA_DONE( ); + mbedtls_test_driver_key_agreement_hooks = + mbedtls_test_driver_key_agreement_hooks_init(); +} + +/* END_CASE */ + /* BEGIN_CASE */ void cipher_encrypt_validation( int alg_arg, int key_type_arg, @@ -660,14 +748,14 @@ void cipher_encrypt_multipart( int alg_arg, mbedtls_psa_cipher_operation_t mbedtls_operation = MBEDTLS_PSA_CIPHER_OPERATION_INIT; - mbedtls_transparent_test_driver_cipher_operation_t tranparent_operation = + mbedtls_transparent_test_driver_cipher_operation_t transparent_operation = MBEDTLS_TRANSPARENT_TEST_DRIVER_CIPHER_OPERATION_INIT; mbedtls_opaque_test_driver_cipher_operation_t opaque_operation = MBEDTLS_OPAQUE_TEST_DRIVER_CIPHER_OPERATION_INIT; operation.ctx.mbedtls_ctx = mbedtls_operation; - operation.ctx.transparent_test_driver_ctx = tranparent_operation; + operation.ctx.transparent_test_driver_ctx = transparent_operation; operation.ctx.opaque_test_driver_ctx = opaque_operation; PSA_ASSERT( psa_crypto_init( ) ); @@ -792,14 +880,14 @@ void cipher_decrypt_multipart( int alg_arg, mbedtls_psa_cipher_operation_t mbedtls_operation = MBEDTLS_PSA_CIPHER_OPERATION_INIT; - mbedtls_transparent_test_driver_cipher_operation_t tranparent_operation = + mbedtls_transparent_test_driver_cipher_operation_t transparent_operation = MBEDTLS_TRANSPARENT_TEST_DRIVER_CIPHER_OPERATION_INIT; mbedtls_opaque_test_driver_cipher_operation_t opaque_operation = MBEDTLS_OPAQUE_TEST_DRIVER_CIPHER_OPERATION_INIT; operation.ctx.mbedtls_ctx = mbedtls_operation; - operation.ctx.transparent_test_driver_ctx = tranparent_operation; + operation.ctx.transparent_test_driver_ctx = transparent_operation; operation.ctx.opaque_test_driver_ctx = opaque_operation; PSA_ASSERT( psa_crypto_init( ) ); diff --git a/tests/suites/test_suite_psa_crypto_generate_key.function b/tests/suites/test_suite_psa_crypto_generate_key.function index dbe9a0ecf9..6dc604350f 100644 --- a/tests/suites/test_suite_psa_crypto_generate_key.function +++ b/tests/suites/test_suite_psa_crypto_generate_key.function @@ -18,7 +18,7 @@ void generate_key( int key_type_arg, int bits_arg, int expected_status_arg) psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; mbedtls_svc_key_id_t key_id = INVALID_KEY_ID; - // key lifetiem, usage flags, algorithm are irrelevant for this test + // key lifetime, usage flags, algorithm are irrelevant for this test psa_key_type_t key_type = key_type_arg; size_t bits = bits_arg; psa_status_t expected_status = expected_status_arg; diff --git a/tests/suites/test_suite_psa_crypto_op_fail.generated.data b/tests/suites/test_suite_psa_crypto_op_fail.generated.data index fa9139a0e6..fb0aad2992 100644 --- a/tests/suites/test_suite_psa_crypto_op_fail.generated.data +++ b/tests/suites/test_suite_psa_crypto_op_fail.generated.data @@ -28363,6 +28363,14 @@ PSA key_agreement STREAM_CIPHER: invalid with CHACHA20 depends_on:PSA_WANT_ALG_STREAM_CIPHER:PSA_WANT_KEY_TYPE_CHACHA20 key_agreement_fail:PSA_KEY_TYPE_CHACHA20:"48657265006973206b6579a06461746148657265006973206b6579a064617461":PSA_ALG_STREAM_CIPHER:0:PSA_ERROR_INVALID_ARGUMENT +PSA hash TLS12_ECJPAKE_TO_PMS: invalid +depends_on:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS +hash_fail:PSA_ALG_TLS12_ECJPAKE_TO_PMS:PSA_ERROR_INVALID_ARGUMENT + +PSA key_derivation TLS12_ECJPAKE_TO_PMS: !TLS12_ECJPAKE_TO_PMS +depends_on:!PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS +key_derivation_fail:PSA_ALG_TLS12_ECJPAKE_TO_PMS:PSA_ERROR_NOT_SUPPORTED + PSA hash TLS12_PRF(MD5): invalid depends_on:PSA_WANT_ALG_MD5:PSA_WANT_ALG_TLS12_PRF hash_fail:PSA_ALG_TLS12_PRF(PSA_ALG_MD5):PSA_ERROR_INVALID_ARGUMENT diff --git a/tests/suites/test_suite_psa_crypto_pake.data b/tests/suites/test_suite_psa_crypto_pake.data new file mode 100644 index 0000000000..f447ef05bf --- /dev/null +++ b/tests/suites/test_suite_psa_crypto_pake.data @@ -0,0 +1,203 @@ +PSA PAKE: uninitialized access to psa_pake_operation_t +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_UNINITIALIZED_ACCESS:PSA_ERROR_BAD_STATE + +PSA PAKE: invalid alg +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_SHA_256:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SETUP:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: invalid primitive type +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_DH, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SETUP:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: invalid primitive family +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_K1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SETUP:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: invalid primitive bits +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 128):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SETUP:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: invalid hash +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_1:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SETUP:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: duplicate a valid setup +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_DUPLICATE_SETUP:PSA_ERROR_BAD_STATE + +PSA PAKE: ecjpake setup invalid role NONE +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_NONE:0:ERR_IN_SET_ROLE:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: wrong password key type +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_HMAC:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SET_PASSWORD_KEY:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: wrong password key usage +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_ENCRYPT:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_IN_SET_PASSWORD_KEY:PSA_ERROR_NOT_PERMITTED + +PSA PAKE: set invalid user +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_INVALID_USER:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: set invalid peer +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_INVALID_PEER:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: set user +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_SET_USER:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: set peer +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_SET_PEER:PSA_ERROR_NOT_SUPPORTED + +PSA PAKE: invalid input +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:1:ERR_INJECT_EMPTY_IO_BUFFER:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: unkown input step +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:1:ERR_INJECT_UNKNOWN_STEP:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: invalid first input step +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:1:ERR_INJECT_INVALID_FIRST_STEP:PSA_ERROR_BAD_STATE + +PSA PAKE: input buffer too large +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:1:ERR_INJECT_WRONG_BUFFER_SIZE:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: valid input operation after a failure +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:1:ERR_INJECT_VALID_OPERATION_AFTER_FAILURE:PSA_ERROR_BAD_STATE + +PSA PAKE: invalid output +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_EMPTY_IO_BUFFER:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: unkown output step +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_UNKNOWN_STEP:PSA_ERROR_INVALID_ARGUMENT + +PSA PAKE: invalid first output step +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_INVALID_FIRST_STEP:PSA_ERROR_BAD_STATE + +PSA PAKE: output buffer too small +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_WRONG_BUFFER_SIZE:PSA_ERROR_BUFFER_TOO_SMALL + +PSA PAKE: valid output operation after a failure +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_setup:PSA_ALG_JPAKE:PSA_KEY_TYPE_PASSWORD:PSA_KEY_USAGE_DERIVE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_PAKE_ROLE_SERVER:0:ERR_INJECT_VALID_OPERATION_AFTER_FAILURE:PSA_ERROR_BAD_STATE + +PSA PAKE: check rounds w/o forced errors +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PSK_TO_MS +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256):"abcdef":0:0:ERR_NONE + +PSA PAKE: check rounds w/o forced errors, TLS12_PRF +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PRF +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PRF(PSA_ALG_SHA_256):"abcdef":0:0:ERR_NONE + +PSA PAKE: check rounds, key is destroyed after being passed to set_password_key +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PSK_TO_MS +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256):"abcdef":0:1:ERR_NONE + +PSA PAKE: check rounds w/o forced errors, client input first +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PSK_TO_MS +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256):"abcdef":1:0:ERR_NONE + +PSA PAKE: force early key derivation 1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PSK_TO_MS +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256):"abcdef":0:0:ERR_INJECT_ANTICIPATE_KEY_DERIVATION_1 + +PSA PAKE: force early key derivation 2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256:PSA_WANT_ALG_TLS12_PSK_TO_MS +ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:PSA_ALG_TLS12_PSK_TO_MS(PSA_ALG_SHA_256):"abcdef":0:0:ERR_INJECT_ANTICIPATE_KEY_DERIVATION_2 + +PSA PAKE: no injected errors +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_NONE:PSA_SUCCESS + +PSA PAKE: no injected errors, client input first +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:1:"abcdef":ERR_NONE:PSA_SUCCESS + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2 +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_KEY_SHARE +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_KEY_SHARE:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_ZK_PROOF +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PROOF:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_KEY_SHARE +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_KEY_SHARE:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC:PSA_ERROR_DATA_INVALID + +PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_ZK_PROOF +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256 +ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PROOF:PSA_ERROR_DATA_INVALID + +PSA PAKE: ecjpake size macros +depends_on:PSA_WANT_KEY_TYPE_ECC_KEY_PAIR:PSA_WANT_ECC_SECP_R1_256 +ecjpake_size_macros: diff --git a/tests/suites/test_suite_psa_crypto_pake.function b/tests/suites/test_suite_psa_crypto_pake.function new file mode 100644 index 0000000000..4f000c13ab --- /dev/null +++ b/tests/suites/test_suite_psa_crypto_pake.function @@ -0,0 +1,917 @@ +/* BEGIN_HEADER */ +#include + +#include "psa/crypto.h" + +typedef enum +{ + ERR_NONE = 0, + /* errors forced internally in the code */ + ERR_INJECT_UNINITIALIZED_ACCESS, + ERR_INJECT_DUPLICATE_SETUP, + ERR_INJECT_INVALID_USER, + ERR_INJECT_INVALID_PEER, + ERR_INJECT_SET_USER, + ERR_INJECT_SET_PEER, + ERR_INJECT_EMPTY_IO_BUFFER, + ERR_INJECT_UNKNOWN_STEP, + ERR_INJECT_INVALID_FIRST_STEP, + ERR_INJECT_WRONG_BUFFER_SIZE, + ERR_INJECT_VALID_OPERATION_AFTER_FAILURE, + ERR_INJECT_ANTICIPATE_KEY_DERIVATION_1, + ERR_INJECT_ANTICIPATE_KEY_DERIVATION_2, + ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1, + ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1, + ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1, + ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2, + ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2, + ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2, + ERR_INJECT_ROUND2_CLIENT_KEY_SHARE, + ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC, + ERR_INJECT_ROUND2_CLIENT_ZK_PROOF, + ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1, + ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1, + ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1, + ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2, + ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2, + ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2, + ERR_INJECT_ROUND2_SERVER_KEY_SHARE, + ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC, + ERR_INJECT_ROUND2_SERVER_ZK_PROOF, + /* erros issued from the .data file */ + ERR_IN_SETUP, + ERR_IN_SET_ROLE, + ERR_IN_SET_PASSWORD_KEY, + ERR_IN_INPUT, + ERR_IN_OUTPUT, +} ecjpake_error_stage_t; + +typedef enum +{ + PAKE_ROUND_ONE, + PAKE_ROUND_TWO +} pake_round_t; + +/* + * Inject an error on the specified buffer ONLY it this is the correct stage. + * Offset 7 is arbitrary, but chosen because it's "in the middle" of the part + * we're corrupting. + */ +#define DO_ROUND_CONDITIONAL_INJECT( this_stage, buf ) \ + if ( this_stage == err_stage ) \ + { \ + *( buf + 7) ^= 1; \ + } + +#define DO_ROUND_UPDATE_OFFSETS( main_buf_offset, step_offset, step_size ) \ + { \ + step_offset = main_buf_offset; \ + main_buf_offset += step_size; \ + } + +#define DO_ROUND_CHECK_FAILURE( ) \ + if( err_stage != ERR_NONE && status != PSA_SUCCESS ) \ + { \ + TEST_EQUAL( status, expected_error_arg ); \ + break; \ + } \ + else \ + { \ + TEST_EQUAL( status, PSA_SUCCESS ); \ + } + +#if defined(PSA_WANT_ALG_JPAKE) +static void ecjpake_do_round( psa_algorithm_t alg, unsigned int primitive, + psa_pake_operation_t *server, + psa_pake_operation_t *client, + int client_input_first, + pake_round_t round, + ecjpake_error_stage_t err_stage, + int expected_error_arg ) +{ + unsigned char *buffer0 = NULL, *buffer1 = NULL; + size_t buffer_length = ( + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_KEY_SHARE) + + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PUBLIC) + + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PROOF)) * 2; + /* The output should be exactly this size according to the spec */ + const size_t expected_size_key_share = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_KEY_SHARE); + /* The output should be exactly this size according to the spec */ + const size_t expected_size_zk_public = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PUBLIC); + /* The output can be smaller: the spec allows stripping leading zeroes */ + const size_t max_expected_size_zk_proof = + PSA_PAKE_OUTPUT_SIZE(alg, primitive, PSA_PAKE_STEP_ZK_PROOF); + size_t buffer0_off = 0; + size_t buffer1_off = 0; + size_t s_g1_len, s_g2_len, s_a_len; + size_t s_g1_off, s_g2_off, s_a_off; + size_t s_x1_pk_len, s_x2_pk_len, s_x2s_pk_len; + size_t s_x1_pk_off, s_x2_pk_off, s_x2s_pk_off; + size_t s_x1_pr_len, s_x2_pr_len, s_x2s_pr_len; + size_t s_x1_pr_off, s_x2_pr_off, s_x2s_pr_off; + size_t c_g1_len, c_g2_len, c_a_len; + size_t c_g1_off, c_g2_off, c_a_off; + size_t c_x1_pk_len, c_x2_pk_len, c_x2s_pk_len; + size_t c_x1_pk_off, c_x2_pk_off, c_x2s_pk_off; + size_t c_x1_pr_len, c_x2_pr_len, c_x2s_pr_len; + size_t c_x1_pr_off, c_x2_pr_off, c_x2s_pr_off; + psa_status_t status; + + ASSERT_ALLOC( buffer0, buffer_length ); + ASSERT_ALLOC( buffer1, buffer_length ); + + switch( round ) + { + case PAKE_ROUND_ONE: + /* Server first round Output */ + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_g1_len ) ); + TEST_EQUAL( s_g1_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_g1_off, s_g1_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x1_pk_len ) ); + TEST_EQUAL( s_x1_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x1_pk_off, s_x1_pk_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x1_pr_len ) ); + TEST_LE_U( s_x1_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x1_pr_off, s_x1_pr_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_g2_len ) ); + TEST_EQUAL( s_g2_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_g2_off, s_g2_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2_pk_len ) ); + TEST_EQUAL( s_x2_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x2_pk_off, s_x2_pk_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2_pr_len ) ); + TEST_LE_U( s_x2_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x2_pr_off, s_x2_pr_len ); + + /* + * When injecting errors in inputs, the implementation is + * free to detect it right away of with a delay. + * This permits delaying the error until the end of the input + * sequence, if no error appears then, this will be treated + * as an error. + */ + if( client_input_first == 1 ) + { + /* Client first round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g1_off, s_g1_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x1_pk_off, + s_x1_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x1_pr_off, + s_x1_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g2_off, + s_g2_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2_pk_off, + s_x2_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2_pr_off, + s_x2_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1 ) && + ( err_stage <= ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2 ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + } + + /* Client first round Output */ + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_g1_len ) ); + TEST_EQUAL( c_g1_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_g1_off, c_g1_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x1_pk_len ) ); + TEST_EQUAL( c_x1_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x1_pk_off, c_x1_pk_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x1_pr_len ) ); + TEST_LE_U( c_x1_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x1_pr_off, c_x1_pr_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_g2_len ) ); + TEST_EQUAL( c_g2_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_g2_off, c_g2_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2_pk_len ) ); + TEST_EQUAL( c_x2_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x2_pk_off, c_x2_pk_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2_pr_len ) ); + TEST_LE_U( c_x2_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x2_pr_off, buffer1_off ); + + if( client_input_first == 0 ) + { + /* Client first round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g1_off, s_g1_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x1_pk_off, + s_x1_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x1_pr_off, + s_x1_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_g2_off, + s_g2_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2_pk_off, + s_x2_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2_pr_off, + s_x2_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1 ) && + ( err_stage <= ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2 ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + } + + /* Server first round Input */ + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_g1_off, c_g1_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x1_pk_off, c_x1_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x1_pr_off, c_x1_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_g2_off, c_g2_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x2_pk_off, c_x2_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x2_pr_off, c_x2_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1 ) && + ( err_stage <= ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2 ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + break; + + case PAKE_ROUND_TWO: + /* Server second round Output */ + buffer0_off = 0; + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_a_len ) ); + TEST_EQUAL( s_a_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_SERVER_KEY_SHARE, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_a_off, s_a_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2s_pk_len ) ); + TEST_EQUAL( s_x2s_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x2s_pk_off, s_x2s_pk_len ); + + PSA_ASSERT( psa_pake_output( server, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + buffer0_off, + 512 - buffer0_off, &s_x2s_pr_len ) ); + TEST_LE_U( s_x2s_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_SERVER_ZK_PROOF, + buffer0 + buffer0_off ); + DO_ROUND_UPDATE_OFFSETS( buffer0_off, s_x2s_pr_off, s_x2s_pr_len ); + + if( client_input_first == 1 ) + { + /* Client second round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_a_off, s_a_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2s_pk_off, + s_x2s_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2s_pr_off, + s_x2s_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND2_SERVER_KEY_SHARE ) && + ( err_stage <= ERR_INJECT_ROUND2_SERVER_ZK_PROOF ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + } + + /* Client second round Output */ + buffer1_off = 0; + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_a_len ) ); + TEST_EQUAL( c_a_len, expected_size_key_share ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_CLIENT_KEY_SHARE, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_a_off, c_a_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2s_pk_len ) ); + TEST_EQUAL( c_x2s_pk_len, expected_size_zk_public ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x2s_pk_off, c_x2s_pk_len ); + + PSA_ASSERT( psa_pake_output( client, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + buffer1_off, + 512 - buffer1_off, &c_x2s_pr_len ) ); + TEST_LE_U( c_x2s_pr_len, max_expected_size_zk_proof ); + DO_ROUND_CONDITIONAL_INJECT( + ERR_INJECT_ROUND2_CLIENT_ZK_PROOF, + buffer1 + buffer1_off ); + DO_ROUND_UPDATE_OFFSETS( buffer1_off, c_x2s_pr_off, c_x2s_pr_len ); + + if( client_input_first == 0 ) + { + /* Client second round Input */ + status = psa_pake_input( client, PSA_PAKE_STEP_KEY_SHARE, + buffer0 + s_a_off, s_a_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PUBLIC, + buffer0 + s_x2s_pk_off, + s_x2s_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( client, PSA_PAKE_STEP_ZK_PROOF, + buffer0 + s_x2s_pr_off, + s_x2s_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND2_SERVER_KEY_SHARE ) && + ( err_stage <= ERR_INJECT_ROUND2_SERVER_ZK_PROOF ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + } + + /* Server second round Input */ + status = psa_pake_input( server, PSA_PAKE_STEP_KEY_SHARE, + buffer1 + c_a_off, c_a_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PUBLIC, + buffer1 + c_x2s_pk_off, c_x2s_pk_len ); + DO_ROUND_CHECK_FAILURE( ); + + status = psa_pake_input( server, PSA_PAKE_STEP_ZK_PROOF, + buffer1 + c_x2s_pr_off, c_x2s_pr_len ); + DO_ROUND_CHECK_FAILURE( ); + + /* Error didn't trigger, make test fail */ + if( ( err_stage >= ERR_INJECT_ROUND2_CLIENT_KEY_SHARE ) && + ( err_stage <= ERR_INJECT_ROUND2_CLIENT_ZK_PROOF ) ) + { + TEST_ASSERT( ! "One of the last psa_pake_input() calls should have returned the expected error." ); + } + + break; + + } + +exit: + mbedtls_free( buffer0 ); + mbedtls_free( buffer1 ); +} +#endif /* PSA_WANT_ALG_JPAKE */ + +/* + * This check is used for functions that might either succeed or fail depending + * on the parameters that are passed in from the *.data file: + * - in case of success following functions depend on the current one + * - in case of failure the test is always terminated. There are two options + * here + * - terminated successfully if this exact error was expected at this stage + * - terminated with failure otherwise (either no error was expected at this + * stage or a different error code was expected) + */ +#define SETUP_ALWAYS_CHECK_STEP( test_function, this_check_err_stage ) \ + status = test_function; \ + if( err_stage != this_check_err_stage ) \ + { \ + PSA_ASSERT( status ); \ + } \ + else \ + { \ + TEST_EQUAL( status, expected_error ); \ + goto exit; \ + } + +/* + * This check is used for failures that are injected at code level. There's only + * 1 input parameter that is relevant in this case and it's the stage at which + * the error should be injected. + * The check is conditional in this case because, once the error is triggered, + * the pake's context structure is compromised and the setup function cannot + * proceed further. As a consequence the test is terminated. + * The test succeeds if the returned error is exactly the expected one, + * otherwise it fails. + */ +#define SETUP_CONDITIONAL_CHECK_STEP( test_function, this_check_err_stage ) \ + if( err_stage == this_check_err_stage ) \ + { \ + TEST_EQUAL( test_function, expected_error ); \ + goto exit; \ + } +/* END_HEADER */ + +/* BEGIN_DEPENDENCIES + * depends_on:MBEDTLS_PSA_CRYPTO_C + * END_DEPENDENCIES + */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_setup( int alg_arg, int key_type_pw_arg, int key_usage_pw_arg, + int primitive_arg, int hash_arg, int role_arg, + int test_input, + int err_stage_arg, + int expected_error_arg) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t operation = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_pake_primitive_t primitive = primitive_arg; + psa_key_type_t key_type_pw = key_type_pw_arg; + psa_key_usage_t key_usage_pw = key_usage_pw_arg; + psa_algorithm_t hash_alg = hash_arg; + psa_pake_role_t role = role_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + ecjpake_error_stage_t err_stage = err_stage_arg; + psa_status_t expected_error = expected_error_arg; + psa_status_t status; + unsigned char *output_buffer = NULL; + size_t output_len = 0; + const uint8_t unsupp_id[] = "abcd"; + const uint8_t password[] = "abcd"; + psa_key_derivation_operation_t key_derivation = + PSA_KEY_DERIVATION_OPERATION_INIT; + + PSA_INIT( ); + + size_t buf_size = PSA_PAKE_OUTPUT_SIZE( alg, primitive_arg, + PSA_PAKE_STEP_KEY_SHARE ); + ASSERT_ALLOC( output_buffer, buf_size ); + + psa_set_key_usage_flags( &attributes, key_usage_pw ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, key_type_pw ); + PSA_ASSERT( psa_import_key( &attributes, password, sizeof( password ), + &key ) ); + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + PSA_ASSERT( psa_pake_abort( &operation ) ); + + if ( err_stage == ERR_INJECT_UNINITIALIZED_ACCESS ) + { + TEST_EQUAL( psa_pake_set_user( &operation, NULL, 0 ), + expected_error ); + TEST_EQUAL( psa_pake_set_peer( &operation, NULL, 0 ), + expected_error ); + TEST_EQUAL( psa_pake_set_password_key( &operation, key ), + expected_error ); + TEST_EQUAL( psa_pake_set_role( &operation, role ), + expected_error ); + TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_KEY_SHARE, + NULL, 0, NULL ), + expected_error ); + TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_KEY_SHARE, + NULL, 0 ), + expected_error ); + TEST_EQUAL( psa_pake_get_implicit_key( &operation, &key_derivation ), + expected_error ); + goto exit; + } + + SETUP_ALWAYS_CHECK_STEP( psa_pake_setup( &operation, &cipher_suite ), + ERR_IN_SETUP ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_setup( &operation, &cipher_suite ), + ERR_INJECT_DUPLICATE_SETUP); + + SETUP_ALWAYS_CHECK_STEP( psa_pake_set_role( &operation, role), + ERR_IN_SET_ROLE ); + + SETUP_ALWAYS_CHECK_STEP( psa_pake_set_password_key( &operation, key ), + ERR_IN_SET_PASSWORD_KEY ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_set_user( &operation, NULL, 0 ), + ERR_INJECT_INVALID_USER ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_set_peer( &operation, NULL, 0 ), + ERR_INJECT_INVALID_PEER ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_set_user( &operation, unsupp_id, 4 ), + ERR_INJECT_SET_USER ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_set_peer( &operation, unsupp_id, 4 ), + ERR_INJECT_SET_PEER ); + + const size_t size_key_share = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_KEY_SHARE ); + const size_t size_zk_public = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_ZK_PUBLIC ); + const size_t size_zk_proof = PSA_PAKE_INPUT_SIZE( alg, primitive, + PSA_PAKE_STEP_ZK_PROOF ); + + if ( test_input ) + { + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_input( &operation, + PSA_PAKE_STEP_ZK_PROOF, NULL, 0 ), + ERR_INJECT_EMPTY_IO_BUFFER ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_input( &operation, + PSA_PAKE_STEP_ZK_PROOF + 10, + output_buffer, size_zk_proof ), + ERR_INJECT_UNKNOWN_STEP ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_input( &operation, + PSA_PAKE_STEP_ZK_PROOF, + output_buffer, size_zk_proof ), + ERR_INJECT_INVALID_FIRST_STEP ) + + SETUP_ALWAYS_CHECK_STEP( psa_pake_input( &operation, + PSA_PAKE_STEP_KEY_SHARE, + output_buffer, size_key_share ), + ERR_IN_INPUT ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_input( &operation, + PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public + 1 ), + ERR_INJECT_WRONG_BUFFER_SIZE ); + + SETUP_CONDITIONAL_CHECK_STEP( + ( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public + 1 ), + psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public ) ), + ERR_INJECT_VALID_OPERATION_AFTER_FAILURE ); + } else { + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_output( &operation, + PSA_PAKE_STEP_ZK_PROOF, + NULL, 0, NULL ), + ERR_INJECT_EMPTY_IO_BUFFER ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_output( &operation, + PSA_PAKE_STEP_ZK_PROOF + 10, + output_buffer, buf_size, &output_len ), + ERR_INJECT_UNKNOWN_STEP ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_output( &operation, + PSA_PAKE_STEP_ZK_PROOF, + output_buffer, buf_size, &output_len ), + ERR_INJECT_INVALID_FIRST_STEP ); + + SETUP_ALWAYS_CHECK_STEP( psa_pake_output( &operation, + PSA_PAKE_STEP_KEY_SHARE, + output_buffer, buf_size, &output_len ), + ERR_IN_OUTPUT ); + + TEST_ASSERT( output_len > 0 ); + + SETUP_CONDITIONAL_CHECK_STEP( psa_pake_output( &operation, + PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public - 1, + &output_len ), + ERR_INJECT_WRONG_BUFFER_SIZE ); + + SETUP_CONDITIONAL_CHECK_STEP( + ( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, size_zk_public - 1, &output_len ), + psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PUBLIC, + output_buffer, buf_size, &output_len ) ), + ERR_INJECT_VALID_OPERATION_AFTER_FAILURE ); + } + +exit: + PSA_ASSERT( psa_destroy_key( key ) ); + PSA_ASSERT( psa_pake_abort( &operation ) ); + mbedtls_free( output_buffer ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_rounds_inject( int alg_arg, int primitive_arg, int hash_arg, + int client_input_first, + data_t *pw_data, + int err_stage_arg, + int expected_error_arg ) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t server = psa_pake_operation_init(); + psa_pake_operation_t client = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_algorithm_t hash_alg = hash_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + ecjpake_error_stage_t err_stage = err_stage_arg; + + PSA_INIT( ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_PASSWORD ); + PSA_ASSERT( psa_import_key( &attributes, pw_data->x, pw_data->len, + &key ) ); + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive_arg ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + PSA_ASSERT( psa_pake_setup( &server, &cipher_suite ) ); + PSA_ASSERT( psa_pake_setup( &client, &cipher_suite ) ); + + PSA_ASSERT( psa_pake_set_role( &server, PSA_PAKE_ROLE_SERVER ) ); + PSA_ASSERT( psa_pake_set_role( &client, PSA_PAKE_ROLE_CLIENT ) ); + + PSA_ASSERT( psa_pake_set_password_key( &server, key ) ); + PSA_ASSERT( psa_pake_set_password_key( &client, key ) ); + + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, PAKE_ROUND_ONE, + err_stage, expected_error_arg ); + + if( err_stage != ERR_NONE ) + goto exit; + + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, PAKE_ROUND_TWO, + err_stage, expected_error_arg ); + +exit: + psa_destroy_key( key ); + psa_pake_abort( &server ); + psa_pake_abort( &client ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE depends_on:PSA_WANT_ALG_JPAKE */ +void ecjpake_rounds( int alg_arg, int primitive_arg, int hash_arg, + int derive_alg_arg, data_t *pw_data, + int client_input_first, int destroy_key, + int err_stage_arg ) +{ + psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init(); + psa_pake_operation_t server = psa_pake_operation_init(); + psa_pake_operation_t client = psa_pake_operation_init(); + psa_algorithm_t alg = alg_arg; + psa_algorithm_t hash_alg = hash_arg; + psa_algorithm_t derive_alg = derive_alg_arg; + mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; + psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; + psa_key_derivation_operation_t server_derive = + PSA_KEY_DERIVATION_OPERATION_INIT; + psa_key_derivation_operation_t client_derive = + PSA_KEY_DERIVATION_OPERATION_INIT; + ecjpake_error_stage_t err_stage = err_stage_arg; + + PSA_INIT( ); + + psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE ); + psa_set_key_algorithm( &attributes, alg ); + psa_set_key_type( &attributes, PSA_KEY_TYPE_PASSWORD ); + PSA_ASSERT( psa_import_key( &attributes, pw_data->x, pw_data->len, + &key ) ); + + psa_pake_cs_set_algorithm( &cipher_suite, alg ); + psa_pake_cs_set_primitive( &cipher_suite, primitive_arg ); + psa_pake_cs_set_hash( &cipher_suite, hash_alg ); + + /* Get shared key */ + PSA_ASSERT( psa_key_derivation_setup( &server_derive, derive_alg ) ); + PSA_ASSERT( psa_key_derivation_setup( &client_derive, derive_alg ) ); + + if( PSA_ALG_IS_TLS12_PRF( derive_alg ) || + PSA_ALG_IS_TLS12_PSK_TO_MS( derive_alg ) ) + { + PSA_ASSERT( psa_key_derivation_input_bytes( &server_derive, + PSA_KEY_DERIVATION_INPUT_SEED, + (const uint8_t*) "", 0) ); + PSA_ASSERT( psa_key_derivation_input_bytes( &client_derive, + PSA_KEY_DERIVATION_INPUT_SEED, + (const uint8_t*) "", 0) ); + } + + PSA_ASSERT( psa_pake_setup( &server, &cipher_suite ) ); + PSA_ASSERT( psa_pake_setup( &client, &cipher_suite ) ); + + PSA_ASSERT( psa_pake_set_role( &server, PSA_PAKE_ROLE_SERVER ) ); + PSA_ASSERT( psa_pake_set_role( &client, PSA_PAKE_ROLE_CLIENT ) ); + + PSA_ASSERT( psa_pake_set_password_key( &server, key ) ); + PSA_ASSERT( psa_pake_set_password_key( &client, key ) ); + + if( destroy_key == 1 ) + psa_destroy_key( key ); + + if( err_stage == ERR_INJECT_ANTICIPATE_KEY_DERIVATION_1 ) + { + TEST_EQUAL( psa_pake_get_implicit_key( &server, &server_derive ), + PSA_ERROR_BAD_STATE ); + TEST_EQUAL( psa_pake_get_implicit_key( &client, &client_derive ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + /* First round */ + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, PAKE_ROUND_ONE, + ERR_NONE, PSA_SUCCESS ); + + if ( err_stage == ERR_INJECT_ANTICIPATE_KEY_DERIVATION_2 ) + { + TEST_EQUAL( psa_pake_get_implicit_key( &server, &server_derive ), + PSA_ERROR_BAD_STATE ); + TEST_EQUAL( psa_pake_get_implicit_key( &client, &client_derive ), + PSA_ERROR_BAD_STATE ); + goto exit; + } + + /* Second round */ + ecjpake_do_round( alg, primitive_arg, &server, &client, + client_input_first, PAKE_ROUND_TWO, + ERR_NONE, PSA_SUCCESS ); + + PSA_ASSERT( psa_pake_get_implicit_key( &server, &server_derive ) ); + PSA_ASSERT( psa_pake_get_implicit_key( &client, &client_derive ) ); + +exit: + psa_key_derivation_abort( &server_derive ); + psa_key_derivation_abort( &client_derive ); + psa_destroy_key( key ); + psa_pake_abort( &server ); + psa_pake_abort( &client ); + PSA_DONE( ); +} +/* END_CASE */ + +/* BEGIN_CASE */ +void ecjpake_size_macros( ) +{ + const psa_algorithm_t alg = PSA_ALG_JPAKE; + const size_t bits = 256; + const psa_pake_primitive_t prim = PSA_PAKE_PRIMITIVE( + PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, bits ); + const psa_key_type_t key_type = PSA_KEY_TYPE_ECC_KEY_PAIR( + PSA_ECC_FAMILY_SECP_R1 ); + + // https://armmbed.github.io/mbed-crypto/1.1_PAKE_Extension.0-bet.0/html/pake.html#pake-step-types + /* The output for KEY_SHARE and ZK_PUBLIC is the same as a public key */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE( key_type, bits ) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_EXPORT_PUBLIC_KEY_OUTPUT_SIZE( key_type, bits ) ); + /* The output for ZK_PROOF is the same bitsize as the curve */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_BITS_TO_BYTES( bits ) ); + + /* Input sizes are the same as output sizes */ + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC) ); + TEST_EQUAL( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF) ); + + /* These inequalities will always hold even when other PAKEs are added */ + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_OUTPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_OUTPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_KEY_SHARE), + PSA_PAKE_INPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PUBLIC), + PSA_PAKE_INPUT_MAX_SIZE ); + TEST_LE_U( PSA_PAKE_INPUT_SIZE(alg, prim, PSA_PAKE_STEP_ZK_PROOF), + PSA_PAKE_INPUT_MAX_SIZE ); +} +/* END_CASE */ diff --git a/tests/suites/test_suite_psa_crypto_persistent_key.function b/tests/suites/test_suite_psa_crypto_persistent_key.function index 08db34aa4f..bb8792313d 100644 --- a/tests/suites/test_suite_psa_crypto_persistent_key.function +++ b/tests/suites/test_suite_psa_crypto_persistent_key.function @@ -2,7 +2,7 @@ /* The tests in this module verify the contents of key store files. They * access internal key storage functions directly. Some of the tests depend - * on the the storage format. On the other hand, these tests treat the storage + * on the storage format. On the other hand, these tests treat the storage * subsystem as a black box, and in particular have no reliance on the * internals of the ITS implementation. * diff --git a/tests/suites/test_suite_psa_crypto_storage_format.current.data b/tests/suites/test_suite_psa_crypto_storage_format.current.data index 9e1e6deb2d..d0d54c5a7a 100644 --- a/tests/suites/test_suite_psa_crypto_storage_format.current.data +++ b/tests/suites/test_suite_psa_crypto_storage_format.current.data @@ -7792,6 +7792,14 @@ save alg2: STREAM_CIPHER depends_on:PSA_WANT_ALG_STREAM_CIPHER:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_save:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:0x0000:PSA_ALG_STREAM_CIPHER:"4c":"505341004b455900000000000100000001100800010000000000000000018004010000004c" +save alg: TLS12_ECJPAKE_TO_PMS +depends_on:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS:PSA_WANT_KEY_TYPE_RAW_DATA +key_storage_save:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:PSA_ALG_TLS12_ECJPAKE_TO_PMS:0x0000:"4b":"505341004b455900000000000100000001100800010000000906000800000000010000004b" + +save alg2: TLS12_ECJPAKE_TO_PMS +depends_on:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS:PSA_WANT_KEY_TYPE_RAW_DATA +key_storage_save:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:0x0000:PSA_ALG_TLS12_ECJPAKE_TO_PMS:"4c":"505341004b455900000000000100000001100800010000000000000009060008010000004c" + save alg: TLS12_PRF(MD5) depends_on:PSA_WANT_ALG_MD5:PSA_WANT_ALG_TLS12_PRF:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_save:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:PSA_ALG_TLS12_PRF(PSA_ALG_MD5):0x0000:"4b":"505341004b455900000000000100000001100800010000000302000800000000010000004b" diff --git a/tests/suites/test_suite_psa_crypto_storage_format.function b/tests/suites/test_suite_psa_crypto_storage_format.function index c52dae1882..1fd267a6c2 100644 --- a/tests/suites/test_suite_psa_crypto_storage_format.function +++ b/tests/suites/test_suite_psa_crypto_storage_format.function @@ -84,17 +84,21 @@ static int is_accelerated_rsa( psa_algorithm_t alg ) * also be built-in. */ static int is_builtin_calling_md( psa_algorithm_t alg ) { -#if defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PKCS1V15_SIGN) - if( PSA_ALG_IS_RSA_PKCS1V15_SIGN( alg ) ) - return( 1 ); -#endif #if defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_PSS) if( PSA_ALG_IS_RSA_PSS( alg ) ) +#if defined(MBEDTLS_MD_C) return( 1 ); +#else + return( 0 ); +#endif #endif #if defined(MBEDTLS_PSA_BUILTIN_ALG_RSA_OAEP) if( PSA_ALG_IS_RSA_OAEP( alg ) ) +#if defined(MBEDTLS_MD_C) return( 1 ); +#else + return( 0 ); +#endif #endif #if defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) if( PSA_ALG_IS_DETERMINISTIC_ECDSA( alg ) ) diff --git a/tests/suites/test_suite_psa_crypto_storage_format.v0.data b/tests/suites/test_suite_psa_crypto_storage_format.v0.data index 3e0bb4b3cb..e097f40e63 100644 --- a/tests/suites/test_suite_psa_crypto_storage_format.v0.data +++ b/tests/suites/test_suite_psa_crypto_storage_format.v0.data @@ -7880,6 +7880,14 @@ read alg2: STREAM_CIPHER depends_on:PSA_WANT_ALG_STREAM_CIPHER:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:0x0000:PSA_ALG_STREAM_CIPHER:"4c":"505341004b455900000000000100000001100800010000000000000000018004010000004c":0 +read alg: TLS12_ECJPAKE_TO_PMS +depends_on:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS:PSA_WANT_KEY_TYPE_RAW_DATA +key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:PSA_ALG_TLS12_ECJPAKE_TO_PMS:0x0000:"4b":"505341004b455900000000000100000001100800010000000906000800000000010000004b":0 + +read alg2: TLS12_ECJPAKE_TO_PMS +depends_on:PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS:PSA_WANT_KEY_TYPE_RAW_DATA +key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:0x0000:PSA_ALG_TLS12_ECJPAKE_TO_PMS:"4c":"505341004b455900000000000100000001100800010000000000000009060008010000004c":0 + read alg: TLS12_PRF(MD5) depends_on:PSA_WANT_ALG_MD5:PSA_WANT_ALG_TLS12_PRF:PSA_WANT_KEY_TYPE_RAW_DATA key_storage_read:0x0001:PSA_KEY_TYPE_RAW_DATA:8:PSA_KEY_USAGE_EXPORT:PSA_ALG_TLS12_PRF(PSA_ALG_MD5):0x0000:"4b":"505341004b455900000000000100000001100800010000000302000800000000010000004b":0 diff --git a/tests/suites/test_suite_rsa.data b/tests/suites/test_suite_rsa.data index 49301aa85f..2be93996dd 100644 --- a/tests/suites/test_suite_rsa.data +++ b/tests/suites/test_suite_rsa.data @@ -8,146 +8,146 @@ RSA init-free-init-free rsa_init_free:1 RSA PKCS1 Verify v1.5 CAVS #1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 # Good padding but wrong hash -mbedtls_rsa_pkcs1_verify:"d6248c3e96b1a7e5fea978870fcc4c9786b4e5156e16b7faef4557d667f730b8bc4c784ef00c624df5309513c3a5de8ca94c2152e0459618666d3148092562ebc256ffca45b27fd2d63c68bd5e0a0aefbe496e9e63838a361b1db6fc272464f191490bf9c029643c49d2d9cd08833b8a70b4b3431f56fb1eb55ccd39e77a9c92":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"3203b7647fb7e345aa457681e5131777f1adc371f2fba8534928c4e52ef6206a856425d6269352ecbf64db2f6ad82397768cafdd8cd272e512d617ad67992226da6bc291c31404c17fd4b7e2beb20eff284a44f4d7af47fd6629e2c95809fa7f2241a04f70ac70d3271bb13258af1ed5c5988c95df7fa26603515791075feccd":MBEDTLS_ERR_RSA_VERIFY_FAILED +mbedtls_rsa_pkcs1_verify:"9f294f0c7b32da6221a3ef83654322038e8968fa":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"3203b7647fb7e345aa457681e5131777f1adc371f2fba8534928c4e52ef6206a856425d6269352ecbf64db2f6ad82397768cafdd8cd272e512d617ad67992226da6bc291c31404c17fd4b7e2beb20eff284a44f4d7af47fd6629e2c95809fa7f2241a04f70ac70d3271bb13258af1ed5c5988c95df7fa26603515791075feccd":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #2 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"206ef4bf396c6087f8229ef196fd35f37ccb8de5efcdb238f20d556668f114257a11fbe038464a67830378e62ae9791453953dac1dbd7921837ba98e84e856eb80ed9487e656d0b20c28c8ba5e35db1abbed83ed1c7720a97701f709e3547a4bfcabca9c89c57ad15c3996577a0ae36d7c7b699035242f37954646c1cd5c08ac":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"6a8a1f225703fe39753c1017b43eec9e070a70b1":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 RSA PKCS1 Verify v1.5 CAVS #3 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"206ef4bf396c6087f8229ef196fd35f37ccb8de5efcdb238f20d556668f114257a11fbe038464a67830378e62ae9791453953dac1dbd7921837ba98e84e856eb80ed9487e656d0b20c28c8ba5e35db1abbed83ed1c7720a97701f709e3547a4bfcabca9c89c57ad15c3996577a0ae36d7c7b699035242f37954646c1cd5c08ac":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"6a8a1f225703fe39753c1017b43eec9e070a70b1":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"5abc01f5de25b70867ff0c24e222c61f53c88daf42586fddcd56f3c4588f074be3c328056c063388688b6385a8167957c6e5355a510e005b8a851d69c96b36ec6036644078210e5d7d326f96365ee0648882921492bc7b753eb9c26cdbab37555f210df2ca6fec1b25b463d38b81c0dcea202022b04af5da58aa03d77be949b7":0 RSA PKCS1 Verify v1.5 CAVS #4 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"867ac26e11a13b7ac34a42a1e177648692861226effb55bb597fbde10f299bf7fffd6fc8ddb2a46a73b97b67387a461b23e1d65dc119366286979add615b926b9272832fc0c058b946fc752dcffceca12233f4c63f7897cbaa08aa7e07cf02b5e7e3e5ece252bf2fe61d163bce84c0e0368454a98e9fdebf6edbd70b290d549b":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"3bb7b1c5f3391de4549e2e96fd33afa4d647dd90e321d9d576f3808e32213e948b697ef4fd2dd12923de6ec3ffd625078a57f86af38dc07052bb50547c616ed51fa1352b3ab66788408168d21263ef2d3388d567d2ce8cf674f45491ab2b0319d47be1266bda39e343b2a38ea2d6aaaee6c4465aee1d7bb33e93a1c40a8e3ae4":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"693c1ac1a3fc23157b4a854f886b6b8d18e28b321b8382a93dcf2426":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"3bb7b1c5f3391de4549e2e96fd33afa4d647dd90e321d9d576f3808e32213e948b697ef4fd2dd12923de6ec3ffd625078a57f86af38dc07052bb50547c616ed51fa1352b3ab66788408168d21263ef2d3388d567d2ce8cf674f45491ab2b0319d47be1266bda39e343b2a38ea2d6aaaee6c4465aee1d7bb33e93a1c40a8e3ae4":0 RSA PKCS1 Verify v1.5 CAVS #5 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"cd810e97dc21095ea7a0238027a7bafd343e01444785ea9184a44a79f80438c41fc0b57aa95693407da38fe5ff0ec1398e03361e51a3dbe134b99cca2df0cef1c444ca54d2b7db2789455b6bb41918c24001fd82fc20ee089de3f34f053699c1c5f7954ce0aaabb9d26fce39d032894152229d98cf64ecafc7089530073c61d9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"7b5fba70ec5b521638f182bcab39cec30b76e7bc017bdbd1059658a9a1db0969ab482dce32f3e9865952f0a0de0978272c951e3c015328ea3758f47029a379ab4200550fba58f11d51264878406fc717d5f7b72b3582946f16a7e5314a220881fc820f7d29949710273421533d8ac0a449dc6d0fd1a21c22444edd1c0d5b44d3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"944d593f3e31817d712038dbf88a17c1772b135c34c66b236daf9a7413c2a8af":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"7b5fba70ec5b521638f182bcab39cec30b76e7bc017bdbd1059658a9a1db0969ab482dce32f3e9865952f0a0de0978272c951e3c015328ea3758f47029a379ab4200550fba58f11d51264878406fc717d5f7b72b3582946f16a7e5314a220881fc820f7d29949710273421533d8ac0a449dc6d0fd1a21c22444edd1c0d5b44d3":0 RSA PKCS1 Verify v1.5 CAVS #6 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"44637d3b8de525fd589237bc81229c8966d3af24540850c24036330db8007e6d19a19486018b2b02074da590aaba9d2c8848c0a2d1b6de4dfaf24025b6393df9228008f83f13cc76a67cfbed77a6e3429342824a0b6a9b8dd884094acc6a54bbc8c8829930c52fe39ce5e0dcd02d9553ef899d26eb6cae0940b63584e2daeb3b":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"38fc4f6f0430bb3ea9f470a4c0f5cebdabac4dbeb3b9c99d4168e7b00f5eb294ec0ece1908eded1f3e14f1e69d10f9feb425bda0c998af945ef864298a60a675f0bb5c540a7be3f534d5faddff974eea8bffe182a44e2ee1f4f653e71967a11869ee1a850edb03cb44a340378cb7a1bc9616d3649b78002b390a05a7e54edec6":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"5a3b396a237f5460a9c8d40628e4bc324d046d0bf3ad6417db59ff3904513a79297d51656ab6c70cc07f08b8eefd2f15":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"38fc4f6f0430bb3ea9f470a4c0f5cebdabac4dbeb3b9c99d4168e7b00f5eb294ec0ece1908eded1f3e14f1e69d10f9feb425bda0c998af945ef864298a60a675f0bb5c540a7be3f534d5faddff974eea8bffe182a44e2ee1f4f653e71967a11869ee1a850edb03cb44a340378cb7a1bc9616d3649b78002b390a05a7e54edec6":0 RSA PKCS1 Verify v1.5 CAVS #7 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 # Bad padding after performing the public key operation -mbedtls_rsa_pkcs1_verify:"d03f12276f6ba7545b8fce719471bd253791878809694e8754f3b389f26c9253a758ed28b4c62535a8d5702d7a778731d5759ff2b3b39b192db680e791632918b6093c0e8ca25c2bf756a07fde4144a37f769fe4054455a45cb8cefe4462e7a9a45ce71f2189b4fef01b47aee8585d44dc9d6fa627a3e5f08801871731f234cd":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"d93a878c1ce86571590b0e43794b3edb23552797c4b8c9e3da4fe1cc4ac0566acd3b10541fe9a7a79f5ea4892d3069ca6903efb5c40c47eb8a9c781eb4249281d40c3d96aae16da1bb4daaece6a26eca5f41c062b4124a64fc9d340cba5ab0d1f5affff6515a87f0933774fd4322d2fa497cd6f708a429ca56dcb1fd3db623d0":MBEDTLS_ERR_RSA_VERIFY_FAILED +mbedtls_rsa_pkcs1_verify:"900ada01bc5536ee88ee7f2b95d15e2e6353bc3de0ef9610f8e6deb736c30623b961eda17f316229c013bb4696fc7346":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"d93a878c1ce86571590b0e43794b3edb23552797c4b8c9e3da4fe1cc4ac0566acd3b10541fe9a7a79f5ea4892d3069ca6903efb5c40c47eb8a9c781eb4249281d40c3d96aae16da1bb4daaece6a26eca5f41c062b4124a64fc9d340cba5ab0d1f5affff6515a87f0933774fd4322d2fa497cd6f708a429ca56dcb1fd3db623d0":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #8 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"b2f2e6e09fd19b0a8c06447554d6a236c69e2b334017488881d8c02ab81d74cae0c64efd50a374998eeec162651975e637cb2ba594250c750a4943253f1db0613e4ce1d50f8e3e968a2a83bd6cb97455ab2ccc77071076b3e211ffb251bd4c1a738b88b2021c61c727c074ce933c054acbcbf4f0c362ec09af38de191686aebe":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"3":"a853e67f928281d11506c9d39e5ea9b2d742782c663c37d0a7c9e9fe15379cde1e75d94adbfb1ca08691f320af4ff2b0a29a4d2ea10a20cb95d85f3dabac3d56cca9039c851d0181408c00b385fc82cafa4cfa7380d0c2c024fb83fec59d5ee591d63806dcb18b21ea440c3d3f12c1e7795eb15b7ce4c4b288d646cf1d34bdf1":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"9f02745a7a8903de5d2fe44fe3728db6b1e404a5f7e96bb49df694d2f226c65c387abc5c82cdf3a10f36ad741e9bca4ed71305187fe3bd046e6920a6bd979036":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"3":"a853e67f928281d11506c9d39e5ea9b2d742782c663c37d0a7c9e9fe15379cde1e75d94adbfb1ca08691f320af4ff2b0a29a4d2ea10a20cb95d85f3dabac3d56cca9039c851d0181408c00b385fc82cafa4cfa7380d0c2c024fb83fec59d5ee591d63806dcb18b21ea440c3d3f12c1e7795eb15b7ce4c4b288d646cf1d34bdf1":0 RSA PKCS1 Verify v1.5 CAVS #9 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"647586ba587b09aa555d1b8da4cdf5c6e777e08859379ca45789019f2041e708d97c4408d4d6943b11dd7ebe05c6b48a9b5f1b0079452cc484579acfa66a34c0cf3f0e7339b2dbd5f1339ef7937a8261547705a846885c43d8ef139a9c83f5604ea52b231176a821fb48c45ed45226f31ba7e8a94a69f6c65c39b7278bf3f08f":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"e27a90b644c3a11f234132d6727ada397774cd7fdf5eb0160a665ffccedabb8ae9e357966939a71c973e75e5ff771fb01a6483fcaf82f16dee65e6826121e2ae9c69d2c92387b33a641f397676776cde501e7314a9a4e76c0f4538edeea163e8de7bd21c93c298df748c6f5c26b7d03bfa3671f2a7488fe311309e8218a71171":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"5d185e3120228ffb6f353ef5e7e1fdefd2c5f611":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"e27a90b644c3a11f234132d6727ada397774cd7fdf5eb0160a665ffccedabb8ae9e357966939a71c973e75e5ff771fb01a6483fcaf82f16dee65e6826121e2ae9c69d2c92387b33a641f397676776cde501e7314a9a4e76c0f4538edeea163e8de7bd21c93c298df748c6f5c26b7d03bfa3671f2a7488fe311309e8218a71171":0 RSA PKCS1 Verify v1.5 CAVS #10 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"55013a489e09b6553262aab59fb041b49437b86d52876f8e5d5e405b77ca0ff6ce8ea2dd75c7b3b411cf4445d56233c5b0ff0e58c49128d81b4fedd295e172d225c451e13defb34b87b7aea6d6f0d20f5c55feb71d2a789fa31f3d9ff47896adc16bec5ce0c9dda3fde190e08ca2451c01ff3091449887695f96dac97ad6a30e":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"dd82b7be791c454fbbf6f1de47cbe585a687e4e8bbae0b6e2a77f8ca4efd06d71498f9a74b931bd59c377e71daf708a624c51303f377006c676487bad57f7067b09b7bb94a6189119ab8cf7321c321b2dc7df565bfbec833a28b86625fb5fd6a035d4ed79ff0f9aee9fa78935eec65069439ee449d7f5249cdae6fdd6d8c2a63":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"f0571d8513c4ff68dc68c605dfe856f27bdfed91":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"dd82b7be791c454fbbf6f1de47cbe585a687e4e8bbae0b6e2a77f8ca4efd06d71498f9a74b931bd59c377e71daf708a624c51303f377006c676487bad57f7067b09b7bb94a6189119ab8cf7321c321b2dc7df565bfbec833a28b86625fb5fd6a035d4ed79ff0f9aee9fa78935eec65069439ee449d7f5249cdae6fdd6d8c2a63":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #11 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"f4a990b8d434a5914340c0ca3ca4e4a70856c55e13e938c1f854e91cdef54c6107d6d682a62e6c1ff12b1c6178ee0b26b5d8ae5ee4043db4151465727f313e9e174d7c6961abe9cb86a21367a89e41b47267ac5ef3a6eceaaca5b19ae756b3904b97ec35aeb404dc2a2d0da373ba709a678d2728e7d72daae68d335cbf6c957d":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"d8ef7bdc0f111b1249d5ad6515b6fe37f2ff327f493832f1385c10e975c07b0266497716fcb84f5039cd60f5a050614fde27f354a6c45e8a7d74f9821e2f301500ac1953feafeb9d98cf88d2c928413f337813135c66abfc3dc7a4d80655d925bf96f21872ca2b3a2684b976ca768fe37feae20a69eeec3cc8f1de0db34b3462":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"16d8bbe3323f26b66f1513e1ffc0ff2cd823747a3cc1534fdb1de304":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"d8ef7bdc0f111b1249d5ad6515b6fe37f2ff327f493832f1385c10e975c07b0266497716fcb84f5039cd60f5a050614fde27f354a6c45e8a7d74f9821e2f301500ac1953feafeb9d98cf88d2c928413f337813135c66abfc3dc7a4d80655d925bf96f21872ca2b3a2684b976ca768fe37feae20a69eeec3cc8f1de0db34b3462":0 RSA PKCS1 Verify v1.5 CAVS #12 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"c81f04c79982971fa176d64e8f7f8812f86a94c49e84672ff10996a2d6dfc444a884c7a87c4606a1aab22558894ee59b798b457827f5ee0b0cadcd94371902cc4ddaf97acefed641997717bcb3cc74cd440f0a31e20fb95812cecb740c36d6d1bf07e3641514cfa678aff2a39562ff4d60e02b17583a92bf0c56d66bde9e09f8":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"52111f4798da3c11b3c74394358348ab0fc797bde99080f238d33a69b04b08ac2bd767b33872473943e23af27ca32fd568a43a8c7d6cc55b4fbb380212fdfcb60487e20694d4287e233efdf7b04737c0037a592d03077801828b051998c42b9f9e2420063331d5b2349918a64d8b65b21a2011ee7318fcef48aced95b8ddf501":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"63030cef0e2d4067573222bef3a3f83e7c98ec4c2d21780a7438673ad48bfe29":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"52111f4798da3c11b3c74394358348ab0fc797bde99080f238d33a69b04b08ac2bd767b33872473943e23af27ca32fd568a43a8c7d6cc55b4fbb380212fdfcb60487e20694d4287e233efdf7b04737c0037a592d03077801828b051998c42b9f9e2420063331d5b2349918a64d8b65b21a2011ee7318fcef48aced95b8ddf501":0 RSA PKCS1 Verify v1.5 CAVS #13 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"a97824871770b79da979a111f6decfb1dd11bd946cfa800b008f0ad5aea5aa92e205d27a46c31d4fe6cb909091bd21f082fb75074000ee46c2f3e530d77b34c7c5d6f8453025950d3e0afae1f9752655f5bbea8432e9f1014357ff11b08076179a101e4f9d3f25bffb5e656bf6afe6c97d7aa4740b5d9224cde4dede035a7768":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"d5dcd27c74e040ea86f106b63d3275fa7b7e98d2dd701f38ec15fc7301b72df127f6d3bd5571253a0b9e0e719d7d522893896941a1aeccc697912282b5308d829b91905b5dd7b7e1b8fe27e2bd4003b09dfe7fe295f8a43c076c0cb52f2aac067e87de7ffe3a275d21a870c3dfc9b1d06d7f018667de9eb187bdf53d282e5d8b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"b6a6dcf38a14037e598508fcff07f8da0e3f00538961cb159402f60442cbaf8d8abec885c4f0017018e2c2f45f3b076d":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"d5dcd27c74e040ea86f106b63d3275fa7b7e98d2dd701f38ec15fc7301b72df127f6d3bd5571253a0b9e0e719d7d522893896941a1aeccc697912282b5308d829b91905b5dd7b7e1b8fe27e2bd4003b09dfe7fe295f8a43c076c0cb52f2aac067e87de7ffe3a275d21a870c3dfc9b1d06d7f018667de9eb187bdf53d282e5d8b":0 RSA PKCS1 Verify v1.5 CAVS #14 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"4ce61930c79dc017c2dea0c5085d73a3b0e4a6f341e9a5061a6658af11e5edf95bdad915ac3619969e39bee15788a8de667f92f4efc84f35082d52d562aa74e12cc7f22d3425b58f5056d74afcf162cd44e65b9ee510ff91af094c3d2d42c3b088536d62a98f1c689edcf3ea3fc228d711c109d76ae83d82d6a34dcfbad563cf":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1024:16:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":16:"10001":"27280b92eab5cbf0d787ff6fa6b0151d6610adfd25116113f2f186f3f8d39736d91ae510ec2bd96f2de135aefda79178138696dcc6d302e4a79ddabbe16e39ab96075776afce863e84a2e6013cb457e4047e22d43f67bf64ae5e1d844a7c12ac696efbb3cda7c0e0aca71f8a7ada9a0547bfaefe1ba2e04058c672c803720dd9":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ef9660959073aa342a440ed8ee3f0d13aa86f9585841f1a7bfa8fde9e69a16b29cbe11e3dd0677e6a86273f1123ecaa55723e51cea3f851ad22a46f037ee3a77":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1024:"e28a13548525e5f36dccb24ecb7cc332cc689dfd64012604c9c7816d72a16c3f5fcdc0e86e7c03280b1c69b586ce0cd8aec722cc73a5d3b730310bf7dfebdc77ce5d94bbc369dc18a2f7b07bd505ab0f82224aef09fdc1e5063234255e0b3c40a52e9e8ae60898eb88a766bdd788fe9493d8fd86bcdd2884d5c06216c65469e5":"10001":"27280b92eab5cbf0d787ff6fa6b0151d6610adfd25116113f2f186f3f8d39736d91ae510ec2bd96f2de135aefda79178138696dcc6d302e4a79ddabbe16e39ab96075776afce863e84a2e6013cb457e4047e22d43f67bf64ae5e1d844a7c12ac696efbb3cda7c0e0aca71f8a7ada9a0547bfaefe1ba2e04058c672c803720dd9":0 RSA PKCS1 Verify v1.5 CAVS #15 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"224ecd3b630581da948216366c741015a9723c5ea43de67e28454d0a846f54a6df167a25cc500cf21f729aaefed6a71a3bdba438e12e20ad0c48396afe38568b70a3187f26098d6ac649a7c7ea68ed52748e7125225102216236a28f67753b077cfd8d9198b86b0b331027cb59b24b85fd92896e8f2ff5a1d11872c2e6af6ae2":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"1f7938b20a9cd8bb8ca26bad9e79ea92373174203f3ab212a06de34a9a3e14e102d19a8878c28a2fc8083a97c06b19c1ae62678289d5d071a904aed1d364655d9e2d16480a6fd18f4c8edf204844a34d573b1b988b82d495caefd9298c1635083e196a11f4a7df6a7e3cc4db7b9642e7682d22ec7038c3bad791e1365fe8836976092460e6df749dc032baf1e026684f55936beb9369845c53c3d217941c1f8d8f54a32333a4c049c3f2d527125778032f5d390040d1d4cce83dc353ce250152":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"1340fc324c96aa313425ecfa971297f2cddca172":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"1f7938b20a9cd8bb8ca26bad9e79ea92373174203f3ab212a06de34a9a3e14e102d19a8878c28a2fc8083a97c06b19c1ae62678289d5d071a904aed1d364655d9e2d16480a6fd18f4c8edf204844a34d573b1b988b82d495caefd9298c1635083e196a11f4a7df6a7e3cc4db7b9642e7682d22ec7038c3bad791e1365fe8836976092460e6df749dc032baf1e026684f55936beb9369845c53c3d217941c1f8d8f54a32333a4c049c3f2d527125778032f5d390040d1d4cce83dc353ce250152":0 RSA PKCS1 Verify v1.5 CAVS #16 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"6ecc722d233dad1aca45e6bc3e1a0b99fb1f89c0ec63bc657e6aaacbf931f267106cff42b712819f341b1ede798964a0b1a5032c198b391111e88d0d7303c02e23fa0137e74e604579a285b2dbc0a23aebdda65c371eb403125bd366e822e72dceffe0d55dfa3155c16283020dc9abb0d150da1aef251484aa49e49e00974dac":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"339dce3a1937669d9fb14c4f652378861fd5adc4da88eaf833b16020b55a24ddc83b7ae3395a9a49b426bb9a4170cb765b02652faa9594b457aeefdae4f802e93d8e65c687ddc723701465a5ef19249ed5d2617b5121c58557b34eb99a663bbcf4453a6e1db5d88723de449fcf58ca8ef514daf08cfdc71be155bb3d0724df0c0a6fd5aa7737433cc376640b9b8b4c7ddd09776bae0245729cddb56e36f28edad6aecaed0821ec8d843a96348e722bf0a84cf060a793a2179f054138f907d0c3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"64d856065bbe1590ed1cc1e2ad048641b3aedbfe13ea2f9df2270b74":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"339dce3a1937669d9fb14c4f652378861fd5adc4da88eaf833b16020b55a24ddc83b7ae3395a9a49b426bb9a4170cb765b02652faa9594b457aeefdae4f802e93d8e65c687ddc723701465a5ef19249ed5d2617b5121c58557b34eb99a663bbcf4453a6e1db5d88723de449fcf58ca8ef514daf08cfdc71be155bb3d0724df0c0a6fd5aa7737433cc376640b9b8b4c7ddd09776bae0245729cddb56e36f28edad6aecaed0821ec8d843a96348e722bf0a84cf060a793a2179f054138f907d0c3":0 RSA PKCS1 Verify v1.5 CAVS #17 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"72f0b1ae27e1f5e5bfa15ded204c2c54b47b2420750a3eb5471f9ff98b67c8b5f1a30d3f8d6448562e12ce4deb33a26cfeeae993d6be9e20679d8713c5216870f11276e5f22b0ead2821a7b4dee106fc1e19b13fc9fba5d6e73e4bd93b65a9881a43d5e97ebfb0b357d5d06b21ddbecdbb10626d7748bb9e6e07d49316bbf3c4":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"8117a6897e14c183737661cf5741350a84ae00495cd9ee8fb033582e559f79701ab424706660515ee5821a69a6850647ec641676a625d1a3899932aaa52161fbc0c0a825db82fde0585b3c9b9c16de43e26da6a30fe5a601dae68bded1e29ec34557b5f6962efb10b9450d6f096655f68e8499cfa16a0adeb9075e7b91851fef84243132d08273d35d01ad89c17e1e6e4deaf1cb233050b275fa9d2cae57e9e1a0e23139267040aa39b6abd8f10fa1cec38ce2183573ddc11626fc262e1a0ced":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"7743dd578de944491852bfddfdeb0d239eb8d3d40a3315b8a028854627dd0ff7":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"8117a6897e14c183737661cf5741350a84ae00495cd9ee8fb033582e559f79701ab424706660515ee5821a69a6850647ec641676a625d1a3899932aaa52161fbc0c0a825db82fde0585b3c9b9c16de43e26da6a30fe5a601dae68bded1e29ec34557b5f6962efb10b9450d6f096655f68e8499cfa16a0adeb9075e7b91851fef84243132d08273d35d01ad89c17e1e6e4deaf1cb233050b275fa9d2cae57e9e1a0e23139267040aa39b6abd8f10fa1cec38ce2183573ddc11626fc262e1a0ced":0 RSA PKCS1 Verify v1.5 CAVS #18 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"f80c94a2b53736978adf041886ad97ab2aeb9e91c08bd4eeef6b2f2b8dd75a99b4506657188bbd7597bd5759121630627c8bf9cc30d90dd488c7a81cabab5350a62fa30abf5523f305b98f2c2c1743ec980cf26ab8219bfd9505b981ab1abbfef733b384519d5259fc5c14577cb6b88fa7f6f332ff6a65b23faecc24342c78e9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"6b49553ed964ae196a41ea281f4d2a250ce7d1e7434e45cf6a82f7bed17554f39c3f0241e0364702fcb87475eb0c0839ffd2180890fa05b4bbf31bbfa4bf5119dea0c9f88e1e9617fcdadabc6fa1945136cc66e039b905d78ed365c5806d38aec88b3edfb86c05ff446dbfd51d7cd75cbf8d3b85154c783765386f51637532221f52429db5612dcc034968bb8feab7dc6f5ed1f2feb557f6dd49c980296117be2c4195ec7b6101ea767df9d16a56fc9709b49308a54dab63dbc4d609f959ce17":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"c293af20d96cc76b460fe8d4a7f02bf6e131750cadeaa898c7c2086a70ee9021986e408e896fbfdde338cbc9ab5ab94e":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"6b49553ed964ae196a41ea281f4d2a250ce7d1e7434e45cf6a82f7bed17554f39c3f0241e0364702fcb87475eb0c0839ffd2180890fa05b4bbf31bbfa4bf5119dea0c9f88e1e9617fcdadabc6fa1945136cc66e039b905d78ed365c5806d38aec88b3edfb86c05ff446dbfd51d7cd75cbf8d3b85154c783765386f51637532221f52429db5612dcc034968bb8feab7dc6f5ed1f2feb557f6dd49c980296117be2c4195ec7b6101ea767df9d16a56fc9709b49308a54dab63dbc4d609f959ce17":0 RSA PKCS1 Verify v1.5 CAVS #19 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"4eb97094bb42aaa58b040bd06a8f324396b9eca9e39359b7039c4a010434ee131a53aebd9f7a55ae58ea7444fa1505a3ec524e054fd408513cddc1ee4c2f7fd95ec4a6f594be1ba39fa1aa933dc0a5dafff5ce44509577ebb3a3e8084c44010aa27321e5a3f646ade99175633b795c0f570b360eeebeefaef15788f80b5cbecd":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"2b8b794a8621d492eec18a4efd239e0e077c89340a34b0fdbf467f2bf3112c7f33d00ee736f2988af8569c1a74891efbefa839e295fffdf4d908c1ede61a861a4d24b154a09d1b3f923fd2bb7906994cf82a97da285bf48e61f90cc3596f9350ab9b66a216ffca323195bb213f5a77fe8c697475595a1857dbee58128cbf1be7cb220229ce52766fefd88cc129ad5cbbdcd31fb4eede6c4fdd3193a9aaaa54362bcea4082981d9b7c40483814828f3297d95ad933c76f31c47e37a93ffaf0d4a":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"91348892bd820bca0a140cbeba3ed9a0d0da802e5cc03f8d88325f6c957550440e93af31bf2fd83ca79067e4bcf940b7478a901764bcb533731ddc0d763cab54":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"2b8b794a8621d492eec18a4efd239e0e077c89340a34b0fdbf467f2bf3112c7f33d00ee736f2988af8569c1a74891efbefa839e295fffdf4d908c1ede61a861a4d24b154a09d1b3f923fd2bb7906994cf82a97da285bf48e61f90cc3596f9350ab9b66a216ffca323195bb213f5a77fe8c697475595a1857dbee58128cbf1be7cb220229ce52766fefd88cc129ad5cbbdcd31fb4eede6c4fdd3193a9aaaa54362bcea4082981d9b7c40483814828f3297d95ad933c76f31c47e37a93ffaf0d4a":0 RSA PKCS1 Verify v1.5 CAVS #20 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"a3edb0f52c6166d7b76e71634761f402337c3e9667549d00cd7877e6055396b35c54c4dffc4c987060178fc10b7e5e827a5c870057002ba6efd31fc4e63a429029be0d6b256b6b653775cb026322743f48e319d053c4aeac34077acb8e0c6c2ef375b2210f8788bd23d24eb0b614de41875b1c8ec56acf18825eaf826691be96":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"180630d2f4dc91ddb1159978e278cda7ac4b178e82477f9770c4d2e1c5017d2f222348658044c1be4cda24ce3c9ba3d423536a39bf60324c1b30eabdad700b0982e58072f7e18216e7e4c07e17674ec3eabcfbafce317d2f539f129902d80031ca201a8b325629a96ca4a70b51294c2fddd1d0aca1537d7d8b780e1e62d34be2f98104d876a4990396c8628e6498d9651f468bdf1139664eabe9166efbe909bf87d7305d5f60f1acc3599ed339fcf4e009fbad4059af1a50264cb0a4ec1d23f3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"173ce611665c0258cc9118343b95430cc765313f":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"180630d2f4dc91ddb1159978e278cda7ac4b178e82477f9770c4d2e1c5017d2f222348658044c1be4cda24ce3c9ba3d423536a39bf60324c1b30eabdad700b0982e58072f7e18216e7e4c07e17674ec3eabcfbafce317d2f539f129902d80031ca201a8b325629a96ca4a70b51294c2fddd1d0aca1537d7d8b780e1e62d34be2f98104d876a4990396c8628e6498d9651f468bdf1139664eabe9166efbe909bf87d7305d5f60f1acc3599ed339fcf4e009fbad4059af1a50264cb0a4ec1d23f3":0 RSA PKCS1 Verify v1.5 CAVS #21 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"ac58fd024208d7f045d81a56cd55aad40ab86b0d216ab55136c7027aca23ea13480a52c0dacce0d98139b25965aa4ff76a41dd92037195d24bc0750d52cb3467b48b7b3e71d852c5f82bd9ee85a8388ead5cd8bc38c3d4792e8daa9734a137d31963e245ad3217fad235f7dfd5584de0fe91c4526568588e08b60bdf1badd99f":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"a142b0d9456f8f4772675265a08613a66c416bd1ae712975c69d9ca5fb8c1be9c24359a04fd15460bf6136a8a11f13e3ce2de2171524f10cb715f0d71e3db15281ab99eadbe86cf8c5c518162c638ef27a4f7bfb4a1a3873f3c384a5b1c3b4966c837b9d8d192ac34e03943b7ae191355aa1ff3b9cd041bb2668f1f81cf0d015b3d3608cd9ac79398212c0f132f1bd45d47768b999fcf3c05fe2069593ceecedc851a7fc465abcfef0fabba9b9460153f6ba8723a5c6e766c83a446aef3ee327":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"a827c0785f663e39a08106f8036fd669d05b345c":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"a142b0d9456f8f4772675265a08613a66c416bd1ae712975c69d9ca5fb8c1be9c24359a04fd15460bf6136a8a11f13e3ce2de2171524f10cb715f0d71e3db15281ab99eadbe86cf8c5c518162c638ef27a4f7bfb4a1a3873f3c384a5b1c3b4966c837b9d8d192ac34e03943b7ae191355aa1ff3b9cd041bb2668f1f81cf0d015b3d3608cd9ac79398212c0f132f1bd45d47768b999fcf3c05fe2069593ceecedc851a7fc465abcfef0fabba9b9460153f6ba8723a5c6e766c83a446aef3ee327":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #22 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"027f767928a5821e2723d6f36c43e6b498b6f0b381852571794a096bd49f1c36a4d7bacec7ec402c24b970163169173bb930ec7fdc39bc9457dfc4ca051f5f28a64de1bbe007c22e8368ff9b117dbda17efd2fb73434bbbf5a4158df56813b8c904bb2e779de504dcd974a291568210d6f85810291606a1c0cd88d51ceadf98a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"0676e64daaa18f4af46e9dfbe234db389b8a527b0fe1db97eb7f404e3155226cba70d318800f83160fa1aa19916e5c09f079331079f18cb8ab1a4b884cb28501824974f683ed2b9babae9f8c15bea30802805c6b2152119764811bbf5f3994d2e97fa2fe8c5ab15a23c14d7ae56be00eaa8bc26678481ff5ba59b0acfb0e43341bff9fc638e5625480a73dbc5d8d13bd2b9e64037c6b79df0c60869980c6a22ec46f80fb859cb4ee5d2032ac1fe538cfd85c70a7f33b4af50a93395917c2cfb6":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"e5979f65ad7572ed4b0bc3a5fcad893a142a73379a1a16b45570d77d":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"0676e64daaa18f4af46e9dfbe234db389b8a527b0fe1db97eb7f404e3155226cba70d318800f83160fa1aa19916e5c09f079331079f18cb8ab1a4b884cb28501824974f683ed2b9babae9f8c15bea30802805c6b2152119764811bbf5f3994d2e97fa2fe8c5ab15a23c14d7ae56be00eaa8bc26678481ff5ba59b0acfb0e43341bff9fc638e5625480a73dbc5d8d13bd2b9e64037c6b79df0c60869980c6a22ec46f80fb859cb4ee5d2032ac1fe538cfd85c70a7f33b4af50a93395917c2cfb6":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #23 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"06dcd9d4c056b6a45b9ed2ae5f6c1cfa43aae06fe01ee098264aa7a80e901abbcf9a505e55f9a352ef0c078d48249b8298e57ea21bf0e423c3bf69002acfa541ca05007c704bc79cee7a80e1107c7b28d2b2aa6dd093b28efe9642519952a4a95ee49235f9924a0ac0aee5b2a1bce47459d70cd6e75074614199dca44561407c":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"5e08f399258e6de075b67a0a6a822ceb21b1eb7a0342eca6a4295739f644547dee3456243cf32bd6ea6f357c88632508457130f3dae04f7806efaed43d1d501e16c961dfbd6c71a42b480e95c7027f8275063d05a9aac3eef0520867b9896ebe8ec358f7d121beb4e61ddfdc3dcd835dfe265f2ba68d300ef566ed1284f9f3d7b1af363ed47bfa2e5f0492925444df7e5fcb1e79e690c746117650b543a5e82c39553552f0f44e617b5cf773c533050f4129e893ac22af69b1eb9afb4b5ba5f5":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"7af156b6b8089300a6d8cd3f32176c4c619135f4eced14dcfd633d2e":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"5e08f399258e6de075b67a0a6a822ceb21b1eb7a0342eca6a4295739f644547dee3456243cf32bd6ea6f357c88632508457130f3dae04f7806efaed43d1d501e16c961dfbd6c71a42b480e95c7027f8275063d05a9aac3eef0520867b9896ebe8ec358f7d121beb4e61ddfdc3dcd835dfe265f2ba68d300ef566ed1284f9f3d7b1af363ed47bfa2e5f0492925444df7e5fcb1e79e690c746117650b543a5e82c39553552f0f44e617b5cf773c533050f4129e893ac22af69b1eb9afb4b5ba5f5":0 RSA PKCS1 Verify v1.5 CAVS #24 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"1240028c6d7ab3992ada0e5ca55ee4f3d62f8de575302d5861d73685423c2e6a6d6fb3be090fbc2a701821b6d8fd5e8233f794b6549cd0bb52b390ac31478307bffa91a9bd9c1bf93ffc846356fef008ebee4bb3ee148e0fb1893d188e4934d0d088a433d14a596c5f2e3e49648a22edc6bdbcc58dc1edbd440046b3a169ca2b":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"a003ae9cf0704d58763b214f20446ecc4099c566f25384e28d0dd6540c58705fc8d0bfe1ceaa06096ed1e230146edb82056e39e6727abec09f25e44079b6ce1ca2c6a540dec7aa34444d7d435f41e5fca9b0bba62759ae2780638e5160e031bb60409c2e85674ac7a776b444b37b9d7f4dbaa557e88b8562a584f2dbe90729b241aede95dfcc7e05b10deef06255cb89f0e7ccff23354818756a1f8bb9f00fd18f6cd22ca1b4bfc38027562bb37562c77c7883b5d735170d75521195fd3f2bd3":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"f5f493fc1dfc2221e2a5d61d8fc88480ec03b1fddec8b14d1d77c558859659db":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"a003ae9cf0704d58763b214f20446ecc4099c566f25384e28d0dd6540c58705fc8d0bfe1ceaa06096ed1e230146edb82056e39e6727abec09f25e44079b6ce1ca2c6a540dec7aa34444d7d435f41e5fca9b0bba62759ae2780638e5160e031bb60409c2e85674ac7a776b444b37b9d7f4dbaa557e88b8562a584f2dbe90729b241aede95dfcc7e05b10deef06255cb89f0e7ccff23354818756a1f8bb9f00fd18f6cd22ca1b4bfc38027562bb37562c77c7883b5d735170d75521195fd3f2bd3":0 RSA PKCS1 Verify v1.5 CAVS #25 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"67922a8b9cbc95cf7c555ff2d73cfc62ee04c3f0df9bfc8f64293a58bd3bebd2eb212d711f94e35c729d0873d6b244914d21bd0e59b23089b38740e43f480e8f407d090ac93b08a57403968b55e78cfe31eee6e4ecbacf834168fe89b6b8454fce6e675e80f82b33e850ae3f3d24fd320335e37981fd000576941b4f08d4ba99":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"2c6b301852cc55a993a933e2c080eb9dabfe19e9dc3571066caeabed1492d3501cd838de1c01784932df7a5ad5bbfb48c78f53a45f76e9812d046f23bd968495ef7e981e5add4acfc538fe33a5205de74bb37d3d9b6b87b2d174e85a73f216fd67d5738fc469dff7ea6b852e8dd08bc8df036597372d4d51185e6f47a45fbe1b9bdb06a4018783425ec95294de41f27235ad3b3263a890b8b62b17410a9bb08673393ff205a866ee2057e99c6517c6bbc84f8d87717b83d6f64de7ee215e1e8d":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"d8758fac95ed9177581c1eb690c5fad797f47e798c4a92706dd57eb038af9dbfa02c0b964c301053bb50ac8fc652d564":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"2c6b301852cc55a993a933e2c080eb9dabfe19e9dc3571066caeabed1492d3501cd838de1c01784932df7a5ad5bbfb48c78f53a45f76e9812d046f23bd968495ef7e981e5add4acfc538fe33a5205de74bb37d3d9b6b87b2d174e85a73f216fd67d5738fc469dff7ea6b852e8dd08bc8df036597372d4d51185e6f47a45fbe1b9bdb06a4018783425ec95294de41f27235ad3b3263a890b8b62b17410a9bb08673393ff205a866ee2057e99c6517c6bbc84f8d87717b83d6f64de7ee215e1e8d":0 RSA PKCS1 Verify v1.5 CAVS #26 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"1428b4a449698a994ef84c46a517c3aa6359c48e4264ef65f1f69d77ae26133e17edfc103de416fffb4f2bfe865b434544a418f6e2faca00a165d443f0663ff64080154614f7194057d8b5f1f33934cc9fc2314cf86d4fdad4892bf0d3058f7f37ebe98ef52bfb240b9ad369153afe081bbcf9d7ae43e8ba336b8ac57e8a6da0":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"8e10a1ae470e6e57a8d234185f78fdb600cc636c41565a9f3694a84ae102f6251984f54d11a7785fdcfdfaf80a821e05d57ef6b8edc03d9076755779322fd53eb98c805da77dc9316744e393c2fecd291a7e6043b1ca89fd8248f661e1d53110211b91edb41b31e848cde1115d8afd9963ebcc36aff5a27085949f0781bc69167c140ecfe71c44aacaf4123e557eaf2b528c6d0ea875b4ceefa942fe338af8df10562c438af04cd7521da912b3e3899cef0d75722161be6abed5e4e9009dbf40":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ec3c711f09b4a99eec37fc65da2141aabcdcc718ce131b9b54a02049006287aa8919282688bf6126f6fe25cc07092bed4fc3b255b133b9e89235611a0d0b98d3":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"8e10a1ae470e6e57a8d234185f78fdb600cc636c41565a9f3694a84ae102f6251984f54d11a7785fdcfdfaf80a821e05d57ef6b8edc03d9076755779322fd53eb98c805da77dc9316744e393c2fecd291a7e6043b1ca89fd8248f661e1d53110211b91edb41b31e848cde1115d8afd9963ebcc36aff5a27085949f0781bc69167c140ecfe71c44aacaf4123e557eaf2b528c6d0ea875b4ceefa942fe338af8df10562c438af04cd7521da912b3e3899cef0d75722161be6abed5e4e9009dbf40":0 RSA PKCS1 Verify v1.5 CAVS #27 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"4871adc05f6b3ecf296680b0dd8d86715b0d5264c064008037dc410512520b5f193c8f4d21eb6c42e10d220c0275c9b3751f03a4096e2f0e3db9df8d52068c06a51589d23ca1361e9fe27691e95663301ec1407fbf73aee99cc92362eaf6994b95038396d815052a0aef6489bbb7bcb0fffdf13f0af9e7d9fd14f6ce00ab98f7":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"180caf03781b391aacebe5b3f5e1d3b01c68a00df4ecfb6c4bf14217aed7cfca0adac099ec1d6e1f0b43b09b86788533fee6691d773807af0df6cc3bbdde3cf34bf5b848fa59c8bc10227cc3eba3452a85e0520fccdb2d8d32dd99672d302756a2d7f7f2693db3a48be17bd34d9d891f4ba44449c5bad1de91b788f524500a7703cccbaa77b9fe8791f5c8aa7b8f055336f28fcfc01733712e33cfb3d33fe71ddb9ced2a31931ec38007f5ad4a0d19acc428124b0e5ee6e0746fb33c1a4d90c8":0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"46ba38d521ffa6fc01bd69512008fd557785c783":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"180caf03781b391aacebe5b3f5e1d3b01c68a00df4ecfb6c4bf14217aed7cfca0adac099ec1d6e1f0b43b09b86788533fee6691d773807af0df6cc3bbdde3cf34bf5b848fa59c8bc10227cc3eba3452a85e0520fccdb2d8d32dd99672d302756a2d7f7f2693db3a48be17bd34d9d891f4ba44449c5bad1de91b788f524500a7703cccbaa77b9fe8791f5c8aa7b8f055336f28fcfc01733712e33cfb3d33fe71ddb9ced2a31931ec38007f5ad4a0d19acc428124b0e5ee6e0746fb33c1a4d90c8":0 RSA PKCS1 Verify v1.5 CAVS #28 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"3bba64de38438a71b95ab9c94539d5870c1fb08d7a9937600c00e9d063438edc97e625d0cd4b1eb00c31c9d94c7a0fe6d03160d1b6cbec5acdad16ada6ef253fee603df9faca8f98a477cc5456f3dfbf6414dbf19f3832e227ce291780188881e82e96a2e84744f12a34a9808a2daedc6fd00b345c6772bec26a095719451e6a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"8c846e75e32ce5f9964bdd8f6dcf1d2996a646b233bcf1bd6394e13e856691b89bedd18290a0f9f7c90dca307271b3108e795340490513b25e6789e93722c65ec064b4c43457295a31d1f07dd605e133fd6eaafc58cda132df2939f5f693e0205af34550afaa137f3e482885e50dfb48333a15c0821e7a19642acdddc6fea3c7487c691246a2b083dac439889d5ae741b7e08c47937530b4b069f1a260cd07fe4a0ddd530ab11534fb805e9b562118ee0e97932966008aadfc83f3b8a10de8ee":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"807ca5785542d26b3d1615209ab0ad3ff5f58707fe25f986abc19c0a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"8c846e75e32ce5f9964bdd8f6dcf1d2996a646b233bcf1bd6394e13e856691b89bedd18290a0f9f7c90dca307271b3108e795340490513b25e6789e93722c65ec064b4c43457295a31d1f07dd605e133fd6eaafc58cda132df2939f5f693e0205af34550afaa137f3e482885e50dfb48333a15c0821e7a19642acdddc6fea3c7487c691246a2b083dac439889d5ae741b7e08c47937530b4b069f1a260cd07fe4a0ddd530ab11534fb805e9b562118ee0e97932966008aadfc83f3b8a10de8ee":0 RSA PKCS1 Verify v1.5 CAVS #29 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"f7857ce04bf4292ea1755f9e587822372f4dcdf10bddfc0ff498a8af60ae94a0b482e873085c1cd52a5d181ce6b99a1f8520d74b947d65f3e7e358e8ddc4ac4ae465e39d408eee1f09865159733f83f553cd93cfde1c114fb3e32cf51cd418359016b3867df467b645d752808671a4609f3c49a67023c9ca617e6cffa544a10a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"9677300bbee003be3c445634f8ed5beb152b63f46f84cf5a8e721e0fafe8f3f7e99a6d50741f23f449d3026da3e8a7ac36be99ab44831803486ae552f7aa01f075287829b231d2d0840908e09081ae177ed888fe46a9d937a0871eb5d52ec541c8411c4cbf7efea6ca213b12cea513b0739eedca7c9473e10a7796936f4eaa0c5d3a9013ca5536781ac68eb2ca5779144de23da2e9875114aca885b3219dfc292d73940c5992ea3c4882889e7543430652860e441a01a45d9f4005a012421493":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"dac9130c9b23cfd303135b60be56829e08b441035250579b40d5b2e2ead5b9ac":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"9677300bbee003be3c445634f8ed5beb152b63f46f84cf5a8e721e0fafe8f3f7e99a6d50741f23f449d3026da3e8a7ac36be99ab44831803486ae552f7aa01f075287829b231d2d0840908e09081ae177ed888fe46a9d937a0871eb5d52ec541c8411c4cbf7efea6ca213b12cea513b0739eedca7c9473e10a7796936f4eaa0c5d3a9013ca5536781ac68eb2ca5779144de23da2e9875114aca885b3219dfc292d73940c5992ea3c4882889e7543430652860e441a01a45d9f4005a012421493":0 RSA PKCS1 Verify v1.5 CAVS #30 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"ca312774f2756ac2019f213a01a63c9a0b4a49ccafecf25e97a4c632668e3c77e664f4d7635241f25205e50c37061b02c546db8346fa597c3da8cfd44a827c5a4ff4ecfcd1797b39a1b215d9bbb93fdb6eb35bafbda427a5068888a6e19f86224b0897490491207e35ce39085668b10b4fb851b7dd9465c03869790ef38a61b5":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"3":"a202c33eb831b9d8e818b6c3bcdb42818e1d9c22a06ddd73a17a21e49d18cda44df349a066477cae068e1a5d2b518b0885e889ef796ca9e6f42a69ac755b8a6405fbaef93fe0130d98de35d689addfee3eecd26658903f774bda481c3f40ee0e9569a3c3e2da7ad576c7de82159d933e36fa29cfef99367005e34ab5082d80f48276d37dabc88dbb023bd01585329d2ccf417f78ec508aaa29751007d31f1669296b981d44c8fa99130c5df7a071725b496859314aaf9baf0ebc780355914249":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"db7e6ef51ffecd9c1cb88078275c362c0e36730860a33a0802c4a9237467d48d":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"3":"a202c33eb831b9d8e818b6c3bcdb42818e1d9c22a06ddd73a17a21e49d18cda44df349a066477cae068e1a5d2b518b0885e889ef796ca9e6f42a69ac755b8a6405fbaef93fe0130d98de35d689addfee3eecd26658903f774bda481c3f40ee0e9569a3c3e2da7ad576c7de82159d933e36fa29cfef99367005e34ab5082d80f48276d37dabc88dbb023bd01585329d2ccf417f78ec508aaa29751007d31f1669296b981d44c8fa99130c5df7a071725b496859314aaf9baf0ebc780355914249":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #31 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"2abe079077290ceb6c80ac5c61062ce8da814b1fb99a1a9fb2860ed900e6541856ec64bf19c0d9d1cc2280b7cc50af3e3d2ad8e044945d44761ca60891dd72bd6aa26a33274ffcf7ae7d661b5e651135fcff21aaf06b4a2db18fe5827e0243884f2841760b9f1c65fbda870f7f0cfbd6ff484f0825e688614928f2d12d1e7080":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"10001":"402631f3cddfb02cc4d9cb58ef1ab6726bd787a50e12e98567c9702bfdf47af85904aec5a2f6c5df9a10f08f90f93728eb090ae2ac21ded9f38faecd8195f3eb3d4107521b1cee956e7a214245b038adae912fa35ec97cb3bdc41352e8aaff80173561284cb740f999a3cd6653a6c3d5a3f911a416f41e2155083982c99eb5998a0a74d77f1ae999d901ee24a7f2c424179a3f92b07dc0b3498c1884e60677bee0175e810b426c4ad008d2743cd19b00b33177bf8be3fed7f7406e1bce0c2ea3":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"810b988d9966877681759634c332d6099cf905c7cd57c871b9e3399730fe4ef8cd1d3c7391ec4def78d4624b384664c4":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"10001":"402631f3cddfb02cc4d9cb58ef1ab6726bd787a50e12e98567c9702bfdf47af85904aec5a2f6c5df9a10f08f90f93728eb090ae2ac21ded9f38faecd8195f3eb3d4107521b1cee956e7a214245b038adae912fa35ec97cb3bdc41352e8aaff80173561284cb740f999a3cd6653a6c3d5a3f911a416f41e2155083982c99eb5998a0a74d77f1ae999d901ee24a7f2c424179a3f92b07dc0b3498c1884e60677bee0175e810b426c4ad008d2743cd19b00b33177bf8be3fed7f7406e1bce0c2ea3":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #32 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"da9505809dc92cfd8e01a1857dde52df6677c40d98f4577c1659ca7d3e9f01f9a809065f51b54fe2f9723fe2c9d1eea7397f2d5531d1c51c6ea100b028596bf9f24dd90be14eab58f07b4f24a35b073aeb29ecde4a6f320237d7adbdc43d94f87e08866b95bbcac83dc7db3553a42400441f088e2bf6259539a2da8b5a74065f":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"57edd0560df9840a25c28ff6d254e432395a5cd2d92248b3b44d7eab0fc65b3c4e545a916a8e90ce89745119db9ec9799aa8890f5250fb589cfc12dac1b6e406a39bc3b3663892da5354ba453cbd5e4c89bdce82d0ffe97052a03a5c3308819c1139ebc780c13cf6dc1477faf734abcb1db3fafaed6f22885c9c0222ff5deacb8cc6d027f2e959c3075011b382e88c4b27b83b4f2e6fda022e331c3602d19f5ac7bccfe95ea1e93d736dbd918ae5b1f468cd0b5b536a2f918d5e27a0757e75b7":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"cc43d91a2ae21a1a1fe7e51801f48f5a2f21ff4827d79cf6193e7610e2a5d9881f21577dcd100b2b5d087d936f867960":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"57edd0560df9840a25c28ff6d254e432395a5cd2d92248b3b44d7eab0fc65b3c4e545a916a8e90ce89745119db9ec9799aa8890f5250fb589cfc12dac1b6e406a39bc3b3663892da5354ba453cbd5e4c89bdce82d0ffe97052a03a5c3308819c1139ebc780c13cf6dc1477faf734abcb1db3fafaed6f22885c9c0222ff5deacb8cc6d027f2e959c3075011b382e88c4b27b83b4f2e6fda022e331c3602d19f5ac7bccfe95ea1e93d736dbd918ae5b1f468cd0b5b536a2f918d5e27a0757e75b7":0 RSA PKCS1 Verify v1.5 CAVS #33 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"d0cd038c65b3acca45822eaf91ea5176e82043268876dec0b62e2abd619023b7023abc67c6b823cfef5447b8772f985ff7910d6cc87e6c23688ac6de1fee40bbe2da1a92770de92adaa427ace02fee571a0a0176fceb0c8f3eb72dde839ab201395625f5c0db8641ce19d7711212dec61733262c6ce4476c025e67a3d5bc01f3":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"2f30629c1117d013bb36e6099dee931dcaf0a1032b07ec23e2b262898a8945e569c9573d81e22bb0a5f8a28b0d7b8ff01367dd7f089c68ed1daa11cf53a96ee91b38e6b839b6e90bea34d14b78f5d2c7629b68c5b4f2ecfff66b483b2233cb14f95df533c867a2b610aebcdbb7ea3109aaf2f5762ab3edc2571deccc7da0c9a5b443ca2b924c0f18de7bbb736a08fed3916795018a436a3ae62c85d554a53a6d48623908e06e7d275f4251d3b3bd530bd11e155dcf2b5c2adf030cdf931ae749":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"e5d33b5664b68b9bf3eded8f43216e534ce2db07df358e920d258e882c16eab36e0bac09b0ffa33837bdaeb261da2c376dd57f872146ab4f48434a4d493e09ff":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"2f30629c1117d013bb36e6099dee931dcaf0a1032b07ec23e2b262898a8945e569c9573d81e22bb0a5f8a28b0d7b8ff01367dd7f089c68ed1daa11cf53a96ee91b38e6b839b6e90bea34d14b78f5d2c7629b68c5b4f2ecfff66b483b2233cb14f95df533c867a2b610aebcdbb7ea3109aaf2f5762ab3edc2571deccc7da0c9a5b443ca2b924c0f18de7bbb736a08fed3916795018a436a3ae62c85d554a53a6d48623908e06e7d275f4251d3b3bd530bd11e155dcf2b5c2adf030cdf931ae749":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Verify v1.5 CAVS #34 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":16:"11":"0b4d96f411c727a262d6d0ade34195b78603551061917d060f89add47b09dfe8715f4f9147d327dc25e91fe457e5d1a2f22cd8fe6fe8e29d2060658307c87a40640650fef3d4b289a6c3febc5a100b29a8b56623afb29fd3c13ea372bf3c638c1db25f8bd8c74c821beec7b5affcace1d05d056a6c2d3035926c7a268df4751a54bc20a6b8cfd729a7cba309ae817daccbef9950a482cf23950a8ca1d3a13ddb7d8d0f87ad5587d4d9ebe19fe93457597a7bdd056c2fd4cea7d31e4a0e595a7b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"2c9aeb9e5bd5457bd60bbeff465c4e1519161ebe965b6627d7cd458f27e221027061e7dee759c5b46f38d509ba0c54a92c4b6f62b7d81d373cc7f44eb0b66953":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"a59d9b7269b102b7be684ec5e28db79992e6d3231e77c90b78960c2638b35ef6dbdac1ac59e7249d96d426e7f99397eabc6b8903fe1942da580322b98bafacd81bb911c29666f83886a2a2864f3552044300e60cedd5a8c321c43e280413dc41673c39a11b98a885486f8187a70f270185c4c12bc48a1968305269776c070ef69d4913589a887c4d0f5e7dd58bd806d0d49a14a1762c38665cef4646ff13a0cd29c3a60460703c3d051d5b28c660bffb5f8bd43d495ffa64175f72b8abe5fddd":"11":"0b4d96f411c727a262d6d0ade34195b78603551061917d060f89add47b09dfe8715f4f9147d327dc25e91fe457e5d1a2f22cd8fe6fe8e29d2060658307c87a40640650fef3d4b289a6c3febc5a100b29a8b56623afb29fd3c13ea372bf3c638c1db25f8bd8c74c821beec7b5affcace1d05d056a6c2d3035926c7a268df4751a54bc20a6b8cfd729a7cba309ae817daccbef9950a482cf23950a8ca1d3a13ddb7d8d0f87ad5587d4d9ebe19fe93457597a7bdd056c2fd4cea7d31e4a0e595a7b":0 RSA PKCS1 Verify v1.5 padding too short -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"AABBCC03020100FFFFFFFFFF1122330A0B0CCCDDDDDDDDDD":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:16:"9292758453063D803DD603D5E777D7888ED1D5BF35786190FA2F23EBC0848AEADDA92CA6C3D80B32C4D109BE0F36D6AE7130B9CED7ACDF54CFC7555AC14EEBAB93A89813FBF3C4F8066D2D800F7C38A81AE31942917403FF4946B0A83D3D3E05EE57C6F5F5606FB5D4BC6CD34EE0801A5E94BB77B07507233A0BC7BAC8F90F79":16:"10001":"6edd56f397d9bc6d176bbe3d80946fc352ad6127b85b1d67d849c0a38cbde7222c5fafbb18dcef791178a8e15f5c8cd91869f8ca4b758c46ce3e229bf666d2e3e296544351bcb5db7e0004f6c0800f76a432071297e405759d4324d1cf1c412758be93a39f834e03dee59e28ac571ce2b0b3c8fe639979f516223b54027340a5":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"7b0ebd4445c64f64c5702ede8b29af836a6c6f14":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA1:1024:"9292758453063D803DD603D5E777D7888ED1D5BF35786190FA2F23EBC0848AEADDA92CA6C3D80B32C4D109BE0F36D6AE7130B9CED7ACDF54CFC7555AC14EEBAB93A89813FBF3C4F8066D2D800F7C38A81AE31942917403FF4946B0A83D3D3E05EE57C6F5F5606FB5D4BC6CD34EE0801A5E94BB77B07507233A0BC7BAC8F90F79":"10001":"6edd56f397d9bc6d176bbe3d80946fc352ad6127b85b1d67d849c0a38cbde7222c5fafbb18dcef791178a8e15f5c8cd91869f8ca4b758c46ce3e229bf666d2e3e296544351bcb5db7e0004f6c0800f76a432071297e405759d4324d1cf1c412758be93a39f834e03dee59e28ac571ce2b0b3c8fe639979f516223b54027340a5":MBEDTLS_ERR_RSA_VERIFY_FAILED # The following tests check whether the use of reduced length encodings (as mandated for DER in contrast to BER) is enforced in # the verification of PKCS1 v1.5 signatures - this is relevant to prevent Bleichenbacher signature forgery attacks. @@ -156,234 +156,234 @@ mbedtls_rsa_pkcs1_verify:"AABBCC03020100FFFFFFFFFF1122330A0B0CCCDDDDDDDDDD":MBED # See the documentation of `mbedtls_rsa_rsassa_pkcs1_v15_encode` for the layout of the relevant ASN.1 structure. # Correct signature with DER-compliant reduced length encodings RSA PKCS1 Verify v1.5 reduced length encoding -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"5B56096ECADA4DAC299FD3D6091C1BE4D7C4210086E61ADA6FFC267A690034DAFB3734035880B9E71CEB0331C32C8DE1A254D777DFE3C848AC7764907602452EC16FD8EB3664E2E682DB3AA8979059BFADFE6192D9029844C8CAF310552717DD5B5B36A9910CFABE5C54AC16F3A3461DEE730060981BD9B47EE8D6644963B7CA":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"5B56096ECADA4DAC299FD3D6091C1BE4D7C4210086E61ADA6FFC267A690034DAFB3734035880B9E71CEB0331C32C8DE1A254D777DFE3C848AC7764907602452EC16FD8EB3664E2E682DB3AA8979059BFADFE6192D9029844C8CAF310552717DD5B5B36A9910CFABE5C54AC16F3A3461DEE730060981BD9B47EE8D6644963B7CA":0 # Non-reduced 1-byte length encoding in `DigestInfo` ASN.1 element RSA PKCS1 Verify v1.5 non-reduced length encoding #1 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"2FCF7FC1B60B3C083872B1BD9C666745921951A8A9E099FD629675F620B670713519C4A97B870591B97FE5C5DB2FC2A0A3FCB0016536D1205AA32BA8BFCF54ABD542C02F7FCEA3C3531D7A87C82ED5B151A9599F1BDB070A905F5B721DE3C22F8AC35034C607920CE0699D7F79E5913915F3A01856B5D30F9E68F0CD7856D40F":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"2FCF7FC1B60B3C083872B1BD9C666745921951A8A9E099FD629675F620B670713519C4A97B870591B97FE5C5DB2FC2A0A3FCB0016536D1205AA32BA8BFCF54ABD542C02F7FCEA3C3531D7A87C82ED5B151A9599F1BDB070A905F5B721DE3C22F8AC35034C607920CE0699D7F79E5913915F3A01856B5D30F9E68F0CD7856D40F":MBEDTLS_ERR_RSA_VERIFY_FAILED # Non-reduced 2-byte length encoding for `digestAlgorithm` ASN.1 element RSA PKCS1 Verify v1.5 non-reduced length encoding #2 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"3C27512A8FDC973D856C0F288BE27D00D54FC0B359C520DA73A05156D98CDD6A83E6657BFA81D7B9716EEDFD98C08CD82F399298782782AE341D9AABCBB6B5F9C6552DE1D8B93047E1135032653F4F65A8937352E903864E008429E049680E3AA80F5DE1C7408C403011CEF4A3ECA549C027C8954BFBCA21F2A41C3EB0278029":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"3C27512A8FDC973D856C0F288BE27D00D54FC0B359C520DA73A05156D98CDD6A83E6657BFA81D7B9716EEDFD98C08CD82F399298782782AE341D9AABCBB6B5F9C6552DE1D8B93047E1135032653F4F65A8937352E903864E008429E049680E3AA80F5DE1C7408C403011CEF4A3ECA549C027C8954BFBCA21F2A41C3EB0278029":MBEDTLS_ERR_RSA_VERIFY_FAILED # Non-reduced 3-byte length encoding for optional parameters in `digestAlgorithm` ASN.1 element RSA PKCS1 Verify v1.5 non-reduced length encoding #3 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"24BEB8502F24E0D11D9C10CEE4435EA972CEC93C23936E815ED2DF41BECEDDE889AF85BBEAF1B8C6928913AC523EA1D6653832E9D4E74F55B76771EA84F5A607342C341A14AB258019F38DBAEE4B967C8C8D26D6AF2583D32988471BA38751B6A67BA3D1147619C266A9AAC34244740BB59CD9DB3AFF19438B04C619AB719123":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"24BEB8502F24E0D11D9C10CEE4435EA972CEC93C23936E815ED2DF41BECEDDE889AF85BBEAF1B8C6928913AC523EA1D6653832E9D4E74F55B76771EA84F5A607342C341A14AB258019F38DBAEE4B967C8C8D26D6AF2583D32988471BA38751B6A67BA3D1147619C266A9AAC34244740BB59CD9DB3AFF19438B04C619AB719123":MBEDTLS_ERR_RSA_VERIFY_FAILED # Non-reduced 4-byte length encoding in `digest` ASN.1 element RSA PKCS1 Verify v1.5 non-reduced length encoding #4 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"13172EF7362CF421103FE1893429FAE85F83636BA8AF545252599A39892E62CEC317DC47C1D6B19328B63CDFD02FA0B49CE7980504635251FF08C0A1308C64D6466DFBF1EF2BA49EFDD6C2C888A30870EC2DC0FA4D67FDE6631C85ED2CEF8EEBF5578C974CBA4A04034D9B579B420D6CA93E4BFC09E014542A0EFB902AF90C5E":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"13172EF7362CF421103FE1893429FAE85F83636BA8AF545252599A39892E62CEC317DC47C1D6B19328B63CDFD02FA0B49CE7980504635251FF08C0A1308C64D6466DFBF1EF2BA49EFDD6C2C888A30870EC2DC0FA4D67FDE6631C85ED2CEF8EEBF5578C974CBA4A04034D9B579B420D6CA93E4BFC09E014542A0EFB902AF90C5E":MBEDTLS_ERR_RSA_VERIFY_FAILED # Non-reduced 3-byte length encoding for OID in `digestAlgorithm` ASN.1 element RSA PKCS1 Verify v1.5 non-reduced length encoding #5 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"7369676e617475726520746573740a":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:16:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":16:"10001":"65DD518F63A2E289C035E9F2A9927BF5A6A74FF6FEFFF61AFCC52ED4A8A5B93534A3AD1709136306EE1379B47A4863BC6ED879E92CD6F99AA5B5F106102BDAE8DAFB15CF6EF00CB5FA63967706528DEE8876F3D04E8D75533009C73DA4C5744D20FFDB18EA78EE4D5D9D6F7BD3AFC2AD9A0EDDD56AA40AAEF789E6FB12AB6DE7":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"ed330f43e866378f5c5ff867ea51d9dceac622bab59552f3faf22fa3b1823bf9":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:1024:"A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211":"10001":"65DD518F63A2E289C035E9F2A9927BF5A6A74FF6FEFFF61AFCC52ED4A8A5B93534A3AD1709136306EE1379B47A4863BC6ED879E92CD6F99AA5B5F106102BDAE8DAFB15CF6EF00CB5FA63967706528DEE8876F3D04E8D75533009C73DA4C5744D20FFDB18EA78EE4D5D9D6F7BD3AFC2AD9A0EDDD56AA40AAEF789E6FB12AB6DE7":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Sign #1 (SHA512, 1536 bits RSA) -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"c8c67df894c882045ede26a9008ab09ea0672077d7bc71d412511cd93981ddde8f91b967da404056c39f105f7f239abdaff92923859920f6299e82b95bd5b8c959948f4a035cbd693ad83014294d349813d1ad57911a6355d0731fe3a034e9db":16:"f15147d0e7c04a1e3f37adde802cdc610999bf7ab0088434aaeda0c0ab3910b14d2ce56cb66bffd97552195fae8b061077e03920814d8b9cfb5a3958b3a82c2a7fc97e55db5978b47a922156eb8a3e55c06a54a45d1670abdfb995489c4d0051":16:"bd429bb7c3b00bbea19ba664c0f8172d1a73c3cfa05e2ed656d570c1590918bb7e372ed25e2cd71395ba0a9b1a30f3ee012ffb0546cab8e3581fe3e23f44ab57a8aee9717e71a936a580fa8572d450fb00339a6f6704b717df0c149a465bab768c61500cd93b61113ff3e4389167f7b2c8e3c0da2d4765286bee555b0bcb4998f59b14fad03180a17c8b4f69bcd1234f4ae85950137665ac2ba80b55cc9b1aafb454b83771aa755acd2a00e93ddb65e696dbed8bdca69fb5e0c5c2097b9cfe4b":16:"3":"93b6fa99485c116ca6efdd4202ea1cf49f4c6345fae692584413743ce5b65510e8e4690aee9a19ea1ff10d57f22aa3548d839f28a8525a34354e9e58e0f3947e056ce2554e21bf287e220b98db3b551258cd42b495e5d1a3bbc83c9d1a02f2a300ef6d866ea75108e44ebb3e16b47df2f6de28feb2be3874dbbf21599451082d86e9f2f462575a8185c69aa1f1fcb6a363c5d71aeba2103449eaf3845285291148d5f78d1646b8dc95cbcc4082f987d948b0e7d4e80b60595f8a7517584e1643":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"2c9aeb9e5bd5457bd60bbeff465c4e1519161ebe965b6627d7cd458f27e221027061e7dee759c5b46f38d509ba0c54a92c4b6f62b7d81d373cc7f44eb0b66953":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"c8c67df894c882045ede26a9008ab09ea0672077d7bc71d412511cd93981ddde8f91b967da404056c39f105f7f239abdaff92923859920f6299e82b95bd5b8c959948f4a035cbd693ad83014294d349813d1ad57911a6355d0731fe3a034e9db":"f15147d0e7c04a1e3f37adde802cdc610999bf7ab0088434aaeda0c0ab3910b14d2ce56cb66bffd97552195fae8b061077e03920814d8b9cfb5a3958b3a82c2a7fc97e55db5978b47a922156eb8a3e55c06a54a45d1670abdfb995489c4d0051":"bd429bb7c3b00bbea19ba664c0f8172d1a73c3cfa05e2ed656d570c1590918bb7e372ed25e2cd71395ba0a9b1a30f3ee012ffb0546cab8e3581fe3e23f44ab57a8aee9717e71a936a580fa8572d450fb00339a6f6704b717df0c149a465bab768c61500cd93b61113ff3e4389167f7b2c8e3c0da2d4765286bee555b0bcb4998f59b14fad03180a17c8b4f69bcd1234f4ae85950137665ac2ba80b55cc9b1aafb454b83771aa755acd2a00e93ddb65e696dbed8bdca69fb5e0c5c2097b9cfe4b":"3":"93b6fa99485c116ca6efdd4202ea1cf49f4c6345fae692584413743ce5b65510e8e4690aee9a19ea1ff10d57f22aa3548d839f28a8525a34354e9e58e0f3947e056ce2554e21bf287e220b98db3b551258cd42b495e5d1a3bbc83c9d1a02f2a300ef6d866ea75108e44ebb3e16b47df2f6de28feb2be3874dbbf21599451082d86e9f2f462575a8185c69aa1f1fcb6a363c5d71aeba2103449eaf3845285291148d5f78d1646b8dc95cbcc4082f987d948b0e7d4e80b60595f8a7517584e1643":0 RSA PKCS1 Sign #1 Verify -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:16:"bd429bb7c3b00bbea19ba664c0f8172d1a73c3cfa05e2ed656d570c1590918bb7e372ed25e2cd71395ba0a9b1a30f3ee012ffb0546cab8e3581fe3e23f44ab57a8aee9717e71a936a580fa8572d450fb00339a6f6704b717df0c149a465bab768c61500cd93b61113ff3e4389167f7b2c8e3c0da2d4765286bee555b0bcb4998f59b14fad03180a17c8b4f69bcd1234f4ae85950137665ac2ba80b55cc9b1aafb454b83771aa755acd2a00e93ddb65e696dbed8bdca69fb5e0c5c2097b9cfe4b":16:"3":"93b6fa99485c116ca6efdd4202ea1cf49f4c6345fae692584413743ce5b65510e8e4690aee9a19ea1ff10d57f22aa3548d839f28a8525a34354e9e58e0f3947e056ce2554e21bf287e220b98db3b551258cd42b495e5d1a3bbc83c9d1a02f2a300ef6d866ea75108e44ebb3e16b47df2f6de28feb2be3874dbbf21599451082d86e9f2f462575a8185c69aa1f1fcb6a363c5d71aeba2103449eaf3845285291148d5f78d1646b8dc95cbcc4082f987d948b0e7d4e80b60595f8a7517584e1643":0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"2c9aeb9e5bd5457bd60bbeff465c4e1519161ebe965b6627d7cd458f27e221027061e7dee759c5b46f38d509ba0c54a92c4b6f62b7d81d373cc7f44eb0b66953":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA512:1536:"bd429bb7c3b00bbea19ba664c0f8172d1a73c3cfa05e2ed656d570c1590918bb7e372ed25e2cd71395ba0a9b1a30f3ee012ffb0546cab8e3581fe3e23f44ab57a8aee9717e71a936a580fa8572d450fb00339a6f6704b717df0c149a465bab768c61500cd93b61113ff3e4389167f7b2c8e3c0da2d4765286bee555b0bcb4998f59b14fad03180a17c8b4f69bcd1234f4ae85950137665ac2ba80b55cc9b1aafb454b83771aa755acd2a00e93ddb65e696dbed8bdca69fb5e0c5c2097b9cfe4b":"3":"93b6fa99485c116ca6efdd4202ea1cf49f4c6345fae692584413743ce5b65510e8e4690aee9a19ea1ff10d57f22aa3548d839f28a8525a34354e9e58e0f3947e056ce2554e21bf287e220b98db3b551258cd42b495e5d1a3bbc83c9d1a02f2a300ef6d866ea75108e44ebb3e16b47df2f6de28feb2be3874dbbf21599451082d86e9f2f462575a8185c69aa1f1fcb6a363c5d71aeba2103449eaf3845285291148d5f78d1646b8dc95cbcc4082f987d948b0e7d4e80b60595f8a7517584e1643":0 RSA PKCS1 Sign #2 (SHA256, 2048 bits RSA) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc7287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd762d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"8cfd7c2f07a94aea1ff222dc9b80c58a946c975470ff2d2d3fbdb45eac1efa5c":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc7287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd762d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":0 RSA PKCS1 Sign #2 Verify -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc7287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd762d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"8cfd7c2f07a94aea1ff222dc9b80c58a946c975470ff2d2d3fbdb45eac1efa5c":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc7287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd762d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":0 RSA PKCS1 Sign #2 Verify (Fail) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc6287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd763d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":MBEDTLS_ERR_RSA_VERIFY_FAILED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"8cfd7c2f07a94aea1ff222dc9b80c58a946c975470ff2d2d3fbdb45eac1efa5c":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA256:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"5aee2b9dbc02a6a2d87ff64a64165dc0b9ce70c79bab2d287939e2601c3223e0493988d5468731ae4edc7d5f5d449335c204fdb0e192c1915c9d694d3a61c3be14df79c4b34d6ac73707829024d263c94f9107fa93f3783de3965522336e18d1e01a142b5103451bb97839eaf2f44703a63050a36b78aef4072ea1a8daaaf1a2918fc03ee957a9c09efdc6287bcb4d6aec4723290294b249b3e3dc63157b560ad9c867323a73ebeb360cc9e482111643b0d86c4e33dcf170155590f0eba7d170789e84de336b7fe2f6cf485ddca94607a4ff379fc49d375c730249dd1a210e7dccd763d1c23c7532e769c6aa88e38e8654ff90f7b34df4c07ba90e89099ec1ed":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Sign #3 (SHA224, 2048 bits RSA) -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"9d768b8b31421f9d9ced890aafaf8b3468656419049ed268f6e1992066f45dc3e4cd349e8c5ed5a06e4ef5badaba064ba94907dfedf3d708becaf44ae9b27c3866d329311ba93e8ddc7fc284fba05d1bb84fb1e060a5b76b7fa515cfcd2c8144474623672703cac1e15ff4fdf8ef19d365c51ba86e60f4cbbcd07f956060625751bfbecc47945646459cadaddd900603a8149a93b31a6d432e1da1a67eb765f5b2f0bd1adb9af12d731c7b02931b42dbbfd8c7cecde76b817e96f664147a2c5091c6ce4dc562c5f57159d6f9dc9ba2daa212db56677839621bd4805dde62955fb2d0cc2c448109d10ecc6206ea81f0a02e1646471358f3ec146cd3c75f2d390b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"32f339fe33f10a0fa152bf9659cdf7a0e4b741444ea31a85d40ed4bb":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"9d768b8b31421f9d9ced890aafaf8b3468656419049ed268f6e1992066f45dc3e4cd349e8c5ed5a06e4ef5badaba064ba94907dfedf3d708becaf44ae9b27c3866d329311ba93e8ddc7fc284fba05d1bb84fb1e060a5b76b7fa515cfcd2c8144474623672703cac1e15ff4fdf8ef19d365c51ba86e60f4cbbcd07f956060625751bfbecc47945646459cadaddd900603a8149a93b31a6d432e1da1a67eb765f5b2f0bd1adb9af12d731c7b02931b42dbbfd8c7cecde76b817e96f664147a2c5091c6ce4dc562c5f57159d6f9dc9ba2daa212db56677839621bd4805dde62955fb2d0cc2c448109d10ecc6206ea81f0a02e1646471358f3ec146cd3c75f2d390b":0 RSA PKCS1 Sign #3 Verify -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"9d768b8b31421f9d9ced890aafaf8b3468656419049ed268f6e1992066f45dc3e4cd349e8c5ed5a06e4ef5badaba064ba94907dfedf3d708becaf44ae9b27c3866d329311ba93e8ddc7fc284fba05d1bb84fb1e060a5b76b7fa515cfcd2c8144474623672703cac1e15ff4fdf8ef19d365c51ba86e60f4cbbcd07f956060625751bfbecc47945646459cadaddd900603a8149a93b31a6d432e1da1a67eb765f5b2f0bd1adb9af12d731c7b02931b42dbbfd8c7cecde76b817e96f664147a2c5091c6ce4dc562c5f57159d6f9dc9ba2daa212db56677839621bd4805dde62955fb2d0cc2c448109d10ecc6206ea81f0a02e1646471358f3ec146cd3c75f2d390b":0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"32f339fe33f10a0fa152bf9659cdf7a0e4b741444ea31a85d40ed4bb":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA224:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"9d768b8b31421f9d9ced890aafaf8b3468656419049ed268f6e1992066f45dc3e4cd349e8c5ed5a06e4ef5badaba064ba94907dfedf3d708becaf44ae9b27c3866d329311ba93e8ddc7fc284fba05d1bb84fb1e060a5b76b7fa515cfcd2c8144474623672703cac1e15ff4fdf8ef19d365c51ba86e60f4cbbcd07f956060625751bfbecc47945646459cadaddd900603a8149a93b31a6d432e1da1a67eb765f5b2f0bd1adb9af12d731c7b02931b42dbbfd8c7cecde76b817e96f664147a2c5091c6ce4dc562c5f57159d6f9dc9ba2daa212db56677839621bd4805dde62955fb2d0cc2c448109d10ecc6206ea81f0a02e1646471358f3ec146cd3c75f2d390b":0 RSA PKCS1 Sign #4 (SHA384, 2048 bits RSA) -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"40dcc96822e5612eb33f1dca247a35109ba3845c7a3d556a60e656624bf1c103d94686ca7379e9e329ccd1b19b52bfd48b608df9f59a96a82d3feb0101096dbcb80e46da543b4c982ac6bb1717f24f9fe3f76b7154492b47525be1ddcaf4631d33481531be8f3e685837b40bdf4a02827d79f6a32374147174680f51c8e0d8eed9d5c445a563a7bce9ef4236e7cfdc12b2223ef457c3e8ccc6dd65cc23e977a1f03f5ef584feb9af00efc71a701f9d413b0290af17692cb821a1e863d5778e174b1130659f30583f434f09cb1212471a41dd65c102de64a194b6ae3e43cd75928049db78042c58e980aff3ea2774e42845bcf217410a118cf5deeaa64224dbc8":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"7fccca8778575cf67d95d44e6825128e2ba5155f7cc91d968a923dbac35bc04b4d45bf6fd0009144ef9d70898948eeec":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"40dcc96822e5612eb33f1dca247a35109ba3845c7a3d556a60e656624bf1c103d94686ca7379e9e329ccd1b19b52bfd48b608df9f59a96a82d3feb0101096dbcb80e46da543b4c982ac6bb1717f24f9fe3f76b7154492b47525be1ddcaf4631d33481531be8f3e685837b40bdf4a02827d79f6a32374147174680f51c8e0d8eed9d5c445a563a7bce9ef4236e7cfdc12b2223ef457c3e8ccc6dd65cc23e977a1f03f5ef584feb9af00efc71a701f9d413b0290af17692cb821a1e863d5778e174b1130659f30583f434f09cb1212471a41dd65c102de64a194b6ae3e43cd75928049db78042c58e980aff3ea2774e42845bcf217410a118cf5deeaa64224dbc8":0 RSA PKCS1 Sign #4 Verify -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"40dcc96822e5612eb33f1dca247a35109ba3845c7a3d556a60e656624bf1c103d94686ca7379e9e329ccd1b19b52bfd48b608df9f59a96a82d3feb0101096dbcb80e46da543b4c982ac6bb1717f24f9fe3f76b7154492b47525be1ddcaf4631d33481531be8f3e685837b40bdf4a02827d79f6a32374147174680f51c8e0d8eed9d5c445a563a7bce9ef4236e7cfdc12b2223ef457c3e8ccc6dd65cc23e977a1f03f5ef584feb9af00efc71a701f9d413b0290af17692cb821a1e863d5778e174b1130659f30583f434f09cb1212471a41dd65c102de64a194b6ae3e43cd75928049db78042c58e980aff3ea2774e42845bcf217410a118cf5deeaa64224dbc8":0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"7fccca8778575cf67d95d44e6825128e2ba5155f7cc91d968a923dbac35bc04b4d45bf6fd0009144ef9d70898948eeec":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_SHA384:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"40dcc96822e5612eb33f1dca247a35109ba3845c7a3d556a60e656624bf1c103d94686ca7379e9e329ccd1b19b52bfd48b608df9f59a96a82d3feb0101096dbcb80e46da543b4c982ac6bb1717f24f9fe3f76b7154492b47525be1ddcaf4631d33481531be8f3e685837b40bdf4a02827d79f6a32374147174680f51c8e0d8eed9d5c445a563a7bce9ef4236e7cfdc12b2223ef457c3e8ccc6dd65cc23e977a1f03f5ef584feb9af00efc71a701f9d413b0290af17692cb821a1e863d5778e174b1130659f30583f434f09cb1212471a41dd65c102de64a194b6ae3e43cd75928049db78042c58e980aff3ea2774e42845bcf217410a118cf5deeaa64224dbc8":0 RSA PKCS1 Sign #7 (MD5, 2048 bits RSA) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_MD5:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":0 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"6b54bbcfbfe18eefa044d9d828477fa8":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_MD5:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":0 RSA PKCS1 Sign #7 Verify -depends_on:MBEDTLS_MD5_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_MD5:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":0 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"6b54bbcfbfe18eefa044d9d828477fa8":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_MD5:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":0 RSA PKCS1 Sign #8 (RAW, 2048 bits RSA) depends_on:MBEDTLS_PKCS1_V15 -rsa_pkcs1_sign_raw:"1234567890deadbeef":MBEDTLS_RSA_PKCS_V15:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8" +rsa_pkcs1_sign_raw:"1234567890deadbeef":MBEDTLS_RSA_PKCS_V15:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8" RSA PKCS1 Sign #8 Verify depends_on:MBEDTLS_PKCS1_V15 -rsa_pkcs1_verify_raw:"1234567890deadbeef":MBEDTLS_RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":0 +rsa_pkcs1_verify_raw:"1234567890deadbeef":MBEDTLS_RSA_PKCS_V15:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":0 RSA PKCS1 Sign #8 Verify (Wrong raw hash) depends_on:MBEDTLS_PKCS1_V15 -rsa_pkcs1_verify_raw:"1234567890deadcafe":MBEDTLS_RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_VERIFY_FAILED +rsa_pkcs1_verify_raw:"1234567890deadcafe":MBEDTLS_RSA_PKCS_V15:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_VERIFY_FAILED RSA PKCS1 Sign #9 (Invalid Digest type) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:255:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +mbedtls_rsa_pkcs1_sign:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:255:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA PKCS1 Sign #9 Verify (Invalid Digest type) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:255:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +mbedtls_rsa_pkcs1_verify:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f870":MBEDTLS_RSA_PKCS_V15:255:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"3bcf673c3b27f6e2ece4bb97c7a37161e6c6ee7419ef366efc3cfee0f15f415ff6d9d4390937386c6fec1771acba73f24ec6b0469ea8b88083f0b4e1b6069d7bf286e67cf94182a548663137e82a6e09c35de2c27779da0503f1f5bedfebadf2a875f17763a0564df4a6d945a5a3e46bc90fb692af3a55106aafc6b577587456ff8d49cfd5c299d7a2b776dbe4c1ae777b0f64aa3bab27689af32d6cc76157c7dc6900a3469e18a7d9b6bfe4951d1105a08864575e4f4ec05b3e053f9b7a2d5653ae085e50a63380d6bdd6f58ab378d7e0a2be708c559849891317089ab04c82d8bc589ea088b90b11dea5cf85856ff7e609cc1adb1d403beead4c126ff29021":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA PKCS1 Sign #10 (RIPEMD160, 2048 bits RSA) -depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_sign:"616263":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_RIPEMD160:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"aa2d9f88334d61bed74317ba549b1463600a9219801240cca5c11b9cdda29373172a28151313fb2cf73bb68af167e4ec645b6f065028802afbcfbc10e6c2c824e3c4d50c7181193b93734832170f0c5d3dd9ba5808f0e2a5c16b3d0df90defefef8e8fde5906962d42a2f0d62d7f81977f367f436f10c8b1183ccf6676953f7219445938f725d0cb62efbabf092de531642863b381e2694f2bf544ff6a4fefa7b37cdbf6292dbedcacf6e57d6f206ce5df0fd2771f9f64818f59a0ab7a5f003b368dc3eb51ab9409a0ec4e43f45281ee9a560664de88965ab207e256303d9dcb8233ed6ad0a5ad7f81e2f8c7a196dc81e2c8b6dde8a77fb6cfd1e5477ece9df8":0 +depends_on:MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_sign:"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_RIPEMD160:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"aa2d9f88334d61bed74317ba549b1463600a9219801240cca5c11b9cdda29373172a28151313fb2cf73bb68af167e4ec645b6f065028802afbcfbc10e6c2c824e3c4d50c7181193b93734832170f0c5d3dd9ba5808f0e2a5c16b3d0df90defefef8e8fde5906962d42a2f0d62d7f81977f367f436f10c8b1183ccf6676953f7219445938f725d0cb62efbabf092de531642863b381e2694f2bf544ff6a4fefa7b37cdbf6292dbedcacf6e57d6f206ce5df0fd2771f9f64818f59a0ab7a5f003b368dc3eb51ab9409a0ec4e43f45281ee9a560664de88965ab207e256303d9dcb8233ed6ad0a5ad7f81e2f8c7a196dc81e2c8b6dde8a77fb6cfd1e5477ece9df8":0 RSA PKCS1 Verify #10 (RIPEMD160, 2048 bits RSA) -depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_verify:"616263":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_RIPEMD160:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"aa2d9f88334d61bed74317ba549b1463600a9219801240cca5c11b9cdda29373172a28151313fb2cf73bb68af167e4ec645b6f065028802afbcfbc10e6c2c824e3c4d50c7181193b93734832170f0c5d3dd9ba5808f0e2a5c16b3d0df90defefef8e8fde5906962d42a2f0d62d7f81977f367f436f10c8b1183ccf6676953f7219445938f725d0cb62efbabf092de531642863b381e2694f2bf544ff6a4fefa7b37cdbf6292dbedcacf6e57d6f206ce5df0fd2771f9f64818f59a0ab7a5f003b368dc3eb51ab9409a0ec4e43f45281ee9a560664de88965ab207e256303d9dcb8233ed6ad0a5ad7f81e2f8c7a196dc81e2c8b6dde8a77fb6cfd1e5477ece9df8":0 +depends_on:MBEDTLS_HAS_ALG_RIPEMD160_VIA_LOWLEVEL_OR_PSA:MBEDTLS_PKCS1_V15 +mbedtls_rsa_pkcs1_verify:"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc":MBEDTLS_RSA_PKCS_V15:MBEDTLS_MD_RIPEMD160:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"aa2d9f88334d61bed74317ba549b1463600a9219801240cca5c11b9cdda29373172a28151313fb2cf73bb68af167e4ec645b6f065028802afbcfbc10e6c2c824e3c4d50c7181193b93734832170f0c5d3dd9ba5808f0e2a5c16b3d0df90defefef8e8fde5906962d42a2f0d62d7f81977f367f436f10c8b1183ccf6676953f7219445938f725d0cb62efbabf092de531642863b381e2694f2bf544ff6a4fefa7b37cdbf6292dbedcacf6e57d6f206ce5df0fd2771f9f64818f59a0ab7a5f003b368dc3eb51ab9409a0ec4e43f45281ee9a560664de88965ab207e256303d9dcb8233ed6ad0a5ad7f81e2f8c7a196dc81e2c8b6dde8a77fb6cfd1e5477ece9df8":0 RSA PKCS1 Encrypt #1 depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_encrypt:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"b0c0b193ba4a5b4502bfacd1a9c2697da5510f3e3ab7274cf404418afd2c62c89b98d83bbc21c8c1bf1afe6d8bf40425e053e9c03e03a3be0edbe1eda073fade1cc286cc0305a493d98fe795634c3cad7feb513edb742d66d910c87d07f6b0055c3488bb262b5fd1ce8747af64801fb39d2d3a3e57086ffe55ab8d0a2ca86975629a0f85767a4990c532a7c2dab1647997ebb234d0b28a0008bfebfc905e7ba5b30b60566a5e0190417465efdbf549934b8f0c5c9f36b7c5b6373a47ae553ced0608a161b1b70dfa509375cf7a3598223a6d7b7a1d1a06ac74d345a9bb7c0e44c8388858a4f1d8115f2bd769ffa69020385fa286302c80e950f9e2751308666c":0 +mbedtls_rsa_pkcs1_encrypt:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_RSA_PKCS_V15:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"b0c0b193ba4a5b4502bfacd1a9c2697da5510f3e3ab7274cf404418afd2c62c89b98d83bbc21c8c1bf1afe6d8bf40425e053e9c03e03a3be0edbe1eda073fade1cc286cc0305a493d98fe795634c3cad7feb513edb742d66d910c87d07f6b0055c3488bb262b5fd1ce8747af64801fb39d2d3a3e57086ffe55ab8d0a2ca86975629a0f85767a4990c532a7c2dab1647997ebb234d0b28a0008bfebfc905e7ba5b30b60566a5e0190417465efdbf549934b8f0c5c9f36b7c5b6373a47ae553ced0608a161b1b70dfa509375cf7a3598223a6d7b7a1d1a06ac74d345a9bb7c0e44c8388858a4f1d8115f2bd769ffa69020385fa286302c80e950f9e2751308666c":0 RSA PKCS1 Decrypt #1 (Verify) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_decrypt:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_RSA_PKCS_V15:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":32:"4E636AF98E40F3ADCFCCB698F4E80B9F":0 +mbedtls_rsa_pkcs1_decrypt:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_RSA_PKCS_V15:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":32:"4E636AF98E40F3ADCFCCB698F4E80B9F":0 RSA PKCS1 Encrypt #2 (Data too large) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_encrypt:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":MBEDTLS_RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_ERR_RSA_BAD_INPUT_DATA +mbedtls_rsa_pkcs1_encrypt:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":MBEDTLS_RSA_PKCS_V15:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA PKCS1 Decrypt #2 (Data too small) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_decrypt:"deadbeafcafedeadbeeffedcba9876":MBEDTLS_RSA_PKCS_V15:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":32:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_PRIVATE_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_rsa_pkcs1_decrypt:"deadbeafcafedeadbeeffedcba9876":MBEDTLS_RSA_PKCS_V15:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":32:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_PRIVATE_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA RSA PKCS1 Decrypt #4 (Output buffer too small) depends_on:MBEDTLS_PKCS1_V15 -mbedtls_rsa_pkcs1_decrypt:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_RSA_PKCS_V15:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":15:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE +mbedtls_rsa_pkcs1_decrypt:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_RSA_PKCS_V15:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":15:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE RSA Check empty private key rsa_check_privkey_null: RSA Check Private key #1 (Correct) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":0 +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":0 RSA Check Private key #2 (No P) -mbedtls_rsa_check_privkey:2048:16:"":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #3 (No Q) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #4 (No N) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #5 (No E) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #6 (No D) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #7 (No DP) depends_on:!MBEDTLS_RSA_NO_CRT -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #8 (No DQ) depends_on:!MBEDTLS_RSA_NO_CRT -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #9 (No QP) depends_on:!MBEDTLS_RSA_NO_CRT -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Private key #10 (Incorrect) -mbedtls_rsa_check_privkey:2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCC":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_privkey:2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCC":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #1 (Correct) -mbedtls_rsa_check_pubkey:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":0 +mbedtls_rsa_check_pubkey:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":0 RSA Check Public key #2 (Even N) -mbedtls_rsa_check_pubkey:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a20340":16:"3":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a20340":"3":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #3 (Even E) -mbedtls_rsa_check_pubkey:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a20340":16:"65536":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a20340":"65536":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #4 (N exactly 128 bits) -mbedtls_rsa_check_pubkey:16:"fedcba9876543210deadbeefcafe4321":16:"3":0 +mbedtls_rsa_check_pubkey:"fedcba9876543210deadbeefcafe4321":"3":0 RSA Check Public key #5 (N smaller than 128 bits) -mbedtls_rsa_check_pubkey:16:"7edcba9876543210deadbeefcafe4321":16:"3":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"7edcba9876543210deadbeefcafe4321":"3":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #6 (N exactly 8192 bits) depends_on:MBEDTLS_MPI_MAX_SIZE>=1024 -mbedtls_rsa_check_pubkey:16:"88F48075BF29E95C1C6AE8716678B74E957B69CC2E49708C160C6343AAD2F076D25397ACE74220311ED18AEEB681F463611B3340C3945CAAEAD3ACC616E08A25A55683A32979BD55EA5DAB7630AF393886896F11DDC5F07E15EDF949324CF0F0B2A5C0E85DFA23167193182D1A43079DC8645F6C2C029629F475575802F7D326DE5BD891A9C5F84A433D45154181EC05685A4B368A5B6434775A00ABC6B0A04647D4598CEEE566B552230F691C98CA30B402A76C686A94B373CCD2F60EFA3878A867BB5F585D088E27C507937262D098A477B9218BE7C03B2E4C102D244CA701645F1827CD947E5E796446378B848862E689F0D1773F752056841A1F0EECE7CAB74921A42DBF2EF264ADCF4ABE05A1242E5F629A657A2D67958A2DAC9A2245074A37099B45064723ABE21241058252632C2BA6FE85AB1C75FF310891B84C9C40AB646FE1D90BC716FB3A4B56DA3EA25CA397C04B994F7C6AD1DD0CB9E994CA6B835F7830F4F4E0F976BBEA5AE8556BC7C90B3E50E21C19AD1F6BC4A8FF15F2909D9CC5F3DA533BADFF50F487869D631C3E34D69636B4C25A55127EF5B715F2FC0565734B38DF996D1970E56F7F64EBECB9D00A587AAEC608F2D3AAA51E66BF53E92C3096BF78D1DCBCE1A645FA4F0542E6F68E5A94AAA6E839F75620FABED5D2BCF40AB8EAF95F838BFA962429F281578882DF0F2721C27C8905C9E776B1D3251FC066A8BC64C0CE7FBA2B8E21F65EF6739AB6F19EC2AB07817DFF03DAB7C846AB5CC86C103642D7664A85DC2D846A8004CD6A144C72CCCAC86DB5901A047324927B80E281F5F7315FA2F9083BDE0DB7AA46DC055E36BB73FB6DBD3A14759D06CBBE8D57CBC213C4D55DE4478679E0A5902C8655BE1391C0E88D2B1FBD57E9232A2CEBC67569ECD94E4BF0FCC6C003F9AA51A2A5E6EE084A46DAE65E52400A727F9713D29E92CD6CA37FD599598B3F677624A2A484A8B36B98EFEAD662C0A23BC1D9280EF2A31F887065EB20A93B41F7A264ECFA65B3555F3E400927018186EAA2D4F00C6B7AB1BCED5F893D64478177592C7F2B945307AB474D7EC7FF2E7E55834CC763BEF81DA9BD70FB3D423AE5ADB86B336734C8A3BEC90CEB05438B5BA030D0D30DEC1442D2EB08450480FBAE090FFA1A5ADD748A415BDCDE45094E792420F0AF94BCA0A80A2096D1A478D3428A214A7E68C0F07F58C6FB232ECC3D8B821AE29AE76E13EB751193F6ECA670016D54F3D796937DDBB8900062EF116CCA3F5B3AECA618272875336C9C050FBC0FC7EDD5B88D85DA0061D21E176E1419CF573629BE7B0496E761EAD45FE32B59EB00D47CDD178AC8F8EC8D6F26DED34F7576CD938422E18E936F16A704B483A48EE3BEA59D95F688136119894930EC8E9282E5974740CF031DF8DBB07EB08F2DA0ACCADECE15A6A57502890F4A03740E60BD":16:"010001":0 +mbedtls_rsa_check_pubkey:"88F48075BF29E95C1C6AE8716678B74E957B69CC2E49708C160C6343AAD2F076D25397ACE74220311ED18AEEB681F463611B3340C3945CAAEAD3ACC616E08A25A55683A32979BD55EA5DAB7630AF393886896F11DDC5F07E15EDF949324CF0F0B2A5C0E85DFA23167193182D1A43079DC8645F6C2C029629F475575802F7D326DE5BD891A9C5F84A433D45154181EC05685A4B368A5B6434775A00ABC6B0A04647D4598CEEE566B552230F691C98CA30B402A76C686A94B373CCD2F60EFA3878A867BB5F585D088E27C507937262D098A477B9218BE7C03B2E4C102D244CA701645F1827CD947E5E796446378B848862E689F0D1773F752056841A1F0EECE7CAB74921A42DBF2EF264ADCF4ABE05A1242E5F629A657A2D67958A2DAC9A2245074A37099B45064723ABE21241058252632C2BA6FE85AB1C75FF310891B84C9C40AB646FE1D90BC716FB3A4B56DA3EA25CA397C04B994F7C6AD1DD0CB9E994CA6B835F7830F4F4E0F976BBEA5AE8556BC7C90B3E50E21C19AD1F6BC4A8FF15F2909D9CC5F3DA533BADFF50F487869D631C3E34D69636B4C25A55127EF5B715F2FC0565734B38DF996D1970E56F7F64EBECB9D00A587AAEC608F2D3AAA51E66BF53E92C3096BF78D1DCBCE1A645FA4F0542E6F68E5A94AAA6E839F75620FABED5D2BCF40AB8EAF95F838BFA962429F281578882DF0F2721C27C8905C9E776B1D3251FC066A8BC64C0CE7FBA2B8E21F65EF6739AB6F19EC2AB07817DFF03DAB7C846AB5CC86C103642D7664A85DC2D846A8004CD6A144C72CCCAC86DB5901A047324927B80E281F5F7315FA2F9083BDE0DB7AA46DC055E36BB73FB6DBD3A14759D06CBBE8D57CBC213C4D55DE4478679E0A5902C8655BE1391C0E88D2B1FBD57E9232A2CEBC67569ECD94E4BF0FCC6C003F9AA51A2A5E6EE084A46DAE65E52400A727F9713D29E92CD6CA37FD599598B3F677624A2A484A8B36B98EFEAD662C0A23BC1D9280EF2A31F887065EB20A93B41F7A264ECFA65B3555F3E400927018186EAA2D4F00C6B7AB1BCED5F893D64478177592C7F2B945307AB474D7EC7FF2E7E55834CC763BEF81DA9BD70FB3D423AE5ADB86B336734C8A3BEC90CEB05438B5BA030D0D30DEC1442D2EB08450480FBAE090FFA1A5ADD748A415BDCDE45094E792420F0AF94BCA0A80A2096D1A478D3428A214A7E68C0F07F58C6FB232ECC3D8B821AE29AE76E13EB751193F6ECA670016D54F3D796937DDBB8900062EF116CCA3F5B3AECA618272875336C9C050FBC0FC7EDD5B88D85DA0061D21E176E1419CF573629BE7B0496E761EAD45FE32B59EB00D47CDD178AC8F8EC8D6F26DED34F7576CD938422E18E936F16A704B483A48EE3BEA59D95F688136119894930EC8E9282E5974740CF031DF8DBB07EB08F2DA0ACCADECE15A6A57502890F4A03740E60BD":"010001":0 RSA Check Public key #7 (N larger than 8192 bits) -mbedtls_rsa_check_pubkey:16:"01631CD83F3F2D67FA52E13B44416EA65043A322ECD65467558EACD4C6B6D92DA7471D2DBD58E6921F9465C4900E92DFC6EB35C90637285A7E1F3D27C1C32FD6A5CB324D8253C6B2E480B63F66E3B09F4300C3E683011C7803BDEAD682F0F55473FC8A187734573A11ECDCE802022F539BC2074E94703C23E48FF8AE35702352E70AF921B42E6A143A3EFEE20DF77A97AA703AA271CE96EB78062452D87A4ADCACF83FFB9683818BF2ED234D0ECFB1B935827708050C4D007215D7A028152798045AF6A0B741A7B22F3FCCEBC26D285B9AA22CEF858858702BAE7D945FA0C45E2D8AADFF2FD0A64DF02C241F871C799AD73738E626D9A6D4BFFBCE000C4087F0CE74EF21526402FDCD07649175122697FD01041B84AD0A3FEDABD5C25E953686B2272F8C8B748A486F54CB767A1C79CA499B2C9A300AC8A214A0BFA06280A9235D5B7AFB8A76FFDD78FC72038C5B809569A6125D6A588684A16D222EF93F2469EA78948037957DE9B449AB722044FDFF3B6AC89367D72F0CF3ED1F85EDFD0DE3EEEDD39F6EFD68A0368F83B389B7A7B9C7713F4148F53E82CDF6D9CC002A3A16F1E6A1D78C48CE7849584164661664153A499ACAE5927728B2F1A2E911648676DF316DFCBF5E44F393B7B296A4A21ED59744E3855FCD4A21F2B42CFE5C52860B244D467103107E3DC40A82077269897528CCBF80B2F216A535C52A6A2643E64B53276A1B63348038706328FE369AE2409568160481C07A3ED5B0198EC6CC07F8F250B1DE0D97110F834AA3D1C0862FB719393EA08D530225CE0647FD5488F483FA065196D1160FAFA54CD3FF63B6ADDBE84D09F3CFF98F22CC71DE2FC19735126C3BBA9A2C293D1DB118F0512C144C1C616492BE0D19BFD245955840F640EBE6FCFF2830C683852046F36C3CDA4F4460ABA4B2FEEB700C9DD80418C42673858CDD11E70682D5A41ED7D8010EC7DD5B57B4E206F84DB8A430B246002FEA49AFF45940B1F18AE28863F5AA41D3B42ABCD3D1BAB7644B86E060865997E1BA23A768F233D8A859332F8B9D5D1633F9C462328C17E2B07D6DFD813C94D675873592E5CBB001C112A790B10B9F9E07BE105C4FD328C7E3887C3EF13E8ECE6106B73A3341AF200D8663BDF96FFDB6F794FBB04D976B87423A868882F15CAE8DC9F6CAF4917EFC844E74BAD48F21E34530CB4E20006444706FC95658735553CA99E18F0E820D78DEF8FB84034B10CE44B1AE36B50147558415E5E78A77E2FC7C8C580B54CCC40EE3904C04950846A6D51BF5C80E0B6E2ADC4989DA1D3DD01F99AA369C2E6B53394BA0CB5E6E811BFA004A5B3B3C34C60433AB5EB0EC8050246B9AF10B49EAA51487CCE0C4C8F4CDAF926D582D7E4924C33765E00AC952A38669150EA322CDF886B46DE4D0970A060B670D50C9BF3D2020B529838E192EF92BFE2F06FDF1D5":16:"010001":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"01631CD83F3F2D67FA52E13B44416EA65043A322ECD65467558EACD4C6B6D92DA7471D2DBD58E6921F9465C4900E92DFC6EB35C90637285A7E1F3D27C1C32FD6A5CB324D8253C6B2E480B63F66E3B09F4300C3E683011C7803BDEAD682F0F55473FC8A187734573A11ECDCE802022F539BC2074E94703C23E48FF8AE35702352E70AF921B42E6A143A3EFEE20DF77A97AA703AA271CE96EB78062452D87A4ADCACF83FFB9683818BF2ED234D0ECFB1B935827708050C4D007215D7A028152798045AF6A0B741A7B22F3FCCEBC26D285B9AA22CEF858858702BAE7D945FA0C45E2D8AADFF2FD0A64DF02C241F871C799AD73738E626D9A6D4BFFBCE000C4087F0CE74EF21526402FDCD07649175122697FD01041B84AD0A3FEDABD5C25E953686B2272F8C8B748A486F54CB767A1C79CA499B2C9A300AC8A214A0BFA06280A9235D5B7AFB8A76FFDD78FC72038C5B809569A6125D6A588684A16D222EF93F2469EA78948037957DE9B449AB722044FDFF3B6AC89367D72F0CF3ED1F85EDFD0DE3EEEDD39F6EFD68A0368F83B389B7A7B9C7713F4148F53E82CDF6D9CC002A3A16F1E6A1D78C48CE7849584164661664153A499ACAE5927728B2F1A2E911648676DF316DFCBF5E44F393B7B296A4A21ED59744E3855FCD4A21F2B42CFE5C52860B244D467103107E3DC40A82077269897528CCBF80B2F216A535C52A6A2643E64B53276A1B63348038706328FE369AE2409568160481C07A3ED5B0198EC6CC07F8F250B1DE0D97110F834AA3D1C0862FB719393EA08D530225CE0647FD5488F483FA065196D1160FAFA54CD3FF63B6ADDBE84D09F3CFF98F22CC71DE2FC19735126C3BBA9A2C293D1DB118F0512C144C1C616492BE0D19BFD245955840F640EBE6FCFF2830C683852046F36C3CDA4F4460ABA4B2FEEB700C9DD80418C42673858CDD11E70682D5A41ED7D8010EC7DD5B57B4E206F84DB8A430B246002FEA49AFF45940B1F18AE28863F5AA41D3B42ABCD3D1BAB7644B86E060865997E1BA23A768F233D8A859332F8B9D5D1633F9C462328C17E2B07D6DFD813C94D675873592E5CBB001C112A790B10B9F9E07BE105C4FD328C7E3887C3EF13E8ECE6106B73A3341AF200D8663BDF96FFDB6F794FBB04D976B87423A868882F15CAE8DC9F6CAF4917EFC844E74BAD48F21E34530CB4E20006444706FC95658735553CA99E18F0E820D78DEF8FB84034B10CE44B1AE36B50147558415E5E78A77E2FC7C8C580B54CCC40EE3904C04950846A6D51BF5C80E0B6E2ADC4989DA1D3DD01F99AA369C2E6B53394BA0CB5E6E811BFA004A5B3B3C34C60433AB5EB0EC8050246B9AF10B49EAA51487CCE0C4C8F4CDAF926D582D7E4924C33765E00AC952A38669150EA322CDF886B46DE4D0970A060B670D50C9BF3D2020B529838E192EF92BFE2F06FDF1D5":"010001":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #8 (E exactly 2 bits) -mbedtls_rsa_check_pubkey:16:"fedcba9876543210deadbeefcafe4321":16:"3":0 +mbedtls_rsa_check_pubkey:"fedcba9876543210deadbeefcafe4321":"3":0 RSA Check Public key #8 (E exactly 1 bits) -mbedtls_rsa_check_pubkey:16:"fedcba9876543210deadbeefcafe4321":16:"1":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"fedcba9876543210deadbeefcafe4321":"1":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public key #8 (E exactly 64 bits) -mbedtls_rsa_check_pubkey:16:"fedcba9876543210deadbeefcafe4321":16:"00fedcba9876543213":0 +mbedtls_rsa_check_pubkey:"fedcba9876543210deadbeefcafe4321":"00fedcba9876543213":0 RSA Check Public key #8 (E larger than 64 bits) -mbedtls_rsa_check_pubkey:16:"fedcba9876543210deadbeefcafe4321":16:"01fedcba9876543213":0 +mbedtls_rsa_check_pubkey:"fedcba9876543210deadbeefcafe4321":"01fedcba9876543213":0 RSA Check Public key #9 (E has size N-2) -mbedtls_rsa_check_pubkey:16:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034d":0 +mbedtls_rsa_check_pubkey:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034d":0 RSA Check Public key #10 (E has size N) -mbedtls_rsa_check_pubkey:16:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_check_pubkey:"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"00b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034fb38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public-Private key #1 (Correct) -rsa_check_pubpriv:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":0 +rsa_check_pubpriv:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":0 RSA Check Public-Private key #2 (Public no N) -rsa_check_pubpriv:2048:16:"":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +rsa_check_pubpriv:2048:"":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public-Private key #3 (Private no N) -rsa_check_pubpriv:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +rsa_check_pubpriv:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public-Private key #4 (N mismatch) -rsa_check_pubpriv:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034e":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +rsa_check_pubpriv:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034e":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Check Public-Private key #5 (E mismatch) -rsa_check_pubpriv:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"17":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":16:"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":16:"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +rsa_check_pubpriv:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"17":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"9A66CF76572A71A17475794FA1C8C70D987E581E990D772BB27C77C53FF1ECBB31260E9EDAFAEBC79991807E48918EAB8C3A5F03A600F30C69511546AE788EDF53168E2D035D300EDCD5E4BF3AA2A6D603EA0A7BD11E1C1089657306DF8A64E7F1BC6B266B825C1A6C5F0FC85775F4CF7ACD63367E42EAFE46511D58AD6DFE0F":"844DBDD20925D9164F9A1E2F707076C261CCA8337D0241392B38AE3C12342F3AC14F8FD6DF4A1C36839662BD0D227344CD55A32AE5DBD2309A9A2B8A2C82BE6DDDDCE81D1B694775D9047AA765CA0C6E1BB8E61C8B7BE27ED711E8EE2FEAD87F3491F76A6D2262C14189EACDFD4CEFE0BF9D0A5B49857E0ED22CBEB98DC8D45B":"4951A7B174DF972C37BADCC38457B5EDD1F078BC613E75CE25E08814E12461C7A1C189A70EB8138294298D141244C7A9DE31AB4F6D38B40B04D6353CD30F77ADBF66BBDE41C7BE463C5E30AAA3F7BAD6CEE99506DEAAFA2F335C1B1C5C88B8ABB0D0387EE0D1B4E7027F7F085A025CEDB5CCE18B88C0462F1C3C910D47C0D4AB":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Private (Correct) -mbedtls_rsa_private:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f8700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"48ce62658d82be10737bd5d3579aed15bc82617e6758ba862eeb12d049d7bacaf2f62fce8bf6e980763d1951f7f0eae3a493df9890d249314b39d00d6ef791de0daebf2c50f46e54aeb63a89113defe85de6dbe77642aae9f2eceb420f3a47a56355396e728917f17876bb829fabcaeef8bf7ef6de2ff9e84e6108ea2e52bbb62b7b288efa0a3835175b8b08fac56f7396eceb1c692d419ecb79d80aef5bc08a75d89de9f2b2d411d881c0e3ffad24c311a19029d210d3d3534f1b626f982ea322b4d1cfba476860ef20d4f672f38c371084b5301b429b747ea051a619e4430e0dac33c12f9ee41ca4d81a4f6da3e495aa8524574bdc60d290dd1f7a62e90a67":0 +mbedtls_rsa_private:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f8700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"48ce62658d82be10737bd5d3579aed15bc82617e6758ba862eeb12d049d7bacaf2f62fce8bf6e980763d1951f7f0eae3a493df9890d249314b39d00d6ef791de0daebf2c50f46e54aeb63a89113defe85de6dbe77642aae9f2eceb420f3a47a56355396e728917f17876bb829fabcaeef8bf7ef6de2ff9e84e6108ea2e52bbb62b7b288efa0a3835175b8b08fac56f7396eceb1c692d419ecb79d80aef5bc08a75d89de9f2b2d411d881c0e3ffad24c311a19029d210d3d3534f1b626f982ea322b4d1cfba476860ef20d4f672f38c371084b5301b429b747ea051a619e4430e0dac33c12f9ee41ca4d81a4f6da3e495aa8524574bdc60d290dd1f7a62e90a67":0 RSA Private (Data larger than N) -mbedtls_rsa_private:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_PRIVATE_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_rsa_private:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_PRIVATE_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA RSA Private (Data = 0 ) -mbedtls_rsa_private:"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 +mbedtls_rsa_private:"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 RSA Public (Correct) -mbedtls_rsa_public:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f8700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"1f5e927c13ff231090b0f18c8c3526428ed0f4a7561457ee5afe4d22d5d9220c34ef5b9a34d0c07f7248a1f3d57f95d10f7936b3063e40660b3a7ca3e73608b013f85a6e778ac7c60d576e9d9c0c5a79ad84ceea74e4722eb3553bdb0c2d7783dac050520cb27ca73478b509873cb0dcbd1d51dd8fccb96c29ad314f36d67cc57835d92d94defa0399feb095fd41b9f0b2be10f6041079ed4290040449f8a79aba50b0a1f8cf83c9fb8772b0686ec1b29cb1814bb06f9c024857db54d395a8da9a2c6f9f53b94bec612a0cb306a3eaa9fc80992e85d9d232e37a50cabe48c9343f039601ff7d95d60025e582aec475d031888310e8ec3833b394a5cf0599101e":0 +mbedtls_rsa_public:"59779fd2a39e56640c4fc1e67b60aeffcecd78aed7ad2bdfa464e93d04198d48466b8da7445f25bfa19db2844edd5c8f539cf772cc132b483169d390db28a43bc4ee0f038f6568ffc87447746cb72fefac2d6d90ee3143a915ac4688028805905a68eb8f8a96674b093c495eddd8704461eaa2b345efbb2ad6930acd8023f8700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"1f5e927c13ff231090b0f18c8c3526428ed0f4a7561457ee5afe4d22d5d9220c34ef5b9a34d0c07f7248a1f3d57f95d10f7936b3063e40660b3a7ca3e73608b013f85a6e778ac7c60d576e9d9c0c5a79ad84ceea74e4722eb3553bdb0c2d7783dac050520cb27ca73478b509873cb0dcbd1d51dd8fccb96c29ad314f36d67cc57835d92d94defa0399feb095fd41b9f0b2be10f6041079ed4290040449f8a79aba50b0a1f8cf83c9fb8772b0686ec1b29cb1814bb06f9c024857db54d395a8da9a2c6f9f53b94bec612a0cb306a3eaa9fc80992e85d9d232e37a50cabe48c9343f039601ff7d95d60025e582aec475d031888310e8ec3833b394a5cf0599101e":0 RSA Public (Data larger than N) -mbedtls_rsa_public:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_PUBLIC_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_rsa_public:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"605baf947c0de49e4f6a0dfb94a43ae318d5df8ed20ba4ba5a37a73fb009c5c9e5cce8b70a25b1c7580f389f0d7092485cdfa02208b70d33482edf07a7eafebdc54862ca0e0396a5a7d09991b9753eb1ffb6091971bb5789c6b121abbcd0a3cbaa39969fa7c28146fce96c6d03272e3793e5be8f5abfa9afcbebb986d7b3050604a2af4d3a40fa6c003781a539a60259d1e84f13322da9e538a49c369b83e7286bf7d30b64bbb773506705da5d5d5483a563a1ffacc902fb75c9a751b1e83cdc7a6db0470056883f48b5a5446b43b1d180ea12ba11a6a8d93b3b32a30156b6084b7fb142998a2a0d28014b84098ece7d9d5e4d55cc342ca26f5a0167a679dec8":MBEDTLS_ERR_RSA_PUBLIC_FAILED + MBEDTLS_ERR_MPI_BAD_INPUT_DATA RSA Public (Data = 0) -mbedtls_rsa_public:"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 +mbedtls_rsa_public:"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000":0 RSA Generate Key - 128bit key mbedtls_rsa_gen_key:128:3:0 @@ -405,115 +405,115 @@ RSA Generate Key - 1025 bit key mbedtls_rsa_gen_key:1025:3:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA Validate Params, toy example -mbedtls_rsa_validate_params:10:"15":10:"3":10:"5":10:"3":10:"3":0:0 +mbedtls_rsa_validate_params:"f":"3":"5":"3":"3":0:0 RSA Validate Params, toy example, N missing -mbedtls_rsa_validate_params:10:"":10:"3":10:"5":10:"3":10:"3":0:0 +mbedtls_rsa_validate_params:"":"3":"5":"3":"3":0:0 RSA Validate Params, toy example, E missing -mbedtls_rsa_validate_params:10:"15":10:"3":10:"5":10:"3":10:"":0:0 +mbedtls_rsa_validate_params:"f":"3":"5":"3":"":0:0 RSA Validate Params, toy example, corrupted -mbedtls_rsa_validate_params:10:"16":10:"3":10:"5":10:"3":10:"3":0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_validate_params:"10":"3":"5":"3":"3":0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Validate Params, toy example, non-primes, no PRNG -mbedtls_rsa_validate_params:10:"45":10:"9":10:"5":10:"7":10:"23":0:0 +mbedtls_rsa_validate_params:"2d":"9":"5":"7":"17":0:0 RSA Validate Params, toy example, non-primes, PRNG -mbedtls_rsa_validate_params:10:"45":10:"9":10:"5":10:"7":10:"23":1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_validate_params:"2d":"9":"5":"7":"17":1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Validate Params -mbedtls_rsa_validate_params:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:0 +mbedtls_rsa_validate_params:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:0 RSA Validate Params, N missing -mbedtls_rsa_validate_params:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:0 +mbedtls_rsa_validate_params:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:0 RSA Validate Params, bad N -mbedtls_rsa_validate_params:16:"b38bc65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_validate_params:"b38bc65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Validate Params, non-prime, no PRNG -mbedtls_rsa_validate_params:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd18":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"":0:0 +mbedtls_rsa_validate_params:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd18":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"":0:0 RSA Validate Params, non-prime, PRNG -mbedtls_rsa_validate_params:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd18":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"":1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED +mbedtls_rsa_validate_params:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd18":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"":1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED RSA Deduce Private, toy example -mbedtls_rsa_deduce_private_exponent:10:"7":10:"11":10:"7":10:"13":0:0 +mbedtls_rsa_deduce_private_exponent:"7":"b":"7":"d":0:0 RSA Deduce Private, toy example, corrupted -mbedtls_rsa_deduce_private_exponent:10:"3":10:"5":10:"3":10:"3":1:MBEDTLS_ERR_MPI_NOT_ACCEPTABLE +mbedtls_rsa_deduce_private_exponent:"3":"5":"3":"3":1:MBEDTLS_ERR_MPI_NOT_ACCEPTABLE RSA Deduce Private -mbedtls_rsa_deduce_private_exponent:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":0:0 +mbedtls_rsa_deduce_private_exponent:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":0:0 RSA Deduce Private, corrupted -mbedtls_rsa_deduce_private_exponent:16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"3":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":1:MBEDTLS_ERR_MPI_NOT_ACCEPTABLE +mbedtls_rsa_deduce_private_exponent:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"3":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":1:MBEDTLS_ERR_MPI_NOT_ACCEPTABLE RSA Deduce Primes, toy example -mbedtls_rsa_deduce_primes:10:"35":10:"5":10:"5":10:"5":10:"7":0:0 +mbedtls_rsa_deduce_primes:"23":"5":"5":"5":"7":0:0 RSA Deduce Primes, toy example, corrupted -mbedtls_rsa_deduce_primes:10:"35":10:"5":10:"5":10:"5":10:"7":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_rsa_deduce_primes:"23":"5":"5":"5":"7":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA RSA Deduce Moduli -mbedtls_rsa_deduce_primes:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":0:0 +mbedtls_rsa_deduce_primes:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":0:0 RSA Deduce Moduli, corrupted -mbedtls_rsa_deduce_primes:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA +mbedtls_rsa_deduce_primes:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":1:MBEDTLS_ERR_MPI_BAD_INPUT_DATA RSA Import (N,P,Q,D,E) -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:1:0:0 RSA Import (N,P,Q,D,E), inconsistent -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC3672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC3672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 RSA Import (N,P,Q,D,E), successive -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1:0:0 RSA Import (N,P,Q,D,E), successive, inconsistent -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC3672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC3672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 RSA Import (-,P,Q,D,E) -mbedtls_rsa_import:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:1:0:0 +mbedtls_rsa_import:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:1:0:0 RSA Import (-,P,Q,D,E), successive -mbedtls_rsa_import:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1:0:0 +mbedtls_rsa_import:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1:0:0 RSA Import (N,-,-,D,E) -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":0:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":0:1:0:0 RSA Import (N,-,-,D,E), successive -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1:0:0 RSA Import (N,P,Q,-,E) -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":0:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":0:1:0:0 RSA Import (N,P,Q,-,E), successive -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":1:1:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":1:1:0:0 RSA Import (-,P,Q,-,E) -mbedtls_rsa_import:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":0:1:0:0 +mbedtls_rsa_import:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":0:1:0:0 RSA Import (-,P,Q,-,E), successive -mbedtls_rsa_import:16:"":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":1:1:0:0 +mbedtls_rsa_import:"":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":1:1:0:0 RSA Import (N,-,Q,-,E) -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":0:1:0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":0:1:0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA Import (N,-,Q,-,E), successive -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":1:1:0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":1:1:0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA Import (N,-,-,-,E), complete public key -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"":16:"3":0:0:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"":"3":0:0:0:0 RSA Import (N,-,-,-,E), complete public key, successive -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"":16:"3":1:0:0:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"":"3":1:0:0:0 RSA Import (N,-,-,-,E), complete public key, corrupted -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"":16:"4":0:0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"":"4":0:0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 RSA Import (N,-,-,-,E), complete public key, successive, corrupted -mbedtls_rsa_import:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"":16:"4":1:0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 +mbedtls_rsa_import:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"":"4":1:0:MBEDTLS_ERR_RSA_KEY_CHECK_FAILED:0 RSA Import Raw (N,P,Q,D,E), complete private key mbedtls_rsa_import_raw:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"03":0:1:0:0 @@ -561,25 +561,25 @@ RSA Import Raw (-,-,-,-,-) mbedtls_rsa_import_raw:"":"":"":"":"":0:0:0:MBEDTLS_ERR_RSA_BAD_INPUT_DATA RSA Export (N,P,Q,D,E) -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:0 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:0 RSA Export (N,P,Q,D,E), successive -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1 RSA Export (N,-,-,D,E) -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:0 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:0 RSA Export (N,-,-,D,E), successive -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":16:"3":1:1 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"3":1:1 RSA Export (N,P,Q,-,E) -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":1:0 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":1:0 RSA Export (N,P,Q,-,E), successive -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":16:"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":16:"":16:"3":1:1 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"":"3":1:1 RSA Export (N,-,-,-,E) -mbedtls_rsa_export:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"":16:"":16:"":16:"3":0:0 +mbedtls_rsa_export:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"":"":"":"3":0:0 RSA Export Raw (N,P,Q,D,E) mbedtls_rsa_export_raw:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"77B1D99300D6A54E864962DA09AE10CF19A7FB888456BC2672B72AEA52B204914493D16C184AD201EC3F762E1FBD8702BA796EF953D9EA2F26300D285264F11B0C8301D0207FEB1E2C984445C899B0ACEBAA74EF014DD1D4BDDB43202C08D2FF9692D8D788478DEC829EB52AFB5AE068FBDBAC499A27FACECC391E75C936D55F07BB45EE184DAB45808E15722502F279F89B38C1CB292557E5063597F52C75D61001EDC33F4739353E33E56AD273B067C1A2760208529EA421774A5FFFCB3423B1E0051E7702A55D80CBF2141569F18F87BFF538A1DA8EDBB2693A539F68E0D62D77743F89EACF3B1723BDB25CE2F333FA63CACF0E67DF1A431893BB9B352FCB":"03":1:0 @@ -604,7 +604,7 @@ mbedtls_rsa_export_raw:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f RSA PKCS1 Encrypt Bad RNG depends_on:MBEDTLS_PKCS1_V15 -rsa_pkcs1_encrypt_bad_rng:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_ERR_RSA_RNG_FAILED +rsa_pkcs1_encrypt_bad_rng:"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_RSA_PKCS_V15:2048:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":MBEDTLS_ERR_RSA_RNG_FAILED RSA Selftest depends_on:MBEDTLS_SELF_TEST diff --git a/tests/suites/test_suite_rsa.function b/tests/suites/test_suite_rsa.function index f5f515908e..65731ed93b 100644 --- a/tests/suites/test_suite_rsa.function +++ b/tests/suites/test_suite_rsa.function @@ -1,13 +1,8 @@ /* BEGIN_HEADER */ #include "mbedtls/rsa.h" #include "rsa_alt_helpers.h" -#include "mbedtls/md5.h" -#include "mbedtls/sha1.h" -#include "mbedtls/sha256.h" -#include "mbedtls/sha512.h" -#include "mbedtls/entropy.h" -#include "mbedtls/ctr_drbg.h" +#include "mbedtls/legacy_or_psa.h" /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -21,6 +16,8 @@ void rsa_invalid_param( ) mbedtls_rsa_context ctx; const int invalid_padding = 42; const int invalid_hash_id = 0xff; + unsigned char buf[] = {0x00,0x01,0x02,0x03,0x04,0x05}; + size_t buf_len = sizeof( buf ); mbedtls_rsa_init( &ctx ); @@ -34,6 +31,28 @@ void rsa_invalid_param( ) invalid_hash_id ), MBEDTLS_ERR_RSA_INVALID_PADDING ); + TEST_EQUAL( mbedtls_rsa_pkcs1_sign(&ctx, NULL, + NULL, MBEDTLS_MD_NONE, + buf_len, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_pkcs1_sign(&ctx, NULL, + NULL, MBEDTLS_MD_SHA256, + 0, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_pkcs1_verify(&ctx, MBEDTLS_MD_NONE, + buf_len, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_pkcs1_verify(&ctx, MBEDTLS_MD_SHA256, + 0, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + #if !defined(MBEDTLS_PKCS1_V15) TEST_EQUAL( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V15, @@ -41,6 +60,32 @@ void rsa_invalid_param( ) MBEDTLS_ERR_RSA_INVALID_PADDING ); #endif +#if defined(MBEDTLS_PKCS1_V15) + TEST_EQUAL( mbedtls_rsa_rsassa_pkcs1_v15_sign(&ctx, NULL, + NULL, MBEDTLS_MD_NONE, + buf_len, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pkcs1_v15_sign(&ctx, NULL, + NULL, MBEDTLS_MD_SHA256, + 0, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pkcs1_v15_verify(&ctx, MBEDTLS_MD_NONE, + buf_len, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pkcs1_v15_verify(&ctx, MBEDTLS_MD_SHA256, + 0, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + +#endif + #if !defined(MBEDTLS_PKCS1_V21) TEST_EQUAL( mbedtls_rsa_set_padding( &ctx, MBEDTLS_RSA_PKCS_V21, @@ -48,6 +93,42 @@ void rsa_invalid_param( ) MBEDTLS_ERR_RSA_INVALID_PADDING ); #endif +#if defined(MBEDTLS_PKCS1_V21) + TEST_EQUAL( mbedtls_rsa_rsassa_pss_sign_ext(&ctx, NULL, NULL, + MBEDTLS_MD_NONE, buf_len, + NULL, buf_len, + buf ), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pss_sign_ext(&ctx, NULL, NULL, + MBEDTLS_MD_SHA256, 0, + NULL, buf_len, + buf ), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pss_verify_ext(&ctx, MBEDTLS_MD_NONE, + buf_len, NULL, + MBEDTLS_MD_NONE, + buf_len, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pss_verify_ext(&ctx, MBEDTLS_MD_SHA256, + 0, NULL, + MBEDTLS_MD_NONE, + buf_len, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pss_verify(&ctx, MBEDTLS_MD_NONE, + buf_len, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); + + TEST_EQUAL( mbedtls_rsa_rsassa_pss_verify(&ctx, MBEDTLS_MD_SHA256, + 0, + NULL, buf), + MBEDTLS_ERR_RSA_BAD_INPUT_DATA ); +#endif + exit: mbedtls_rsa_free( &ctx ); } @@ -78,13 +159,10 @@ void rsa_init_free( int reinit ) /* BEGIN_CASE */ void mbedtls_rsa_pkcs1_sign( data_t * message_str, int padding_mode, - int digest, int mod, int radix_P, char * input_P, - int radix_Q, char * input_Q, int radix_N, - char * input_N, int radix_E, char * input_E, + int digest, int mod, char * input_P, + char * input_Q, char * input_N, char * input_E, data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); unsigned char output[256]; mbedtls_rsa_context ctx; mbedtls_mpi N, P, Q, E; @@ -96,26 +174,22 @@ void mbedtls_rsa_pkcs1_sign( data_t * message_str, int padding_mode, TEST_ASSERT( mbedtls_rsa_set_padding( &ctx,padding_mode, MBEDTLS_MD_NONE ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); memset( output, 0x00, sizeof( output ) ); memset( &rnd_info, 0, sizeof( mbedtls_test_rnd_pseudo_info ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); TEST_ASSERT( mbedtls_rsa_complete( &ctx ) == 0 ); TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 ); - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - TEST_ASSERT( mbedtls_rsa_pkcs1_sign( &ctx, &mbedtls_test_rnd_pseudo_rand, &rnd_info, - digest, mbedtls_md_get_size( md_info ), hash_result, + digest, message_str->len, message_str->x, output ) == result ); if( result == 0 ) { @@ -133,12 +207,10 @@ exit: /* BEGIN_CASE */ void mbedtls_rsa_pkcs1_verify( data_t * message_str, int padding_mode, - int digest, int mod, int radix_N, - char * input_N, int radix_E, char * input_E, + int digest, int mod, + char * input_N, char * input_E, data_t * result_str, int result ) { - unsigned char hash_result[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( digest ); mbedtls_rsa_context ctx; mbedtls_mpi N, E; @@ -146,18 +218,14 @@ void mbedtls_rsa_pkcs1_verify( data_t * message_str, int padding_mode, mbedtls_rsa_init( &ctx ); TEST_ASSERT( mbedtls_rsa_set_padding( &ctx, padding_mode, MBEDTLS_MD_NONE ) == 0 ); - memset( hash_result, 0x00, sizeof( hash_result ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); TEST_ASSERT( mbedtls_rsa_check_pubkey( &ctx ) == 0 ); - if( md_info != NULL ) - TEST_ASSERT( mbedtls_md( md_info, message_str->x, message_str->len, hash_result ) == 0 ); - - TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, mbedtls_md_get_size( md_info ), hash_result, result_str->x ) == result ); + TEST_ASSERT( mbedtls_rsa_pkcs1_verify( &ctx, digest, message_str->len, message_str->x, result_str->x ) == result ); exit: mbedtls_mpi_free( &N ); mbedtls_mpi_free( &E ); @@ -168,10 +236,10 @@ exit: /* BEGIN_CASE */ void rsa_pkcs1_sign_raw( data_t * hash_result, - int padding_mode, int mod, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, data_t * result_str ) + int padding_mode, int mod, + char * input_P, char * input_Q, + char * input_N, char * input_E, + data_t * result_str ) { unsigned char output[256]; mbedtls_rsa_context ctx; @@ -188,10 +256,10 @@ void rsa_pkcs1_sign_raw( data_t * hash_result, memset( output, 0x00, sizeof( output ) ); memset( &rnd_info, 0, sizeof( mbedtls_test_rnd_pseudo_info ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); @@ -218,8 +286,8 @@ exit: /* BEGIN_CASE */ void rsa_pkcs1_verify_raw( data_t * hash_result, - int padding_mode, int mod, int radix_N, - char * input_N, int radix_E, char * input_E, + int padding_mode, int mod, + char * input_N, char * input_E, data_t * result_str, int correct ) { unsigned char output[256]; @@ -233,8 +301,8 @@ void rsa_pkcs1_verify_raw( data_t * hash_result, MBEDTLS_MD_NONE ) == 0 ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); @@ -251,8 +319,7 @@ exit: /* BEGIN_CASE */ void mbedtls_rsa_pkcs1_encrypt( data_t * message_str, int padding_mode, - int mod, int radix_N, char * input_N, - int radix_E, char * input_E, + int mod, char * input_N, char * input_E, data_t * result_str, int result ) { unsigned char output[256]; @@ -269,8 +336,8 @@ void mbedtls_rsa_pkcs1_encrypt( data_t * message_str, int padding_mode, MBEDTLS_MD_NONE ) == 0 ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); @@ -297,8 +364,7 @@ exit: /* BEGIN_CASE */ void rsa_pkcs1_encrypt_bad_rng( data_t * message_str, int padding_mode, - int mod, int radix_N, char * input_N, - int radix_E, char * input_E, + int mod, char * input_N, char * input_E, data_t * result_str, int result ) { unsigned char output[256]; @@ -312,8 +378,8 @@ void rsa_pkcs1_encrypt_bad_rng( data_t * message_str, int padding_mode, MBEDTLS_MD_NONE ) == 0 ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); @@ -339,11 +405,10 @@ exit: /* BEGIN_CASE */ void mbedtls_rsa_pkcs1_decrypt( data_t * message_str, int padding_mode, - int mod, int radix_P, char * input_P, - int radix_Q, char * input_Q, int radix_N, - char * input_N, int radix_E, char * input_E, - int max_output, data_t * result_str, - int result ) + int mod, char * input_P, + char * input_Q, char * input_N, + char * input_E, int max_output, + data_t * result_str, int result ) { unsigned char output[32]; mbedtls_rsa_context ctx; @@ -362,10 +427,10 @@ void mbedtls_rsa_pkcs1_decrypt( data_t * message_str, int padding_mode, memset( &rnd_info, 0, sizeof( mbedtls_test_rnd_pseudo_info ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( mod / 8 ) ); @@ -394,8 +459,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_public( data_t * message_str, int mod, int radix_N, - char * input_N, int radix_E, char * input_E, +void mbedtls_rsa_public( data_t * message_str, int mod, + char * input_N, char * input_E, data_t * result_str, int result ) { unsigned char output[256]; @@ -408,8 +473,8 @@ void mbedtls_rsa_public( data_t * message_str, int mod, int radix_N, mbedtls_rsa_init( &ctx2 ); memset( output, 0x00, sizeof( output ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); @@ -450,11 +515,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_private( data_t * message_str, int mod, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, data_t * result_str, - int result ) +void mbedtls_rsa_private( data_t * message_str, int mod, + char * input_P, char * input_Q, + char * input_N, char * input_E, + data_t * result_str, int result ) { unsigned char output[256]; mbedtls_rsa_context ctx, ctx2; /* Also test mbedtls_rsa_copy() while at it */ @@ -469,10 +533,10 @@ void mbedtls_rsa_private( data_t * message_str, int mod, int radix_P, memset( &rnd_info, 0, sizeof( mbedtls_test_rnd_pseudo_info ) ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 ); @@ -536,8 +600,7 @@ void rsa_check_privkey_null( ) /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_check_pubkey( int radix_N, char * input_N, int radix_E, - char * input_E, int result ) +void mbedtls_rsa_check_pubkey( char * input_N, char * input_E, int result ) { mbedtls_rsa_context ctx; mbedtls_mpi N, E; @@ -547,11 +610,11 @@ void mbedtls_rsa_check_pubkey( int radix_N, char * input_N, int radix_E, if( strlen( input_N ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); } if( strlen( input_E ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); } TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, NULL, NULL, NULL, &E ) == 0 ); @@ -564,13 +627,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_check_privkey( int mod, int radix_P, char * input_P, - int radix_Q, char * input_Q, int radix_N, - char * input_N, int radix_E, char * input_E, - int radix_D, char * input_D, int radix_DP, - char * input_DP, int radix_DQ, - char * input_DQ, int radix_QP, - char * input_QP, int result ) +void mbedtls_rsa_check_privkey( int mod, char * input_P, char * input_Q, + char * input_N, char * input_E, char * input_D, + char * input_DP, char * input_DQ, char * input_QP, + int result ) { mbedtls_rsa_context ctx; @@ -579,41 +639,41 @@ void mbedtls_rsa_check_privkey( int mod, int radix_P, char * input_P, ctx.len = mod / 8; if( strlen( input_P ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.P, radix_P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.P, input_P ) == 0 ); } if( strlen( input_Q ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.Q, input_Q ) == 0 ); } if( strlen( input_N ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.N, input_N ) == 0 ); } if( strlen( input_E ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.E, input_E ) == 0 ); } if( strlen( input_D ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.D, radix_D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.D, input_D ) == 0 ); } #if !defined(MBEDTLS_RSA_NO_CRT) if( strlen( input_DP ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.DP, radix_DP, input_DP ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.DP, input_DP ) == 0 ); } if( strlen( input_DQ ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.DQ, radix_DQ, input_DQ ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.DQ, input_DQ ) == 0 ); } if( strlen( input_QP ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &ctx.QP, radix_QP, input_QP ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &ctx.QP, input_QP ) == 0 ); } #else - ((void) radix_DP); ((void) input_DP); - ((void) radix_DQ); ((void) input_DQ); - ((void) radix_QP); ((void) input_QP); + ((void) input_DP); + ((void) input_DQ); + ((void) input_QP); #endif TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == result ); @@ -624,14 +684,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void rsa_check_pubpriv( int mod, int radix_Npub, char * input_Npub, - int radix_Epub, char * input_Epub, int radix_P, - char * input_P, int radix_Q, char * input_Q, - int radix_N, char * input_N, int radix_E, - char * input_E, int radix_D, char * input_D, - int radix_DP, char * input_DP, int radix_DQ, - char * input_DQ, int radix_QP, char * input_QP, - int result ) +void rsa_check_pubpriv( int mod, char * input_Npub, char * input_Epub, + char * input_P, char * input_Q, char * input_N, + char * input_E, char * input_D, char * input_DP, + char * input_DQ, char * input_QP, int result ) { mbedtls_rsa_context pub, prv; @@ -643,50 +699,50 @@ void rsa_check_pubpriv( int mod, int radix_Npub, char * input_Npub, if( strlen( input_Npub ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &pub.N, radix_Npub, input_Npub ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &pub.N, input_Npub ) == 0 ); } if( strlen( input_Epub ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &pub.E, radix_Epub, input_Epub ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &pub.E, input_Epub ) == 0 ); } if( strlen( input_P ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.P, radix_P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.P, input_P ) == 0 ); } if( strlen( input_Q ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.Q, input_Q ) == 0 ); } if( strlen( input_N ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.N, input_N ) == 0 ); } if( strlen( input_E ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.E, input_E ) == 0 ); } if( strlen( input_D ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.D, radix_D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.D, input_D ) == 0 ); } #if !defined(MBEDTLS_RSA_NO_CRT) if( strlen( input_DP ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.DP, radix_DP, input_DP ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.DP, input_DP ) == 0 ); } if( strlen( input_DQ ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.DQ, radix_DQ, input_DQ ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.DQ, input_DQ ) == 0 ); } if( strlen( input_QP ) ) { - TEST_ASSERT( mbedtls_test_read_mpi( &prv.QP, radix_QP, input_QP ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &prv.QP, input_QP ) == 0 ); } #else - ((void) radix_DP); ((void) input_DP); - ((void) radix_DQ); ((void) input_DQ); - ((void) radix_QP); ((void) input_QP); + ((void) input_DP); + ((void) input_DQ); + ((void) input_QP); #endif TEST_ASSERT( mbedtls_rsa_check_pub_priv( &pub, &prv ) == result ); @@ -697,23 +753,15 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_CTR_DRBG_C:MBEDTLS_ENTROPY_C:ENTROPY_HAVE_STRONG */ +/* BEGIN_CASE */ void mbedtls_rsa_gen_key( int nrbits, int exponent, int result) { mbedtls_rsa_context ctx; - mbedtls_entropy_context entropy; - mbedtls_ctr_drbg_context ctr_drbg; - const char *pers = "test_suite_rsa"; - - mbedtls_ctr_drbg_init( &ctr_drbg ); - mbedtls_entropy_init( &entropy ); mbedtls_rsa_init ( &ctx ); - TEST_ASSERT( mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, - &entropy, (const unsigned char *) pers, - strlen( pers ) ) == 0 ); - - TEST_ASSERT( mbedtls_rsa_gen_key( &ctx, mbedtls_ctr_drbg_random, &ctr_drbg, nrbits, exponent ) == result ); + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ + TEST_ASSERT( mbedtls_rsa_gen_key( &ctx, mbedtls_test_rnd_std_rand, NULL, nrbits, exponent ) == result ); if( result == 0 ) { TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 ); @@ -722,17 +770,15 @@ void mbedtls_rsa_gen_key( int nrbits, int exponent, int result) exit: mbedtls_rsa_free( &ctx ); - mbedtls_ctr_drbg_free( &ctr_drbg ); - mbedtls_entropy_free( &entropy ); } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_CTR_DRBG_C:MBEDTLS_ENTROPY_C */ -void mbedtls_rsa_deduce_primes( int radix_N, char *input_N, - int radix_D, char *input_D, - int radix_E, char *input_E, - int radix_P, char *output_P, - int radix_Q, char *output_Q, +/* BEGIN_CASE */ +void mbedtls_rsa_deduce_primes( char *input_N, + char *input_D, + char *input_E, + char *output_P, + char *output_Q, int corrupt, int result ) { mbedtls_mpi N, P, Pp, Q, Qp, D, E; @@ -742,11 +788,11 @@ void mbedtls_rsa_deduce_primes( int radix_N, char *input_N, mbedtls_mpi_init( &Pp ); mbedtls_mpi_init( &Qp ); mbedtls_mpi_init( &D ); mbedtls_mpi_init( &E ); - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &D, radix_D, input_D ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Qp, radix_P, output_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Pp, radix_Q, output_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Qp, output_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Pp, output_Q ) == 0 ); if( corrupt ) TEST_ASSERT( mbedtls_mpi_add_int( &D, &D, 2 ) == 0 ); @@ -770,10 +816,10 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_deduce_private_exponent( int radix_P, char *input_P, - int radix_Q, char *input_Q, - int radix_E, char *input_E, - int radix_D, char *output_D, +void mbedtls_rsa_deduce_private_exponent( char *input_P, + char *input_Q, + char *input_E, + char *output_D, int corrupt, int result ) { mbedtls_mpi P, Q, D, Dp, E, R, Rp; @@ -783,10 +829,10 @@ void mbedtls_rsa_deduce_private_exponent( int radix_P, char *input_P, mbedtls_mpi_init( &E ); mbedtls_mpi_init( &R ); mbedtls_mpi_init( &Rp ); - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); - TEST_ASSERT( mbedtls_test_read_mpi( &Dp, radix_D, output_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Dp, output_D ) == 0 ); if( corrupt ) { @@ -828,12 +874,12 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_CTR_DRBG_C:MBEDTLS_ENTROPY_C:ENTROPY_HAVE_STRONG */ -void mbedtls_rsa_import( int radix_N, char *input_N, - int radix_P, char *input_P, - int radix_Q, char *input_Q, - int radix_D, char *input_D, - int radix_E, char *input_E, +/* BEGIN_CASE */ +void mbedtls_rsa_import( char *input_N, + char *input_P, + char *input_Q, + char *input_D, + char *input_E, int successive, int is_priv, int res_check, @@ -847,41 +893,32 @@ void mbedtls_rsa_import( int radix_N, char *input_N, unsigned char *buf_enc = NULL; unsigned char *buf_dec = NULL; - mbedtls_entropy_context entropy; - mbedtls_ctr_drbg_context ctr_drbg; - const char *pers = "test_suite_rsa"; - const int have_N = ( strlen( input_N ) > 0 ); const int have_P = ( strlen( input_P ) > 0 ); const int have_Q = ( strlen( input_Q ) > 0 ); const int have_D = ( strlen( input_D ) > 0 ); const int have_E = ( strlen( input_E ) > 0 ); - mbedtls_ctr_drbg_init( &ctr_drbg ); - mbedtls_entropy_init( &entropy ); mbedtls_rsa_init( &ctx ); mbedtls_mpi_init( &N ); mbedtls_mpi_init( &P ); mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &D ); mbedtls_mpi_init( &E ); - TEST_ASSERT( mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, &entropy, - (const unsigned char *) pers, strlen( pers ) ) == 0 ); - if( have_N ) - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); if( have_P ) - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); if( have_Q ) - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); if( have_D ) - TEST_ASSERT( mbedtls_test_read_mpi( &D, radix_D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &D, input_D ) == 0 ); if( have_E ) - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); if( !successive ) { @@ -941,7 +978,9 @@ void mbedtls_rsa_import( int radix_N, char *input_N, if( buf_orig == NULL || buf_enc == NULL || buf_dec == NULL ) goto exit; - TEST_ASSERT( mbedtls_ctr_drbg_random( &ctr_drbg, + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ + TEST_ASSERT( mbedtls_test_rnd_std_rand( NULL, buf_orig, mbedtls_rsa_get_len( &ctx ) ) == 0 ); /* Make sure the number we're generating is smaller than the modulus */ @@ -951,8 +990,10 @@ void mbedtls_rsa_import( int radix_N, char *input_N, if( is_priv ) { - TEST_ASSERT( mbedtls_rsa_private( &ctx, mbedtls_ctr_drbg_random, - &ctr_drbg, buf_enc, + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ + TEST_ASSERT( mbedtls_rsa_private( &ctx, mbedtls_test_rnd_std_rand, + NULL, buf_enc, buf_dec ) == 0 ); TEST_ASSERT( memcmp( buf_orig, buf_dec, @@ -968,9 +1009,6 @@ exit: mbedtls_rsa_free( &ctx ); - mbedtls_ctr_drbg_free( &ctr_drbg ); - mbedtls_entropy_free( &entropy ); - mbedtls_mpi_free( &N ); mbedtls_mpi_free( &P ); mbedtls_mpi_free( &Q ); mbedtls_mpi_free( &D ); mbedtls_mpi_free( &E ); @@ -978,11 +1016,11 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void mbedtls_rsa_export( int radix_N, char *input_N, - int radix_P, char *input_P, - int radix_Q, char *input_Q, - int radix_D, char *input_D, - int radix_E, char *input_E, +void mbedtls_rsa_export( char *input_N, + char *input_P, + char *input_Q, + char *input_D, + char *input_E, int is_priv, int successive ) { @@ -1013,19 +1051,19 @@ void mbedtls_rsa_export( int radix_N, char *input_N, /* Setup RSA context */ if( have_N ) - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); if( have_P ) - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); if( have_Q ) - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); if( have_D ) - TEST_ASSERT( mbedtls_test_read_mpi( &D, radix_D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &D, input_D ) == 0 ); if( have_E ) - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); TEST_ASSERT( mbedtls_rsa_import( &ctx, strlen( input_N ) ? &N : NULL, @@ -1101,12 +1139,12 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_ENTROPY_C:ENTROPY_HAVE_STRONG:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ -void mbedtls_rsa_validate_params( int radix_N, char *input_N, - int radix_P, char *input_P, - int radix_Q, char *input_Q, - int radix_D, char *input_D, - int radix_E, char *input_E, +/* BEGIN_CASE */ +void mbedtls_rsa_validate_params( char *input_N, + char *input_P, + char *input_Q, + char *input_D, + char *input_E, int prng, int result ) { /* Original MPI's with which we set up the RSA context */ @@ -1118,54 +1156,43 @@ void mbedtls_rsa_validate_params( int radix_N, char *input_N, const int have_D = ( strlen( input_D ) > 0 ); const int have_E = ( strlen( input_E ) > 0 ); - mbedtls_entropy_context entropy; - mbedtls_ctr_drbg_context ctr_drbg; - const char *pers = "test_suite_rsa"; - mbedtls_mpi_init( &N ); mbedtls_mpi_init( &P ); mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &D ); mbedtls_mpi_init( &E ); - mbedtls_ctr_drbg_init( &ctr_drbg ); - mbedtls_entropy_init( &entropy ); - TEST_ASSERT( mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, - &entropy, (const unsigned char *) pers, - strlen( pers ) ) == 0 ); - if( have_N ) - TEST_ASSERT( mbedtls_test_read_mpi( &N, radix_N, input_N ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &N, input_N ) == 0 ); if( have_P ) - TEST_ASSERT( mbedtls_test_read_mpi( &P, radix_P, input_P ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &P, input_P ) == 0 ); if( have_Q ) - TEST_ASSERT( mbedtls_test_read_mpi( &Q, radix_Q, input_Q ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &Q, input_Q ) == 0 ); if( have_D ) - TEST_ASSERT( mbedtls_test_read_mpi( &D, radix_D, input_D ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &D, input_D ) == 0 ); if( have_E ) - TEST_ASSERT( mbedtls_test_read_mpi( &E, radix_E, input_E ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &E, input_E ) == 0 ); + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ TEST_ASSERT( mbedtls_rsa_validate_params( have_N ? &N : NULL, have_P ? &P : NULL, have_Q ? &Q : NULL, have_D ? &D : NULL, have_E ? &E : NULL, - prng ? mbedtls_ctr_drbg_random : NULL, - prng ? &ctr_drbg : NULL ) == result ); -exit: - - mbedtls_ctr_drbg_free( &ctr_drbg ); - mbedtls_entropy_free( &entropy ); + prng ? mbedtls_test_rnd_std_rand : NULL, + prng ? NULL : NULL ) == result ); +exit: mbedtls_mpi_free( &N ); mbedtls_mpi_free( &P ); mbedtls_mpi_free( &Q ); mbedtls_mpi_free( &D ); mbedtls_mpi_free( &E ); } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_CTR_DRBG_C:MBEDTLS_ENTROPY_C */ +/* BEGIN_CASE */ void mbedtls_rsa_export_raw( data_t *input_N, data_t *input_P, data_t *input_Q, data_t *input_D, data_t *input_E, int is_priv, @@ -1260,7 +1287,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_CTR_DRBG_C:MBEDTLS_ENTROPY_C:ENTROPY_HAVE_STRONG */ +/* BEGIN_CASE */ void mbedtls_rsa_import_raw( data_t *input_N, data_t *input_P, data_t *input_Q, data_t *input_D, data_t *input_E, @@ -1275,19 +1302,9 @@ void mbedtls_rsa_import_raw( data_t *input_N, unsigned char *buf_dec = NULL; mbedtls_rsa_context ctx; - mbedtls_entropy_context entropy; - mbedtls_ctr_drbg_context ctr_drbg; - const char *pers = "test_suite_rsa"; - - mbedtls_ctr_drbg_init( &ctr_drbg ); - mbedtls_entropy_init( &entropy ); mbedtls_rsa_init( &ctx ); - TEST_ASSERT( mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, - &entropy, (const unsigned char *) pers, - strlen( pers ) ) == 0 ); - if( !successive ) { TEST_ASSERT( mbedtls_rsa_import_raw( &ctx, @@ -1346,7 +1363,9 @@ void mbedtls_rsa_import_raw( data_t *input_N, if( buf_orig == NULL || buf_enc == NULL || buf_dec == NULL ) goto exit; - TEST_ASSERT( mbedtls_ctr_drbg_random( &ctr_drbg, + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ + TEST_ASSERT( mbedtls_test_rnd_std_rand( NULL, buf_orig, mbedtls_rsa_get_len( &ctx ) ) == 0 ); /* Make sure the number we're generating is smaller than the modulus */ @@ -1356,8 +1375,10 @@ void mbedtls_rsa_import_raw( data_t *input_N, if( is_priv ) { - TEST_ASSERT( mbedtls_rsa_private( &ctx, mbedtls_ctr_drbg_random, - &ctr_drbg, buf_enc, + /* This test uses an insecure RNG, suitable only for testing. + * In production, always use a cryptographically strong RNG! */ + TEST_ASSERT( mbedtls_rsa_private( &ctx, mbedtls_test_rnd_std_rand, + NULL, buf_enc, buf_dec ) == 0 ); TEST_ASSERT( memcmp( buf_orig, buf_dec, @@ -1372,10 +1393,6 @@ exit: mbedtls_free( buf_dec ); mbedtls_rsa_free( &ctx ); - - mbedtls_ctr_drbg_free( &ctr_drbg ); - mbedtls_entropy_free( &entropy ); - } /* END_CASE */ diff --git a/tests/suites/test_suite_shax.function b/tests/suites/test_suite_shax.function index 95d45baa40..aebfd84a82 100644 --- a/tests/suites/test_suite_shax.function +++ b/tests/suites/test_suite_shax.function @@ -18,13 +18,12 @@ void mbedtls_sha1( data_t * src_str, data_t * hash ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C:NOT_DEFINED */ +/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ void sha256_invalid_param( ) { mbedtls_sha256_context ctx; unsigned char buf[64] = { 0 }; size_t const buflen = sizeof( buf ); - int valid_type = 0; int invalid_type = 42; TEST_EQUAL( MBEDTLS_ERR_SHA256_BAD_INPUT_DATA, @@ -67,13 +66,12 @@ void mbedtls_sha256( data_t * src_str, data_t * hash ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA512_C:NOT_DEFINED */ +/* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */ void sha512_invalid_param( ) { mbedtls_sha512_context ctx; unsigned char buf[64] = { 0 }; size_t const buflen = sizeof( buf ); - int valid_type = 0; int invalid_type = 42; TEST_EQUAL( MBEDTLS_ERR_SHA512_BAD_INPUT_DATA, diff --git a/tests/suites/test_suite_ssl.data b/tests/suites/test_suite_ssl.data index 19a1ae6f00..a7f050131b 100644 --- a/tests/suites/test_suite_ssl.data +++ b/tests/suites/test_suite_ssl.data @@ -121,6 +121,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_KEY_EXCHANGE:1 Test moving clients handshake to state: CERTIFICATE_REQUEST +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CERTIFICATE_REQUEST:1 Test moving clients handshake to state: SERVER_HELLO_DONE @@ -128,6 +129,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_HELLO_DONE:1 Test moving clients handshake to state: CLIENT_CERTIFICATE +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CERTIFICATE:1 Test moving clients handshake to state: CLIENT_KEY_EXCHANGE @@ -135,6 +137,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_KEY_EXCHANGE:1 Test moving clients handshake to state: CERTIFICATE_VERIFY +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CERTIFICATE_VERIFY:1 Test moving clients handshake to state: CLIENT_CHANGE_CIPHER_SPEC @@ -142,6 +145,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC:1 Test moving clients handshake to state: CLIENT_FINISHED +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_FINISHED:1 Test moving clients handshake to state: SERVER_CHANGE_CIPHER_SPEC @@ -149,15 +153,19 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC:1 Test moving clients handshake to state: SERVER_FINISHED +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_FINISHED:1 Test moving clients handshake to state: FLUSH_BUFFERS +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_FLUSH_BUFFERS:1 Test moving clients handshake to state: HANDSHAKE_WRAPUP +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_HANDSHAKE_WRAPUP:1 Test moving clients handshake to state: HANDSHAKE_OVER +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_HANDSHAKE_OVER:1 Test moving servers handshake to state: HELLO_REQUEST @@ -177,6 +185,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_KEY_EXCHANGE:1 Test moving servers handshake to state: CERTIFICATE_REQUEST +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CERTIFICATE_REQUEST:1 Test moving servers handshake to state: SERVER_HELLO_DONE @@ -184,6 +193,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_HELLO_DONE:1 Test moving servers handshake to state: CLIENT_CERTIFICATE +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CERTIFICATE:1 Test moving servers handshake to state: CLIENT_KEY_EXCHANGE @@ -191,6 +201,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_KEY_EXCHANGE:1 Test moving servers handshake to state: CERTIFICATE_VERIFY +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CERTIFICATE_VERIFY:1 Test moving servers handshake to state: CLIENT_CHANGE_CIPHER_SPEC @@ -198,6 +209,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC:1 Test moving servers handshake to state: CLIENT_FINISHED +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_FINISHED:1 Test moving servers handshake to state: SERVER_CHANGE_CIPHER_SPEC @@ -205,6 +217,7 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC:1 Test moving servers handshake to state: SERVER_FINISHED +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_FINISHED:1 Test moving servers handshake to state: FLUSH_BUFFERS @@ -212,9 +225,11 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_FLUSH_BUFFERS:1 Test moving servers handshake to state: HANDSHAKE_WRAPUP +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_HANDSHAKE_WRAPUP:1 Test moving servers handshake to state: HANDSHAKE_OVER +depends_on:MBEDTLS_SSL_PROTO_TLS1_2 move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_HANDSHAKE_OVER:1 Negative test moving clients ssl to state: VERIFY_REQUEST_SENT @@ -223,7 +238,7 @@ move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_HELLO_VERIFY_RE Negative test moving servers ssl to state: NEW_SESSION_TICKET depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET:0 +move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_NEW_SESSION_TICKET:0 TLS 1.3:Test moving clients handshake to state: ENCRYPTED_EXTENSIONS depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2 @@ -246,31 +261,31 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 handshake_version:0:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2 Handshake, tls1_3 -depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2 +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED handshake_version:0:MBEDTLS_SSL_VERSION_TLS1_3:MBEDTLS_SSL_VERSION_TLS1_3:MBEDTLS_SSL_VERSION_TLS1_3:MBEDTLS_SSL_VERSION_TLS1_3:MBEDTLS_SSL_VERSION_TLS1_3 Handshake, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED handshake_cipher:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:0 Handshake, RSA-WITH-AES-128-CCM -depends_on:MBEDTLS_CCM_C:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_CCM_C:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED handshake_cipher:"TLS-RSA-WITH-AES-128-CCM":MBEDTLS_PK_RSA:0 Handshake, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED handshake_cipher:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:0 Handshake, ECDHE-ECDSA-WITH-AES-256-CCM -depends_on:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED handshake_cipher:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:0 Handshake, ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED handshake_cipher:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:0 Handshake, PSK-WITH-AES-128-CBC-SHA -depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_KEY_EXCHANGE_PSK_ENABLED handshake_psk_cipher:"TLS-PSK-WITH-AES-128-CBC-SHA":MBEDTLS_PK_RSA:"abc123":0 DTLS Handshake, tls1_2 @@ -278,27 +293,27 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_PROTO_DTLS handshake_version:1:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2 DTLS Handshake, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_SSL_PROTO_DTLS +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_SSL_PROTO_DTLS handshake_cipher:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:1 DTLS Handshake, RSA-WITH-AES-128-CCM -depends_on:MBEDTLS_CCM_C:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS +depends_on:MBEDTLS_CCM_C:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED handshake_cipher:"TLS-RSA-WITH-AES-128-CCM":MBEDTLS_PK_RSA:1 DTLS Handshake, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED handshake_cipher:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:1 DTLS Handshake, ECDHE-ECDSA-WITH-AES-256-CCM -depends_on:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS +depends_on:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED handshake_cipher:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:1 DTLS Handshake, ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_DTLS +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED handshake_cipher:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:1 DTLS Handshake, PSK-WITH-AES-128-CBC-SHA -depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_KEY_EXCHANGE_PSK_ENABLED handshake_psk_cipher:"TLS-PSK-WITH-AES-128-CBC-SHA":MBEDTLS_PK_RSA:"abc123":1 DTLS Handshake with serialization, tls1_2 @@ -318,143 +333,143 @@ depends_on:MBEDTLS_SSL_PROTO_TLS1_2 handshake_version:0:MBEDTLS_SSL_VERSION_UNKNOWN:MBEDTLS_SSL_VERSION_UNKNOWN:MBEDTLS_SSL_VERSION_UNKNOWN:MBEDTLS_SSL_VERSION_UNKNOWN:MBEDTLS_SSL_VERSION_TLS1_2 Handshake, select RSA-WITH-AES-256-CBC-SHA256, non-opaque -depends_on:MBEDTLS_SHA256_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED handshake_ciphersuite_select:"TLS-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 Handshake, select RSA-WITH-AES-256-CBC-SHA256, opaque -depends_on:MBEDTLS_SHA256_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:0:MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 Handshake, select RSA-WITH-AES-256-CBC-SHA256, opaque, bad alg -depends_on:MBEDTLS_SHA256_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select RSA-WITH-AES-256-CBC-SHA256, opaque, bad usage -depends_on:MBEDTLS_SHA256_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-WITH-AES-256-CBC-SHA256":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select RSA-PSK-WITH-AES-256-CBC-SHA384, non-opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED handshake_ciphersuite_select:"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_RSA:"abc123":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 Handshake, select RSA-PSK-WITH-AES-256-CBC-SHA384, opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_RSA:"abc123":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:0:MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 Handshake, select RSA-PSK-WITH-AES-256-CBC-SHA384, opaque, bad alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_RSA:"abc123":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select RSA-PSK-WITH-AES-256-CBC-SHA384, opaque, bad usage -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_RSA:"abc123":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select RSA-PSK-WITH-AES-256-CBC-SHA384, opaque, no psk -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, non-opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, opaque, PSA_ALG_ANY_HASH -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, opaque, PSA_ALG_SHA_384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_384):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, opaque, invalid alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, opaque, bad alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_CRYPT:PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select DHE-RSA-WITH-AES-256-GCM-SHA384, opaque, bad usage -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, non-opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, opaque, PSA_ALG_ANY_HASH -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, opaque, PSA_ALG_SHA_384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_384):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, opaque, invalid alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, opaque, bad alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PSS(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDHE-RSA-WITH-AES-256-GCM-SHA384, opaque, bad usage -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384":MBEDTLS_PK_RSA:"":PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDHE-ECDSA-WITH-AES-256-CCM, non-opaque -depends_on:MBEDTLS_SHA256_C:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED handshake_ciphersuite_select:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM Handshake, select ECDHE-ECDSA-WITH-AES-256-CCM, opaque, PSA_ALG_ANY_HASH -depends_on:MBEDTLS_SHA256_C:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM Handshake, select ECDHE-ECDSA-WITH-AES-256-CCM, opaque, PSA_ALG_SHA_256 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_SHA_256):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:0:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM Handshake, select ECDHE-ECDSA-WITH-AES-256-CCM, opaque, bad alg -depends_on:MBEDTLS_SHA256_C:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDH:PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDHE-ECDSA-WITH-AES-256-CCM, opaque, bad usage -depends_on:MBEDTLS_SHA256_C:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_CCM_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDHE-ECDSA-WITH-AES-256-CCM":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDH-RSA-WITH-AES-256-CBC-SHA384, non-opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED handshake_ciphersuite_select:"TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Handshake, select ECDH-RSA-WITH-AES-256-CBC-SHA384, opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDH:PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:0:MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 Handshake, select ECDH-RSA-WITH-AES-256-CBC-SHA384, opaque, bad alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDH-RSA-WITH-AES-256-CBC-SHA384, opaque, bad usage -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDH:PSA_ALG_NONE:PSA_KEY_USAGE_DECRYPT:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384, non-opaque -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED handshake_ciphersuite_select:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_NONE:PSA_ALG_NONE:0:0:MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Handshake, select ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384, opaque, PSA_ALG_ANY_HASH -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_ECDH:PSA_KEY_USAGE_SIGN_HASH|PSA_KEY_USAGE_DERIVE:0:MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Handshake, select ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384, opaque, PSA_ALG_SHA_384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_SHA_384):PSA_ALG_ECDH:PSA_KEY_USAGE_SIGN_HASH|PSA_KEY_USAGE_DERIVE:0:MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 Handshake, select ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384, opaque, missing alg -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_NONE:PSA_KEY_USAGE_SIGN_HASH|PSA_KEY_USAGE_DERIVE:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Handshake, select ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384, opaque, missing usage -depends_on:MBEDTLS_SHA384_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ECDSA_C:MBEDTLS_ECDH_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CAMELLIA_C:MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED:MBEDTLS_USE_PSA_CRYPTO handshake_ciphersuite_select:"TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384":MBEDTLS_PK_ECDSA:"":PSA_ALG_ECDSA(PSA_ALG_ANY_HASH):PSA_ALG_ECDH:PSA_KEY_USAGE_SIGN_HASH:MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE:0 Sending app data via TLS, MFL=512 without fragmentation @@ -591,51 +606,51 @@ DTLS legacy break handshake renegotiation with MFL=4096 resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"" DTLS no legacy renegotiation with MFL=512, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS no legacy renegotiation with MFL=1024, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS no legacy renegotiation with MFL=2048, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS no legacy renegotiation with MFL=4096, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy allow renegotiation with MFL=512, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy allow renegotiation with MFL=1024, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy allow renegotiation with MFL=2048, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy allow renegotiation with MFL=4096, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy break handshake renegotiation with MFL=512, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy break handshake renegotiation with MFL=1024, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy break handshake renegotiation with MFL=2048, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS legacy break handshake renegotiation with MFL=4096, ECDHE-RSA-WITH-AES-256-GCM-SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_AES_C:MBEDTLS_GCM_C:MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384" DTLS no legacy renegotiation with MFL=512, RSA-WITH-AES-128-CCM @@ -687,51 +702,51 @@ depends_on:MBEDTLS_CCM_C:MBEDTLS_AES_C resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-RSA-WITH-AES-128-CCM" DTLS no legacy renegotiation with MFL=512, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS no legacy renegotiation with MFL=1024, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS no legacy renegotiation with MFL=2048, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS no legacy renegotiation with MFL=4096, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy allow renegotiation with MFL=512, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy allow renegotiation with MFL=1024, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy allow renegotiation with MFL=2048, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy allow renegotiation with MFL=4096, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy break handshake renegotiation with MFL=512, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_512:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy break handshake renegotiation with MFL=1024, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_1024:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy break handshake renegotiation with MFL=2048, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_2048:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" DTLS legacy break handshake renegotiation with MFL=4096, DHE-RSA-WITH-AES-256-CBC-SHA256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA resize_buffers_renegotiate_mfl:MBEDTLS_SSL_MAX_FRAG_LEN_4096:MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE:"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256" SSL DTLS replay: initial state, seqnum 0 @@ -796,594 +811,626 @@ ssl_set_hostname_twice:"server0":"server1" SSL session serialization: Wrong major version depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_session_serialize_version_check:1:0:0:0 +ssl_session_serialize_version_check:1:0:0:0:0:MBEDTLS_SSL_VERSION_TLS1_2 SSL session serialization: Wrong minor version depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_session_serialize_version_check:0:1:0:0 +ssl_session_serialize_version_check:0:1:0:0:0:MBEDTLS_SSL_VERSION_TLS1_2 SSL session serialization: Wrong patch version depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_session_serialize_version_check:0:0:1:0 +ssl_session_serialize_version_check:0:0:1:0:0:MBEDTLS_SSL_VERSION_TLS1_2 SSL session serialization: Wrong config depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_session_serialize_version_check:0:0:0:1 +ssl_session_serialize_version_check:0:0:0:1:0:MBEDTLS_SSL_VERSION_TLS1_2 + +TLS 1.3: CLI: session serialization: Wrong major version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_CLI_C +ssl_session_serialize_version_check:1:0:0:0:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: session serialization: Wrong minor version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_CLI_C +ssl_session_serialize_version_check:0:1:0:0:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: session serialization: Wrong patch version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_CLI_C +ssl_session_serialize_version_check:0:0:1:0:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: session serialization: Wrong config +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_CLI_C +ssl_session_serialize_version_check:0:0:0:1:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: session serialization: Wrong major version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SRV_C +ssl_session_serialize_version_check:1:0:0:0:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: session serialization: Wrong minor version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SRV_C +ssl_session_serialize_version_check:0:1:0:0:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: session serialization: Wrong patch version +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SRV_C +ssl_session_serialize_version_check:0:0:1:0:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: session serialization: Wrong config +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SRV_C +ssl_session_serialize_version_check:0:0:0:1:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 Record crypt, AES-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, AES-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, AES-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, ARIA-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ARIA-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, ARIA-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, CAMELLIA-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, CAMELLIA-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, CAMELLIA-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, AES-128-GCM, 1.2 @@ -1627,35 +1674,35 @@ depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_T ssl_crypt_record:MBEDTLS_CIPHER_CAMELLIA_256_CCM:MBEDTLS_MD_MD5:0:1:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, NULL cipher, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, NULL cipher, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, ChachaPoly @@ -1683,579 +1730,579 @@ depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CHACHAPOLY_C:MBEDTLS_SSL_PROTO ssl_crypt_record_small:MBEDTLS_CIPHER_CHACHA20_POLY1305:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, AES-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, AES-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_AES_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_AES_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, ARIA-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, ARIA-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, ARIA-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ARIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_ARIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-128-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-384, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-256, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, SHA-1, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5, EtM, CID 4+4 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:4 Record crypt, little space, CAMELLIA-256-CBC, 1.2, MD5, EtM, CID 4+0 -depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CBC:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, AES-128-GCM, 1.2 @@ -2499,419 +2546,419 @@ depends_on:MBEDTLS_SSL_DTLS_CONNECTION_ID:MBEDTLS_CAMELLIA_C:MBEDTLS_SSL_PROTO_T ssl_crypt_record_small:MBEDTLS_CIPHER_CAMELLIA_256_CCM:MBEDTLS_MD_MD5:0:1:MBEDTLS_SSL_VERSION_TLS1_2:4:0 Record crypt, little space, NULL cipher, 1.2, SHA-384 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA384:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, SHA-384, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA384_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA384:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, SHA-256 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA256:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, SHA-256, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA256_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA256:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, SHA-1 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA1:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, SHA-1, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SHA1_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_SHA1:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, MD5 -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_MD5:0:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Record crypt, little space, NULL cipher, 1.2, MD5, EtM -depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_MD5_C:MBEDTLS_SSL_ENCRYPT_THEN_MAC +depends_on:MBEDTLS_CIPHER_NULL_CIPHER:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_ENCRYPT_THEN_MAC ssl_crypt_record_small:MBEDTLS_CIPHER_NULL:MBEDTLS_MD_MD5:1:0:MBEDTLS_SSL_VERSION_TLS1_2:0:0 Decrypt CBC !EtM, AES MD5 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:-1 Decrypt CBC !EtM, AES MD5 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:-2 Decrypt CBC !EtM, AES MD5 !trunc, padlen=0 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:0 Decrypt CBC !EtM, AES MD5 !trunc, padlen=240 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:240 Decrypt CBC !EtM, AES MD5 !trunc, padlen=1 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:1 Decrypt CBC !EtM, AES MD5 !trunc, padlen=241 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:241 Decrypt CBC !EtM, AES MD5 !trunc, padlen=15 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:15 Decrypt CBC !EtM, AES MD5 !trunc, padlen=255 -depends_on:MBEDTLS_AES_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_MD5:0:255 Decrypt CBC !EtM, AES SHA1 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:-1 Decrypt CBC !EtM, AES SHA1 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:-2 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=0 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:0 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=240 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:240 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=1 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:1 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=241 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:241 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=15 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:15 Decrypt CBC !EtM, AES SHA1 !trunc, padlen=255 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA1:0:255 Decrypt CBC !EtM, AES SHA256 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:-1 Decrypt CBC !EtM, AES SHA256 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:-2 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=0 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:0 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=240 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:240 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=1 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:1 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=241 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:241 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=15 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:15 Decrypt CBC !EtM, AES SHA256 !trunc, padlen=255 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA256:0:255 Decrypt CBC !EtM, AES SHA384 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:-1 Decrypt CBC !EtM, AES SHA384 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:-2 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=0 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:0 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=240 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:240 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=1 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:1 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=241 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:241 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=15 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:15 Decrypt CBC !EtM, AES SHA384 !trunc, padlen=255 -depends_on:MBEDTLS_AES_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_AES_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_AES_128_CBC:MBEDTLS_MD_SHA384:0:255 Decrypt CBC !EtM, ARIA MD5 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:-1 Decrypt CBC !EtM, ARIA MD5 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:-2 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=0 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:0 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=240 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:240 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=1 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:1 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=241 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:241 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=15 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:15 Decrypt CBC !EtM, ARIA MD5 !trunc, padlen=255 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_MD5:0:255 Decrypt CBC !EtM, ARIA SHA1 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:-1 Decrypt CBC !EtM, ARIA SHA1 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:-2 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=0 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:0 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=240 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:240 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=1 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:1 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=241 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:241 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=15 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:15 Decrypt CBC !EtM, ARIA SHA1 !trunc, padlen=255 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA1:0:255 Decrypt CBC !EtM, ARIA SHA256 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:-1 Decrypt CBC !EtM, ARIA SHA256 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:-2 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=0 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:0 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=240 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:240 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=1 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:1 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=241 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:241 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=15 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:15 Decrypt CBC !EtM, ARIA SHA256 !trunc, padlen=255 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA256:0:255 Decrypt CBC !EtM, ARIA SHA384 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:-1 Decrypt CBC !EtM, ARIA SHA384 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:-2 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=0 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:0 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=240 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:240 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=1 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:1 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=241 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:241 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=15 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:15 Decrypt CBC !EtM, ARIA SHA384 !trunc, padlen=255 -depends_on:MBEDTLS_ARIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_ARIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_ARIA_128_CBC:MBEDTLS_MD_SHA384:0:255 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:-1 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:-2 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=0 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:0 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=240 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:240 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=1 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:1 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=241 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:241 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=15 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:15 Decrypt CBC !EtM, CAMELLIA MD5 !trunc, padlen=255 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_MD5:0:255 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:-1 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:-2 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=0 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:0 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=240 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:240 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=1 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:1 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=241 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:241 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=15 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:15 Decrypt CBC !EtM, CAMELLIA SHA1 !trunc, padlen=255 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA1:0:255 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:-1 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:-2 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=0 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:0 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=240 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:240 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=1 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:1 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=241 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:241 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=15 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:15 Decrypt CBC !EtM, CAMELLIA SHA256 !trunc, padlen=255 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA256:0:255 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, empty plaintext, minpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:-1 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, empty plaintext, maxpad -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:-2 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=0 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:0 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=240 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:240 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=1 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:1 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=241 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:241 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=15 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:15 Decrypt CBC !EtM, CAMELLIA SHA384 !trunc, padlen=255 -depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_CAMELLIA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_decrypt_non_etm_cbc:MBEDTLS_CIPHER_CAMELLIA_128_CBC:MBEDTLS_MD_SHA384:0:255 SSL TLS 1.3 Key schedule: Secret evolution #1 @@ -3083,7 +3130,8 @@ SSL TLS 1.3 Record Encryption, tls13.ulfheim.net Example #1 # - App data payload: 70696e67 # - Complete record: 1703030015c74061535eb12f5f25a781957874742ab7fb305dd5 # - Padding used: No (== granularity 1) -ssl_tls13_record_protection:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_CLIENT:0:1:"0b6d22c8ff68097ea871c672073773bf":"1b13dd9f8d8f17091d34b349":"49134b95328f279f0183860589ac6707":"bc4dd5f7b98acff85466261d":"70696e67":"c74061535eb12f5f25a781957874742ab7fb305dd5" +depends_on:MBEDTLS_AES_C:MBEDTLS_ECDSA_C:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +ssl_tls13_record_protection:MBEDTLS_TLS1_3_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_CLIENT:0:1:"0b6d22c8ff68097ea871c672073773bf":"1b13dd9f8d8f17091d34b349":"49134b95328f279f0183860589ac6707":"bc4dd5f7b98acff85466261d":"70696e67":"c74061535eb12f5f25a781957874742ab7fb305dd5" SSL TLS 1.3 Record Encryption, tls13.ulfheim.net Example #2 # - Server App Key: 0b6d22c8ff68097ea871c672073773bf @@ -3093,7 +3141,8 @@ SSL TLS 1.3 Record Encryption, tls13.ulfheim.net Example #2 # - App data payload: 706f6e67 # - Complete record: 1703030015370e5f168afa7fb16b663ecdfca3dbb81931a90ca7 # - Padding used: No (== granularity 1) -ssl_tls13_record_protection:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_SERVER:1:1:"0b6d22c8ff68097ea871c672073773bf":"1b13dd9f8d8f17091d34b349":"49134b95328f279f0183860589ac6707":"bc4dd5f7b98acff85466261d":"706f6e67":"370e5f168afa7fb16b663ecdfca3dbb81931a90ca7" +depends_on:MBEDTLS_AES_C:MBEDTLS_ECDSA_C:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +ssl_tls13_record_protection:MBEDTLS_TLS1_3_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_SERVER:1:1:"0b6d22c8ff68097ea871c672073773bf":"1b13dd9f8d8f17091d34b349":"49134b95328f279f0183860589ac6707":"bc4dd5f7b98acff85466261d":"706f6e67":"370e5f168afa7fb16b663ecdfca3dbb81931a90ca7" SSL TLS 1.3 Record Encryption RFC 8448 Example #1 # Application Data record sent by Client in 1-RTT example of RFC 8448, Section 3 @@ -3111,7 +3160,8 @@ SSL TLS 1.3 Record Encryption RFC 8448 Example #1 # 62 97 4e 1f 5a 62 92 a2 97 70 14 bd 1e 3d ea e6 # 3a ee bb 21 69 49 15 e4 # - Padding used: No (== granularity 1) -ssl_tls13_record_protection:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_CLIENT:0:1:"9f02283b6c9c07efc26bb9f2ac92e356":"cf782b88dd83549aadf1e984":"17422dda596ed5d9acd890e3c63f5051":"5b78923dee08579033e523d9":"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031":"a23f7054b62c94d0affafe8228ba55cbefacea42f914aa66bcab3f2b9819a8a5b46b395bd54a9a20441e2b62974e1f5a6292a2977014bd1e3deae63aeebb21694915e4" +depends_on:MBEDTLS_AES_C:MBEDTLS_ECDSA_C:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +ssl_tls13_record_protection:MBEDTLS_TLS1_3_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_CLIENT:0:1:"9f02283b6c9c07efc26bb9f2ac92e356":"cf782b88dd83549aadf1e984":"17422dda596ed5d9acd890e3c63f5051":"5b78923dee08579033e523d9":"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031":"a23f7054b62c94d0affafe8228ba55cbefacea42f914aa66bcab3f2b9819a8a5b46b395bd54a9a20441e2b62974e1f5a6292a2977014bd1e3deae63aeebb21694915e4" SSL TLS 1.3 Record Encryption RFC 8448 Example #2 # Application Data record sent by Server in 1-RTT example of RFC 8448, Section 3 @@ -3129,11 +3179,12 @@ SSL TLS 1.3 Record Encryption RFC 8448 Example #2 # fc c4 9c 4b f2 e5 f0 a2 1c 00 47 c2 ab f3 32 54 # 0d d0 32 e1 67 c2 95 5d # - Padding used: No (== granularity 1) -ssl_tls13_record_protection:MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_SERVER:1:1:"9f02283b6c9c07efc26bb9f2ac92e356":"cf782b88dd83549aadf1e984":"17422dda596ed5d9acd890e3c63f5051":"5b78923dee08579033e523d9":"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031":"2e937e11ef4ac740e538ad36005fc4a46932fc3225d05f82aa1b36e30efaf97d90e6dffc602dcb501a59a8fcc49c4bf2e5f0a21c0047c2abf332540dd032e167c2955d" +depends_on:MBEDTLS_AES_C:MBEDTLS_ECDSA_C:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED +ssl_tls13_record_protection:MBEDTLS_TLS1_3_AES_128_GCM_SHA256:MBEDTLS_SSL_IS_SERVER:1:1:"9f02283b6c9c07efc26bb9f2ac92e356":"cf782b88dd83549aadf1e984":"17422dda596ed5d9acd890e3c63f5051":"5b78923dee08579033e523d9":"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031":"2e937e11ef4ac740e538ad36005fc4a46932fc3225d05f82aa1b36e30efaf97d90e6dffc602dcb501a59a8fcc49c4bf2e5f0a21c0047c2abf332540dd032e167c2955d" SSL TLS 1.3 Key schedule: Application secrets derivation helper # Vector from RFC 8448 -depends_on:PSA_WANT_ALG_SHA_256 +depends_on:MBEDTLS_AES_C:MBEDTLS_ECDSA_C:PSA_WANT_ALG_SHA_256:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED ssl_tls13_derive_application_secrets:PSA_ALG_SHA_256:"e2d32d4ed66dd37897a0e80c84107503ce58bf8aad4cb55a5002d77ecb890ece":"b0aeffc46a2cfe33114e6fd7d51f9f04b1ca3c497dab08934a774a9d9ad7dbf3":"2abbf2b8e381d23dbebe1dd2a7d16a8bf484cb4950d23fb7fb7fa8547062d9a1":"cc21f1bf8feb7dd5fa505bd9c4b468a9984d554a993dc49e6d285598fb672691":"3fd93d4ffddc98e64b14dd107aedf8ee4add23f4510f58a4592d0b201bee56b4" SSL TLS 1.3 Key schedule: Resumption secrets derivation helper @@ -3145,151 +3196,187 @@ SSL TLS 1.3 Key schedule: PSK binder # Vector from RFC 8448 # For the resumption PSK, see Section 3, 'generate resumption secret "tls13 resumption"' # For all other data, see Section 4, 'construct a ClientHello handshake message:' -depends_on:PSA_WANT_ALG_SHA_256 +depends_on:PSA_WANT_ALG_SHA_256:MBEDTLS_ECP_DP_CURVE25519_ENABLED ssl_tls13_create_psk_binder:PSA_ALG_SHA_256:"4ecd0eb6ec3b4d87f5d6028f922ca4c5851a277fd41311c9e62d2c9492e1c4f3":MBEDTLS_SSL_TLS1_3_PSK_RESUMPTION:"63224b2e4573f2d3454ca84b9d009a04f6be9e05711a8396473aefa01e924a14":"3add4fb2d8fdf822a0ca3cf7678ef5e88dae990141c5924d57bb6fa31b9e5f9d" SSL TLS_PRF MBEDTLS_SSL_TLS_PRF_NONE ssl_tls_prf:MBEDTLS_SSL_TLS_PRF_NONE:"":"":"test tls_prf label":"":MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE SSL TLS_PRF MBEDTLS_SSL_TLS_PRF_SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_SSL_PROTO_TLS1_2 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_PROTO_TLS1_2 ssl_tls_prf:MBEDTLS_SSL_TLS_PRF_SHA384:"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"test tls_prf label":"a4206a36eef93f496611c2b7806625c3":0 SSL TLS_PRF MBEDTLS_SSL_TLS_PRF_SHA256 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_SSL_PROTO_TLS1_2 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_SSL_PROTO_TLS1_2 ssl_tls_prf:MBEDTLS_SSL_TLS_PRF_SHA256:"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"test tls_prf label":"7f9998393198a02c8d731ccc2ef90b2c":0 SSL TLS_PRF MBEDTLS_SSL_TLS_PRF_SHA384 SHA-384 not enabled -depends_on:!MBEDTLS_SHA384_C +depends_on:!MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_tls_prf:MBEDTLS_SSL_TLS_PRF_SHA384:"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"test tls_prf label":"a4206a36eef93f496611c2b7806625c3":MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE SSL TLS_PRF MBEDTLS_SSL_TLS_PRF_SHA256 SHA-256 not enabled -depends_on:!MBEDTLS_SHA256_C +depends_on:!MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA ssl_tls_prf:MBEDTLS_SSL_TLS_PRF_SHA256:"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef":"test tls_prf label":"7f9998393198a02c8d731ccc2ef90b2c":MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE Session serialization, save-load: no ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:0:"" +ssl_serialize_session_save_load:0:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save-load: small ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:42:"" +ssl_serialize_session_save_load:42:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save-load: large ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:1023:"" +ssl_serialize_session_save_load:1023:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save-load: no ticket, cert -depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:0:"data_files/server5.crt" +depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 +ssl_serialize_session_save_load:0:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save-load: small ticket, cert -depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:42:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 +ssl_serialize_session_save_load:42:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save-load: large ticket, cert -depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_load:1023:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 +ssl_serialize_session_save_load:1023:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 + +TLS 1.3: CLI: Session serialization, save-load: no ticket +depends_on:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_load:0:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, save-load: small ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_load:42:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, save-load: large ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_load:1023:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: Session serialization, save-load: large ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_load:1023:"":MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 Session serialization, load-save: no ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_load_save:0:"" +ssl_serialize_session_load_save:0:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load-save: small ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_load_save:42:"" +ssl_serialize_session_load_save:42:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load-save: large ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_load_save:1023:"" +ssl_serialize_session_load_save:1023:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load-save: no ticket, cert -depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_load_save:0:"data_files/server5.crt" +depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 +ssl_serialize_session_load_save:0:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load-save: small ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_load_save:42:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_load_save:42:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load-save: large ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_load_save:1023:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_load_save:1023:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 + +TLS 1.3: CLI: Session serialization, load-save: no ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_load_save:0:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, load-save: small ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_load_save:42:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, load-save: large ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_load_save:1023:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: Session serialization, load-save +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_load_save:0:"":MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 Session serialization, save buffer size: no ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_buf_size:0:"" +ssl_serialize_session_save_buf_size:0:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save buffer size: small ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_buf_size:42:"" +ssl_serialize_session_save_buf_size:42:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save buffer size: large ticket, no cert depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_buf_size:1023:"" +ssl_serialize_session_save_buf_size:1023:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save buffer size: no ticket, cert -depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_save_buf_size:0:"data_files/server5.crt" +depends_on:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO:MBEDTLS_SSL_PROTO_TLS1_2 +ssl_serialize_session_save_buf_size:0:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save buffer size: small ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_save_buf_size:42:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_save_buf_size:42:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, save buffer size: large ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_save_buf_size:1023:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_save_buf_size:1023:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 + +TLS 1.3: CLI: Session serialization, save buffer size: no ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_buf_size:0:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, save buffer size: small ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_buf_size:42:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: CLI: Session serialization, save buffer size: large ticket +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_buf_size:1023:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 + +TLS 1.3: SRV: Session serialization, save buffer size +depends_on:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_PROTO_TLS1_3 +ssl_serialize_session_save_buf_size:0:"":MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 Session serialization, load buffer size: no ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2 -ssl_serialize_session_load_buf_size:0:"" +ssl_serialize_session_load_buf_size:0:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load buffer size: small ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C -ssl_serialize_session_load_buf_size:42:"" +ssl_serialize_session_load_buf_size:42:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load buffer size: large ticket, no cert depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C -ssl_serialize_session_load_buf_size:1023:"" +ssl_serialize_session_load_buf_size:1023:"":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load buffer size: no ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_load_buf_size:0:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_load_buf_size:0:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load buffer size: small ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_load_buf_size:42:"data_files/server5.crt" +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_load_buf_size:42:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 Session serialization, load buffer size: large ticket, cert -depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_FS_IO -ssl_serialize_session_load_buf_size:1023:"data_files/server5.crt" - -Constant-flow HMAC: MD5 -depends_on:MBEDTLS_MD5_C -ssl_cf_hmac:MBEDTLS_MD_MD5 - -Constant-flow HMAC: SHA1 -depends_on:MBEDTLS_SHA1_C -ssl_cf_hmac:MBEDTLS_MD_SHA1 - -Constant-flow HMAC: SHA256 -depends_on:MBEDTLS_SHA256_C -ssl_cf_hmac:MBEDTLS_MD_SHA256 +depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C:MBEDTLS_X509_USE_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_FS_IO +ssl_serialize_session_load_buf_size:1023:"data_files/server5.crt":0:MBEDTLS_SSL_VERSION_TLS1_2 -Constant-flow HMAC: SHA384 -depends_on:MBEDTLS_SHA384_C -ssl_cf_hmac:MBEDTLS_MD_SHA384 +TLS 1.3: CLI: Session serialization, load buffer size: no ticket +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_CLI_C +ssl_serialize_session_load_buf_size:0:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 -# these are the numbers we'd get with an empty plaintext and truncated HMAC -Constant-flow memcpy from offset: small -ssl_cf_memcpy_offset:0:5:10 +TLS 1.3: CLI: Session serialization, load buffer size: small ticket +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C +ssl_serialize_session_load_buf_size:42:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 -# we could get this with 255-bytes plaintext and untruncated SHA-256 -Constant-flow memcpy from offset: medium -ssl_cf_memcpy_offset:0:255:32 +TLS 1.3: CLI: Session serialization, load buffer size: large ticket +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SESSION_TICKETS:MBEDTLS_SSL_CLI_C +ssl_serialize_session_load_buf_size:1023:"":MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_VERSION_TLS1_3 -# we could get this with 255-bytes plaintext and untruncated SHA-384 -Constant-flow memcpy from offset: large -ssl_cf_memcpy_offset:100:339:48 +TLS 1.3: SRV: Session serialization, load buffer size +depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_SSL_SRV_C +ssl_serialize_session_load_buf_size:0:"":MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_VERSION_TLS1_3 Test configuration of groups for DHE through mbedtls_ssl_conf_curves() conf_curve: @@ -3422,9 +3509,11 @@ Sanity test cid functions cid_sanity: Raw key agreement: nominal +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA raw_key_agreement_fail:0 Raw key agreement: bad server key +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA raw_key_agreement_fail:1 Force a bad session id length diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function index 9a031b65c0..674e6496eb 100644 --- a/tests/suites/test_suite_ssl.function +++ b/tests/suites/test_suite_ssl.function @@ -1,8 +1,6 @@ /* BEGIN_HEADER */ #include #include -#include -#include #include #include #include @@ -13,10 +11,10 @@ #include "mbedtls/ssl_cache.h" #endif -#include +#include +#include "hash_info.h" #include - #include enum @@ -33,6 +31,18 @@ typedef struct log_pattern size_t counter; } log_pattern; +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) +static int rng_seed = 0xBEEF; +static int rng_get( void *p_rng, unsigned char *output, size_t output_len ) +{ + (void) p_rng; + for( size_t i = 0; i < output_len; i++ ) + output[i] = rand(); + + return 0; +} +#endif + /* * This function can be passed to mbedtls to receive output logs from it. In * this case, it will count the instances of a log_pattern in the received @@ -93,6 +103,10 @@ typedef struct handshake_test_options void init_handshake_options( handshake_test_options *opts ) { +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) + srand( rng_seed ); + rng_seed += 0xD0; +#endif opts->cipher = ""; opts->client_min_version = MBEDTLS_SSL_VERSION_UNKNOWN; opts->client_max_version = MBEDTLS_SSL_VERSION_UNKNOWN; @@ -123,7 +137,7 @@ void init_handshake_options( handshake_test_options *opts ) opts->resize_buffers = 1; #if defined(MBEDTLS_SSL_CACHE_C) opts->cache = NULL; - ASSERT_ALLOC( opts->cache, sizeof( mbedtls_ssl_cache_context ) ); + ASSERT_ALLOC( opts->cache, 1 ); mbedtls_ssl_cache_init( opts->cache ); exit: return; @@ -497,7 +511,7 @@ void mbedtls_mock_socket_close( mbedtls_mock_socket* socket ) * \p peer1 and \p peer2 must have been previously initialized by calling * mbedtls_mock_socket_init(). * - * The capacites of the internal buffers are set to \p bufsize. Setting this to + * The capacities of the internal buffers are set to \p bufsize. Setting this to * the correct value allows for simulation of MTU, sanity testing the mock * implementation and mocking TCP connections with lower memory cost. */ @@ -638,7 +652,7 @@ void mbedtls_message_socket_init( mbedtls_test_message_socket_context *ctx ) } /* - * Setup a given mesasge socket context including initialization of + * Setup a given message socket context including initialization of * input/output queues to a chosen capacity of messages. Also set the * corresponding mock socket. * @@ -776,18 +790,16 @@ int mbedtls_mock_tcp_recv_msg( void *ctx, unsigned char *buf, size_t buf_len ) return msg_len; } -#if defined(MBEDTLS_X509_CRT_PARSE_C) && \ - defined(MBEDTLS_ENTROPY_C) && \ - defined(MBEDTLS_CTR_DRBG_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) /* * Structure with endpoint's certificates for SSL communication tests. */ typedef struct mbedtls_endpoint_certificate { - mbedtls_x509_crt ca_cert; - mbedtls_x509_crt cert; - mbedtls_pk_context pkey; + mbedtls_x509_crt* ca_cert; + mbedtls_x509_crt* cert; + mbedtls_pk_context* pkey; } mbedtls_endpoint_certificate; /* @@ -798,12 +810,46 @@ typedef struct mbedtls_endpoint const char *name; mbedtls_ssl_context ssl; mbedtls_ssl_config conf; - mbedtls_ctr_drbg_context ctr_drbg; - mbedtls_entropy_context entropy; mbedtls_mock_socket socket; mbedtls_endpoint_certificate cert; } mbedtls_endpoint; +/* + * Deinitializes certificates from endpoint represented by \p ep. + */ +void mbedtls_endpoint_certificate_free( mbedtls_endpoint *ep ) +{ + mbedtls_endpoint_certificate *cert = &( ep->cert ); + if( cert != NULL ) + { + if( cert->ca_cert != NULL ) + { + mbedtls_x509_crt_free( cert->ca_cert ); + mbedtls_free( cert->ca_cert ); + cert->ca_cert = NULL; + } + if( cert->cert != NULL ) + { + mbedtls_x509_crt_free( cert->cert ); + mbedtls_free( cert->cert ); + cert->cert = NULL; + } + if( cert->pkey != NULL ) + { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + if( mbedtls_pk_get_type( cert->pkey ) == MBEDTLS_PK_OPAQUE ) + { + mbedtls_svc_key_id_t *key_slot = cert->pkey->pk_ctx; + psa_destroy_key( *key_slot ); + } +#endif + mbedtls_pk_free( cert->pkey ); + mbedtls_free( cert->pkey ); + cert->pkey = NULL; + } + } +} + /* * Initializes \p ep_cert structure and assigns it to endpoint * represented by \p ep. @@ -816,7 +862,7 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, { int i = 0; int ret = -1; - mbedtls_endpoint_certificate *cert; + mbedtls_endpoint_certificate *cert = NULL; #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t key_slot = MBEDTLS_SVC_KEY_ID_INIT; #endif @@ -827,15 +873,19 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, } cert = &( ep->cert ); - mbedtls_x509_crt_init( &( cert->ca_cert ) ); - mbedtls_x509_crt_init( &( cert->cert ) ); - mbedtls_pk_init( &( cert->pkey ) ); + ASSERT_ALLOC( cert->ca_cert, 1 ); + ASSERT_ALLOC( cert->cert, 1 ); + ASSERT_ALLOC( cert->pkey, 1 ); + + mbedtls_x509_crt_init( cert->ca_cert ); + mbedtls_x509_crt_init( cert->cert ); + mbedtls_pk_init( cert->pkey ); /* Load the trusted CA */ for( i = 0; mbedtls_test_cas_der[i] != NULL; i++ ) { - ret = mbedtls_x509_crt_parse_der( &( cert->ca_cert ), + ret = mbedtls_x509_crt_parse_der( cert->ca_cert, (const unsigned char *) mbedtls_test_cas_der[i], mbedtls_test_cas_der_len[i] ); TEST_ASSERT( ret == 0 ); @@ -847,12 +897,12 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, { if( pk_alg == MBEDTLS_PK_RSA ) { - ret = mbedtls_x509_crt_parse( &( cert->cert ), + ret = mbedtls_x509_crt_parse( cert->cert, (const unsigned char*) mbedtls_test_srv_crt_rsa_sha256_der, mbedtls_test_srv_crt_rsa_sha256_der_len ); TEST_ASSERT( ret == 0 ); - ret = mbedtls_pk_parse_key( &( cert->pkey ), + ret = mbedtls_pk_parse_key( cert->pkey, (const unsigned char*) mbedtls_test_srv_key_rsa_der, mbedtls_test_srv_key_rsa_der_len, NULL, 0, mbedtls_test_rnd_std_rand, NULL ); @@ -860,12 +910,12 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, } else { - ret = mbedtls_x509_crt_parse( &( cert->cert ), + ret = mbedtls_x509_crt_parse( cert->cert, (const unsigned char*) mbedtls_test_srv_crt_ec_der, mbedtls_test_srv_crt_ec_der_len ); TEST_ASSERT( ret == 0 ); - ret = mbedtls_pk_parse_key( &( cert->pkey ), + ret = mbedtls_pk_parse_key( cert->pkey, (const unsigned char*) mbedtls_test_srv_key_ec_der, mbedtls_test_srv_key_ec_der_len, NULL, 0, mbedtls_test_rnd_std_rand, NULL ); @@ -876,12 +926,12 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, { if( pk_alg == MBEDTLS_PK_RSA ) { - ret = mbedtls_x509_crt_parse( &( cert->cert ), + ret = mbedtls_x509_crt_parse( cert->cert, (const unsigned char *) mbedtls_test_cli_crt_rsa_der, mbedtls_test_cli_crt_rsa_der_len ); TEST_ASSERT( ret == 0 ); - ret = mbedtls_pk_parse_key( &( cert->pkey ), + ret = mbedtls_pk_parse_key( cert->pkey, (const unsigned char *) mbedtls_test_cli_key_rsa_der, mbedtls_test_cli_key_rsa_der_len, NULL, 0, mbedtls_test_rnd_std_rand, NULL ); @@ -889,12 +939,12 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, } else { - ret = mbedtls_x509_crt_parse( &( cert->cert ), + ret = mbedtls_x509_crt_parse( cert->cert, (const unsigned char *) mbedtls_test_cli_crt_ec_der, mbedtls_test_cli_crt_ec_len ); TEST_ASSERT( ret == 0 ); - ret = mbedtls_pk_parse_key( &( cert->pkey ), + ret = mbedtls_pk_parse_key( cert->pkey, (const unsigned char *) mbedtls_test_cli_key_ec_der, mbedtls_test_cli_key_ec_der_len, NULL, 0, mbedtls_test_rnd_std_rand, NULL ); @@ -905,7 +955,7 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, #if defined(MBEDTLS_USE_PSA_CRYPTO) if( opaque_alg != 0 ) { - TEST_EQUAL( mbedtls_pk_wrap_as_opaque( &( cert->pkey ), &key_slot, + TEST_EQUAL( mbedtls_pk_wrap_as_opaque( cert->pkey, &key_slot, opaque_alg, opaque_usage, opaque_alg2 ), 0 ); } @@ -915,10 +965,10 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, (void) opaque_usage; #endif - mbedtls_ssl_conf_ca_chain( &( ep->conf ), &( cert->ca_cert ), NULL ); + mbedtls_ssl_conf_ca_chain( &( ep->conf ), cert->ca_cert, NULL ); - ret = mbedtls_ssl_conf_own_cert( &( ep->conf ), &( cert->cert ), - &( cert->pkey ) ); + ret = mbedtls_ssl_conf_own_cert( &( ep->conf ), cert->cert, + cert->pkey ); TEST_ASSERT( ret == 0 ); TEST_ASSERT( ep->conf.key_cert != NULL ); @@ -926,20 +976,14 @@ int mbedtls_endpoint_certificate_init( mbedtls_endpoint *ep, int pk_alg, TEST_ASSERT( ret == 0 ); TEST_ASSERT( ep->conf.key_cert == NULL ); - ret = mbedtls_ssl_conf_own_cert( &( ep->conf ), &( cert->cert ), - &( cert->pkey ) ); + ret = mbedtls_ssl_conf_own_cert( &( ep->conf ), cert->cert, + cert->pkey ); TEST_ASSERT( ret == 0 ); exit: if( ret != 0 ) { - mbedtls_x509_crt_free( &( cert->ca_cert ) ); - mbedtls_x509_crt_free( &( cert->cert ) ); -#if defined(MBEDTLS_USE_PSA_CRYPTO) - if( opaque_alg != 0 ) - psa_destroy_key( key_slot ); -#endif - mbedtls_pk_free( &( cert->pkey ) ); + mbedtls_endpoint_certificate_free( ep ); } return ret; @@ -981,11 +1025,7 @@ int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, mbedtls_ssl_init( &( ep->ssl ) ); mbedtls_ssl_config_init( &( ep->conf ) ); - mbedtls_ctr_drbg_init( &( ep->ctr_drbg ) ); - mbedtls_ssl_conf_rng( &( ep->conf ), - mbedtls_ctr_drbg_random, - &( ep->ctr_drbg ) ); - mbedtls_entropy_init( &( ep->entropy ) ); + mbedtls_ssl_conf_rng( &( ep->conf ), rng_get, NULL ); TEST_ASSERT( mbedtls_ssl_conf_get_user_data_p( &ep->conf ) == NULL ); TEST_EQUAL( mbedtls_ssl_conf_get_user_data_n( &ep->conf ), 0 ); @@ -1009,11 +1049,6 @@ int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, mbedtls_mock_socket_init( &( ep->socket ) ); } - ret = mbedtls_ctr_drbg_seed( &( ep->ctr_drbg ), mbedtls_entropy_func, - &( ep->entropy ), (const unsigned char *) ( ep->name ), - strlen( ep->name ) ); - TEST_ASSERT( ret == 0 ); - /* Non-blocking callbacks without timeout */ if( dtls_context != NULL ) { @@ -1074,25 +1109,6 @@ exit: return ret; } -/* - * Deinitializes certificates from endpoint represented by \p ep. - */ -void mbedtls_endpoint_certificate_free( mbedtls_endpoint *ep ) -{ - mbedtls_endpoint_certificate *cert = &( ep->cert ); - mbedtls_x509_crt_free( &( cert->ca_cert ) ); - mbedtls_x509_crt_free( &( cert->cert ) ); -#if defined(MBEDTLS_USE_PSA_CRYPTO) - if( mbedtls_pk_get_type( &( cert->pkey ) ) == MBEDTLS_PK_OPAQUE ) - { - mbedtls_svc_key_id_t *key_slot = cert->pkey.pk_ctx; - - psa_destroy_key( *key_slot ); - } -#endif - mbedtls_pk_free( &( cert->pkey ) ); -} - /* * Deinitializes endpoint represented by \p ep. */ @@ -1103,8 +1119,6 @@ void mbedtls_endpoint_free( mbedtls_endpoint *ep, mbedtls_ssl_free( &( ep->ssl ) ); mbedtls_ssl_config_free( &( ep->conf ) ); - mbedtls_ctr_drbg_free( &( ep->ctr_drbg ) ); - mbedtls_entropy_free( &( ep->entropy ) ); if( context != NULL ) { @@ -1164,7 +1178,7 @@ int mbedtls_move_handshake_to_state( mbedtls_ssl_context *ssl, return ( max_steps >= 0 ) ? ret : -1; } -#endif /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_ENTROPY_C && MBEDTLS_CTR_DRBG_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ /* * Write application data. Increase write counter if necessary. @@ -1444,21 +1458,20 @@ static int build_transforms( mbedtls_ssl_transform *t_in, if( cipher_info->mode == MBEDTLS_MODE_CBC || cipher_info->mode == MBEDTLS_MODE_STREAM ) { - mbedtls_md_info_t const *md_info; - - /* Pick hash */ - md_info = mbedtls_md_info_from_type( hash_id ); +#if !defined(MBEDTLS_USE_PSA_CRYPTO) + mbedtls_md_info_t const *md_info = mbedtls_md_info_from_type( hash_id ); CHK( md_info != NULL ); - +#endif + maclen = mbedtls_hash_info_get_size( hash_id ); + CHK( maclen != 0 ); /* Pick hash keys */ - maclen = mbedtls_md_get_size( md_info ); CHK( ( md0 = mbedtls_calloc( 1, maclen ) ) != NULL ); CHK( ( md1 = mbedtls_calloc( 1, maclen ) ) != NULL ); memset( md0, 0x5, maclen ); memset( md1, 0x6, maclen ); #if defined(MBEDTLS_USE_PSA_CRYPTO) - alg = mbedtls_psa_translate_md( mbedtls_md_get_type( md_info ) ); + alg = mbedtls_hash_info_psa_from_md( hash_id ); CHK( alg != 0 ); @@ -1724,7 +1737,7 @@ cleanup: * Populate a session structure for serialization tests. * Choose dummy values, mostly non-0 to distinguish from the init default. */ -static int ssl_populate_session_tls12( mbedtls_ssl_session *session, +static int ssl_tls12_populate_session( mbedtls_ssl_session *session, int ticket_len, const char *crt_file ) { @@ -1733,12 +1746,11 @@ static int ssl_populate_session_tls12( mbedtls_ssl_session *session, #endif session->tls_version = MBEDTLS_SSL_VERSION_TLS1_2; session->ciphersuite = 0xabcd; - session->compression = 1; session->id_len = sizeof( session->id ); memset( session->id, 66, session->id_len ); memset( session->master, 17, sizeof( session->master ) ); -#if defined(MBEDTLS_X509_CRT_PARSE_C) && defined(MBEDTLS_FS_IO) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) && defined(MBEDTLS_FS_IO) if( crt_file != NULL && strlen( crt_file ) != 0 ) { mbedtls_x509_crt tmp_crt; @@ -1762,10 +1774,23 @@ static int ssl_populate_session_tls12( mbedtls_ssl_session *session, mbedtls_calloc( 1, MBEDTLS_SSL_PEER_CERT_DIGEST_DFL_LEN ); if( session->peer_cert_digest == NULL ) return( -1 ); + +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_algorithm_t psa_alg = mbedtls_hash_info_psa_from_md( + MBEDTLS_SSL_PEER_CERT_DIGEST_DFL_TYPE ); + size_t hash_size = 0; + psa_status_t status = psa_hash_compute( psa_alg, tmp_crt.raw.p, + tmp_crt.raw.len, + session->peer_cert_digest, + MBEDTLS_SSL_PEER_CERT_DIGEST_DFL_LEN, + &hash_size); + ret = psa_ssl_status_to_mbedtls( status ); +#else ret = mbedtls_md( mbedtls_md_info_from_type( MBEDTLS_SSL_PEER_CERT_DIGEST_DFL_TYPE ), tmp_crt.raw.p, tmp_crt.raw.len, session->peer_cert_digest ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ if( ret != 0 ) return( ret ); session->peer_cert_digest_type = @@ -1776,9 +1801,9 @@ static int ssl_populate_session_tls12( mbedtls_ssl_session *session, mbedtls_x509_crt_free( &tmp_crt ); } -#else /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_FS_IO */ +#else /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED && MBEDTLS_FS_IO */ (void) crt_file; -#endif /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_FS_IO */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED && MBEDTLS_FS_IO */ session->verify_result = 0xdeadbeef; #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) @@ -1805,6 +1830,52 @@ static int ssl_populate_session_tls12( mbedtls_ssl_session *session, return( 0 ); } +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) +static int ssl_tls13_populate_session( mbedtls_ssl_session *session, + int ticket_len, + int endpoint_type ) +{ + ((void) ticket_len); + session->tls_version = MBEDTLS_SSL_VERSION_TLS1_3; + session->endpoint = endpoint_type == MBEDTLS_SSL_IS_CLIENT ? + MBEDTLS_SSL_IS_CLIENT : MBEDTLS_SSL_IS_SERVER; + session->ciphersuite = 0xabcd; + session->ticket_age_add = 0x87654321; + session->ticket_flags = 0x7; + + session->resumption_key_len = 32; + memset( session->resumption_key, 0x99, sizeof( session->resumption_key ) ); + +#if defined(MBEDTLS_HAVE_TIME) + if( session->endpoint == MBEDTLS_SSL_IS_SERVER ) + { + session->start = mbedtls_time( NULL ) - 42; + } +#endif + +#if defined(MBEDTLS_SSL_CLI_C) + if( session->endpoint == MBEDTLS_SSL_IS_CLIENT ) + { +#if defined(MBEDTLS_HAVE_TIME) + session->ticket_received = mbedtls_time( NULL ) - 40; +#endif + session->ticket_lifetime = 0xfedcba98; + + session->ticket_len = ticket_len; + if( ticket_len != 0 ) + { + session->ticket = mbedtls_calloc( 1, ticket_len ); + if( session->ticket == NULL ) + return( -1 ); + memset( session->ticket, 33, ticket_len ); + } + } +#endif /* MBEDTLS_SSL_CLI_C */ + + return( 0 ); +} +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ + /* * Perform data exchanging between \p ssl_1 and \p ssl_2 and check if the * message was sent in the correct number of fragments. @@ -1958,9 +2029,7 @@ int exchange_data( mbedtls_ssl_context *ssl_1, ssl_2, 256, 1 ); } -#if defined(MBEDTLS_X509_CRT_PARSE_C) && \ - defined(MBEDTLS_ENTROPY_C) && \ - defined(MBEDTLS_CTR_DRBG_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) static int check_ssl_version( mbedtls_ssl_protocol_version expected_negotiated_version, const mbedtls_ssl_context *ssl ) { @@ -1997,19 +2066,17 @@ static int check_ssl_version( mbedtls_ssl_protocol_version expected_negotiated_v exit: return( 0 ); } -#endif /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_ENTROPY_C && MBEDTLS_CTR_DRBG_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ -#if defined(MBEDTLS_X509_CRT_PARSE_C) && \ - defined(MBEDTLS_ENTROPY_C) && \ - defined(MBEDTLS_CTR_DRBG_C) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) void perform_handshake( handshake_test_options *options ) { /* forced_ciphersuite needs to last until the end of the handshake */ int forced_ciphersuite[2]; enum { BUFFSIZE = 17000 }; mbedtls_endpoint client, server; -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) const char *psk_identity = "foo"; #endif #if defined(MBEDTLS_TIMING_C) @@ -2025,7 +2092,8 @@ void perform_handshake( handshake_test_options *options ) int expected_handshake_result = options->expected_handshake_result; USE_PSA_INIT( ); - + mbedtls_platform_zeroize( &client, sizeof(client) ); + mbedtls_platform_zeroize( &server, sizeof(server) ); mbedtls_test_message_queue server_queue, client_queue; mbedtls_test_message_socket_context server_context, client_context; mbedtls_message_socket_init( &server_context ); @@ -2120,7 +2188,7 @@ void perform_handshake( handshake_test_options *options ) TEST_ASSERT( MBEDTLS_SSL_MAX_FRAG_LEN_NONE == options->mfl ); #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */ -#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED) if( options->psk_str != NULL && options->psk_str->len > 0 ) { TEST_ASSERT( mbedtls_ssl_conf_psk( &client.conf, options->psk_str->x, @@ -2132,8 +2200,9 @@ void perform_handshake( handshake_test_options *options ) options->psk_str->len, (const unsigned char *) psk_identity, strlen( psk_identity ) ) == 0 ); - +#if defined(MBEDTLS_SSL_SRV_C) mbedtls_ssl_conf_psk_cb( &server.conf, psk_dummy_callback, NULL ); +#endif } #endif #if defined(MBEDTLS_SSL_RENEGOTIATION) @@ -2398,7 +2467,7 @@ exit: #endif USE_PSA_DONE( ); } -#endif /* MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_ENTROPY_C && MBEDTLS_CTR_DRBG_C */ +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ #if defined(MBEDTLS_TEST_HOOKS) /* @@ -3616,7 +3685,7 @@ void ssl_dtls_replay( data_t * prevs, data_t * new, int ret ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ void ssl_set_hostname_twice( char *hostname0, char *hostname1 ) { mbedtls_ssl_context ssl; @@ -3966,10 +4035,12 @@ void ssl_decrypt_non_etm_cbc( int cipher_type, int hash_id, int trunc_hmac, size_t plaintext_len, block_size, i; unsigned char padlen; /* excluding the padding_length byte */ unsigned char add_data[13]; - unsigned char mac[MBEDTLS_MD_MAX_SIZE]; #if defined(MBEDTLS_USE_PSA_CRYPTO) psa_mac_operation_t operation = PSA_MAC_OPERATION_INIT; size_t sign_mac_length = 0; + unsigned char mac[PSA_HASH_MAX_SIZE]; +#else + unsigned char mac[MBEDTLS_MD_MAX_SIZE]; #endif int exp_ret; int ret; @@ -4063,7 +4134,7 @@ void ssl_decrypt_non_etm_cbc( int cipher_type, int hash_id, int trunc_hmac, rec.buf + rec.data_offset, rec.data_len ) ); TEST_EQUAL( PSA_SUCCESS, psa_mac_sign_finish( &operation, - mac, MBEDTLS_MD_MAX_SIZE, + mac, sizeof(mac), &sign_mac_length ) ); #else TEST_EQUAL( 0, mbedtls_md_hmac_update( &t0.md_ctx_enc, add_data, 13 ) ); @@ -4472,7 +4543,7 @@ void ssl_tls13_create_psk_binder( int hash_alg, } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SSL_PROTO_TLS1_3 */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void ssl_tls13_record_protection( int ciphersuite, int endpoint, int ctr, @@ -4624,7 +4695,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void ssl_serialize_session_save_load( int ticket_len, char *crt_file ) +void ssl_serialize_session_save_load( int ticket_len, char *crt_file, + int endpoint_type, int tls_version ) { mbedtls_ssl_session original, restored; unsigned char *buf = NULL; @@ -4638,7 +4710,20 @@ void ssl_serialize_session_save_load( int ticket_len, char *crt_file ) mbedtls_ssl_session_init( &restored ); /* Prepare a dummy session to work on */ - TEST_ASSERT( ssl_populate_session_tls12( &original, ticket_len, crt_file ) == 0 ); + ((void) endpoint_type); + ((void) tls_version); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if( tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) + { + TEST_ASSERT( ssl_tls13_populate_session( + &original, 0, endpoint_type ) == 0 ); + } + else +#endif + { + TEST_ASSERT( ssl_tls12_populate_session( + &original, ticket_len, crt_file ) == 0 ); + } /* Serialize it */ TEST_ASSERT( mbedtls_ssl_session_save( &original, NULL, 0, &len ) @@ -4658,61 +4743,108 @@ void ssl_serialize_session_save_load( int ticket_len, char *crt_file ) #endif TEST_ASSERT( original.tls_version == restored.tls_version ); TEST_ASSERT( original.ciphersuite == restored.ciphersuite ); - TEST_ASSERT( original.compression == restored.compression ); - TEST_ASSERT( original.id_len == restored.id_len ); - TEST_ASSERT( memcmp( original.id, - restored.id, sizeof( original.id ) ) == 0 ); - TEST_ASSERT( memcmp( original.master, - restored.master, sizeof( original.master ) ) == 0 ); - -#if defined(MBEDTLS_X509_CRT_PARSE_C) -#if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) - TEST_ASSERT( ( original.peer_cert == NULL ) == - ( restored.peer_cert == NULL ) ); - if( original.peer_cert != NULL ) +#if defined(MBEDTLS_SSL_PROTO_TLS1_2) + if( tls_version == MBEDTLS_SSL_VERSION_TLS1_2 ) { - TEST_ASSERT( original.peer_cert->raw.len == - restored.peer_cert->raw.len ); - TEST_ASSERT( memcmp( original.peer_cert->raw.p, - restored.peer_cert->raw.p, - original.peer_cert->raw.len ) == 0 ); - } + TEST_ASSERT( original.id_len == restored.id_len ); + TEST_ASSERT( memcmp( original.id, + restored.id, sizeof( original.id ) ) == 0 ); + TEST_ASSERT( memcmp( original.master, + restored.master, sizeof( original.master ) ) == 0 ); + +#if defined(MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED) +#if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) + TEST_ASSERT( ( original.peer_cert == NULL ) == + ( restored.peer_cert == NULL ) ); + if( original.peer_cert != NULL ) + { + TEST_ASSERT( original.peer_cert->raw.len == + restored.peer_cert->raw.len ); + TEST_ASSERT( memcmp( original.peer_cert->raw.p, + restored.peer_cert->raw.p, + original.peer_cert->raw.len ) == 0 ); + } #else /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ - TEST_ASSERT( original.peer_cert_digest_type == - restored.peer_cert_digest_type ); - TEST_ASSERT( original.peer_cert_digest_len == - restored.peer_cert_digest_len ); - TEST_ASSERT( ( original.peer_cert_digest == NULL ) == - ( restored.peer_cert_digest == NULL ) ); - if( original.peer_cert_digest != NULL ) - { - TEST_ASSERT( memcmp( original.peer_cert_digest, - restored.peer_cert_digest, - original.peer_cert_digest_len ) == 0 ); - } + TEST_ASSERT( original.peer_cert_digest_type == + restored.peer_cert_digest_type ); + TEST_ASSERT( original.peer_cert_digest_len == + restored.peer_cert_digest_len ); + TEST_ASSERT( ( original.peer_cert_digest == NULL ) == + ( restored.peer_cert_digest == NULL ) ); + if( original.peer_cert_digest != NULL ) + { + TEST_ASSERT( memcmp( original.peer_cert_digest, + restored.peer_cert_digest, + original.peer_cert_digest_len ) == 0 ); + } #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */ -#endif /* MBEDTLS_X509_CRT_PARSE_C */ - TEST_ASSERT( original.verify_result == restored.verify_result ); +#endif /* MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED */ + TEST_ASSERT( original.verify_result == restored.verify_result ); + +#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) + TEST_ASSERT( original.mfl_code == restored.mfl_code ); +#endif +#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) + TEST_ASSERT( original.encrypt_then_mac == restored.encrypt_then_mac ); +#endif #if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) - TEST_ASSERT( original.ticket_len == restored.ticket_len ); - if( original.ticket_len != 0 ) - { - TEST_ASSERT( original.ticket != NULL ); - TEST_ASSERT( restored.ticket != NULL ); - TEST_ASSERT( memcmp( original.ticket, - restored.ticket, original.ticket_len ) == 0 ); - } - TEST_ASSERT( original.ticket_lifetime == restored.ticket_lifetime ); + TEST_ASSERT( original.ticket_len == restored.ticket_len ); + if( original.ticket_len != 0 ) + { + TEST_ASSERT( original.ticket != NULL ); + TEST_ASSERT( restored.ticket != NULL ); + TEST_ASSERT( memcmp( original.ticket, + restored.ticket, original.ticket_len ) == 0 ); + } + TEST_ASSERT( original.ticket_lifetime == restored.ticket_lifetime ); #endif + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */ -#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH) - TEST_ASSERT( original.mfl_code == restored.mfl_code ); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if( tls_version == MBEDTLS_SSL_VERSION_TLS1_3 ) + { + TEST_ASSERT( original.endpoint == restored.endpoint ); + TEST_ASSERT( original.ciphersuite == restored.ciphersuite ); + TEST_ASSERT( original.ticket_age_add == restored.ticket_age_add ); + TEST_ASSERT( original.ticket_flags == restored.ticket_flags ); + TEST_ASSERT( original.resumption_key_len == restored.resumption_key_len ); + if( original.resumption_key_len != 0 ) + { + TEST_ASSERT( original.resumption_key != NULL ); + TEST_ASSERT( restored.resumption_key != NULL ); + TEST_ASSERT( memcmp( original.resumption_key, + restored.resumption_key, + original.resumption_key_len ) == 0 ); + } +#if defined(MBEDTLS_HAVE_TIME) && defined(MBEDTLS_SSL_SRV_C) + if( endpoint_type == MBEDTLS_SSL_IS_SERVER ) + { + TEST_ASSERT( original.start == restored.start ); + } +#endif +#if defined(MBEDTLS_SSL_SESSION_TICKETS) && defined(MBEDTLS_SSL_CLI_C) + if( endpoint_type == MBEDTLS_SSL_IS_CLIENT) + { +#if defined(MBEDTLS_HAVE_TIME) + TEST_ASSERT( original.ticket_received == restored.ticket_received ); #endif + TEST_ASSERT( original.ticket_lifetime == restored.ticket_lifetime ); + TEST_ASSERT( original.ticket_len == restored.ticket_len ); + if( original.ticket_len != 0 ) + { + TEST_ASSERT( original.ticket != NULL ); + TEST_ASSERT( restored.ticket != NULL ); + TEST_ASSERT( memcmp( original.ticket, + restored.ticket, + original.ticket_len ) == 0 ); + } -#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) - TEST_ASSERT( original.encrypt_then_mac == restored.encrypt_then_mac ); + } #endif + } +#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ exit: mbedtls_ssl_session_free( &original ); @@ -4722,7 +4854,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void ssl_serialize_session_load_save( int ticket_len, char *crt_file ) +void ssl_serialize_session_load_save( int ticket_len, char *crt_file, + int endpoint_type, int tls_version ) { mbedtls_ssl_session session; unsigned char *buf1 = NULL, *buf2 = NULL; @@ -4735,7 +4868,20 @@ void ssl_serialize_session_load_save( int ticket_len, char *crt_file ) mbedtls_ssl_session_init( &session ); /* Prepare a dummy session to work on */ - TEST_ASSERT( ssl_populate_session_tls12( &session, ticket_len, crt_file ) == 0 ); + ((void) endpoint_type); + ((void) tls_version); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if(tls_version == MBEDTLS_SSL_VERSION_TLS1_3) + { + TEST_ASSERT( ssl_tls13_populate_session( + &session, 0, endpoint_type ) == 0 ); + } + else +#endif + { + TEST_ASSERT( ssl_tls12_populate_session( + &session, ticket_len, crt_file ) == 0 ); + } /* Get desired buffer size for serializing */ TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &len0 ) @@ -4772,7 +4918,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void ssl_serialize_session_save_buf_size( int ticket_len, char *crt_file ) +void ssl_serialize_session_save_buf_size( int ticket_len, char *crt_file, + int endpoint_type, int tls_version ) { mbedtls_ssl_session session; unsigned char *buf = NULL; @@ -4785,7 +4932,20 @@ void ssl_serialize_session_save_buf_size( int ticket_len, char *crt_file ) mbedtls_ssl_session_init( &session ); /* Prepare dummy session and get serialized size */ - TEST_ASSERT( ssl_populate_session_tls12( &session, ticket_len, crt_file ) == 0 ); + ((void) endpoint_type); + ((void) tls_version); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if(tls_version == MBEDTLS_SSL_VERSION_TLS1_3) + { + TEST_ASSERT( ssl_tls13_populate_session( + &session, 0, endpoint_type ) == 0 ); + } + else +#endif + { + TEST_ASSERT( ssl_tls12_populate_session( + &session, ticket_len, crt_file ) == 0 ); + } TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &good_len ) == MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL ); @@ -4808,7 +4968,8 @@ exit: /* END_CASE */ /* BEGIN_CASE */ -void ssl_serialize_session_load_buf_size( int ticket_len, char *crt_file ) +void ssl_serialize_session_load_buf_size( int ticket_len, char *crt_file, + int endpoint_type, int tls_version ) { mbedtls_ssl_session session; unsigned char *good_buf = NULL, *bad_buf = NULL; @@ -4821,7 +4982,20 @@ void ssl_serialize_session_load_buf_size( int ticket_len, char *crt_file ) mbedtls_ssl_session_init( &session ); /* Prepare serialized session data */ - TEST_ASSERT( ssl_populate_session_tls12( &session, ticket_len, crt_file ) == 0 ); + ((void) endpoint_type); + ((void) tls_version); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if(tls_version == MBEDTLS_SSL_VERSION_TLS1_3) + { + TEST_ASSERT( ssl_tls13_populate_session( + &session, 0, endpoint_type ) == 0 ); + } + else +#endif + { + TEST_ASSERT( ssl_tls12_populate_session( + &session, ticket_len, crt_file ) == 0 ); + } TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &good_len ) == MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL ); TEST_ASSERT( ( good_buf = mbedtls_calloc( 1, good_len ) ) != NULL ); @@ -4853,7 +5027,9 @@ exit: void ssl_session_serialize_version_check( int corrupt_major, int corrupt_minor, int corrupt_patch, - int corrupt_config ) + int corrupt_config, + int endpoint_type, + int tls_version ) { unsigned char serialized_session[ 2048 ]; size_t serialized_session_len; @@ -4866,7 +5042,18 @@ void ssl_session_serialize_version_check( int corrupt_major, corrupt_config == 1 }; mbedtls_ssl_session_init( &session ); - TEST_ASSERT( ssl_populate_session_tls12( &session, 0, NULL ) == 0 ); + ((void) endpoint_type); + ((void) tls_version); +#if defined(MBEDTLS_SSL_PROTO_TLS1_3) + if(tls_version == MBEDTLS_SSL_VERSION_TLS1_3) + { + TEST_ASSERT( ssl_tls13_populate_session( + &session, 0, endpoint_type ) == 0 ); + } + else +#endif + TEST_ASSERT( ssl_tls12_populate_session( &session, 0, NULL ) == 0 ); + /* Infer length of serialized session. */ TEST_ASSERT( mbedtls_ssl_session_save( &session, @@ -4913,7 +5100,7 @@ void ssl_session_serialize_version_check( int corrupt_major, } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_ENTROPY_C:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void mbedtls_endpoint_sanity( int endpoint_type ) { enum { BUFFSIZE = 1024 }; @@ -4940,7 +5127,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_C */ void move_handshake_to_state(int endpoint_type, int state, int need_pass) { enum { BUFFSIZE = 1024 }; @@ -4951,6 +5138,8 @@ void move_handshake_to_state(int endpoint_type, int state, int need_pass) options.pk_alg = MBEDTLS_PK_RSA; USE_PSA_INIT( ); + mbedtls_platform_zeroize( &base_ep, sizeof(base_ep) ); + mbedtls_platform_zeroize( &second_ep, sizeof(second_ep) ); ret = mbedtls_endpoint_init( &base_ep, endpoint_type, &options, NULL, NULL, NULL, NULL ); @@ -4994,7 +5183,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_C */ void handshake_version( int dtls, int client_min_version, int client_max_version, int server_min_version, int server_max_version, int expected_negotiated_version ) @@ -5019,7 +5208,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void handshake_psk_cipher( char* cipher, int pk_alg, data_t *psk_str, int dtls ) { handshake_test_options options; @@ -5040,7 +5229,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void handshake_cipher( char* cipher, int pk_alg, int dtls ) { test_handshake_psk_cipher( cipher, pk_alg, NULL, dtls ); @@ -5050,7 +5239,7 @@ void handshake_cipher( char* cipher, int pk_alg, int dtls ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void handshake_ciphersuite_select( char* cipher, int pk_alg, data_t *psk_str, int psa_alg, int psa_alg2, int psa_usage, int expected_handshake_result, @@ -5077,7 +5266,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void app_data( int mfl, int cli_msg_len, int srv_msg_len, int expected_cli_fragments, int expected_srv_fragments, int dtls ) @@ -5105,7 +5294,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_C */ void app_data_tls( int mfl, int cli_msg_len, int srv_msg_len, int expected_cli_fragments, int expected_srv_fragments ) @@ -5117,7 +5306,7 @@ void app_data_tls( int mfl, int cli_msg_len, int srv_msg_len, } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void app_data_dtls( int mfl, int cli_msg_len, int srv_msg_len, int expected_cli_fragments, int expected_srv_fragments ) @@ -5129,7 +5318,7 @@ void app_data_dtls( int mfl, int cli_msg_len, int srv_msg_len, } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void handshake_serialization( ) { handshake_test_options options; @@ -5145,7 +5334,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_DEBUG_C:MBEDTLS_SSL_MAX_FRAGMENT_LENGTH:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_DEBUG_C:MBEDTLS_SSL_MAX_FRAGMENT_LENGTH:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void handshake_fragmentation( int mfl, int expected_srv_hs_fragmentation, int expected_cli_hs_fragmentation) { handshake_test_options options; @@ -5184,7 +5373,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void renegotiation( int legacy_renegotiation ) { handshake_test_options options; @@ -5203,7 +5392,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void resize_buffers( int mfl, int renegotiation, int legacy_renegotiation, int serialize, int dtls, char *cipher ) { @@ -5227,7 +5416,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void resize_buffers_serialize_mfl( int mfl ) { test_resize_buffers( mfl, 0, MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION, 1, 1, @@ -5238,7 +5427,7 @@ void resize_buffers_serialize_mfl( int mfl ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void resize_buffers_renegotiate_mfl( int mfl, int legacy_renegotiation, char *cipher ) { @@ -5249,190 +5438,7 @@ void resize_buffers_renegotiate_mfl( int mfl, int legacy_renegotiation, } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC:MBEDTLS_TEST_HOOKS */ -void ssl_cf_hmac( int hash ) -{ - /* - * Test the function mbedtls_ct_hmac() against a reference - * implementation. - */ -#if defined(MBEDTLS_USE_PSA_CRYPTO) - mbedtls_svc_key_id_t key = MBEDTLS_SVC_KEY_ID_INIT; - psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT; - psa_algorithm_t alg; - psa_mac_operation_t operation = PSA_MAC_OPERATION_INIT; -#else - mbedtls_md_context_t ctx, ref_ctx; - const mbedtls_md_info_t *md_info; -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - size_t out_len, block_size; - size_t min_in_len, in_len, max_in_len, i; - /* TLS additional data is 13 bytes (hence the "lucky 13" name) */ - unsigned char add_data[13]; - unsigned char ref_out[MBEDTLS_MD_MAX_SIZE]; - unsigned char *data = NULL; - unsigned char *out = NULL; - unsigned char rec_num = 0; - - USE_PSA_INIT( ); - -#if defined(MBEDTLS_USE_PSA_CRYPTO) - alg = PSA_ALG_HMAC( mbedtls_psa_translate_md( hash ) ); - - out_len = PSA_HASH_LENGTH( alg ); - block_size = PSA_HASH_BLOCK_LENGTH( alg ); - - /* mbedtls_ct_hmac() requires the key to be exportable */ - psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_EXPORT | - PSA_KEY_USAGE_VERIFY_HASH ); - psa_set_key_algorithm( &attributes, PSA_ALG_HMAC( alg ) ); - psa_set_key_type( &attributes, PSA_KEY_TYPE_HMAC ); -#else - mbedtls_md_init( &ctx ); - mbedtls_md_init( &ref_ctx ); - - md_info = mbedtls_md_info_from_type( hash ); - TEST_ASSERT( md_info != NULL ); - out_len = mbedtls_md_get_size( md_info ); - TEST_ASSERT( out_len != 0 ); - block_size = hash == MBEDTLS_MD_SHA384 ? 128 : 64; -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - - /* Use allocated out buffer to catch overwrites */ - ASSERT_ALLOC( out, out_len ); - -#if defined(MBEDTLS_USE_PSA_CRYPTO) - /* Set up dummy key */ - memset( ref_out, 42, sizeof( ref_out ) ); - TEST_EQUAL( PSA_SUCCESS, psa_import_key( &attributes, - ref_out, out_len, - &key ) ); -#else - /* Set up contexts with the given hash and a dummy key */ - TEST_EQUAL( 0, mbedtls_md_setup( &ctx, md_info, 1 ) ); - TEST_EQUAL( 0, mbedtls_md_setup( &ref_ctx, md_info, 1 ) ); - memset( ref_out, 42, sizeof( ref_out ) ); - TEST_EQUAL( 0, mbedtls_md_hmac_starts( &ctx, ref_out, out_len ) ); - TEST_EQUAL( 0, mbedtls_md_hmac_starts( &ref_ctx, ref_out, out_len ) ); - memset( ref_out, 0, sizeof( ref_out ) ); -#endif - - /* - * Test all possible lengths up to a point. The difference between - * max_in_len and min_in_len is at most 255, and make sure they both vary - * by at least one block size. - */ - for( max_in_len = 0; max_in_len <= 255 + block_size; max_in_len++ ) - { - mbedtls_test_set_step( max_in_len * 10000 ); - - /* Use allocated in buffer to catch overreads */ - ASSERT_ALLOC( data, max_in_len ); - - min_in_len = max_in_len > 255 ? max_in_len - 255 : 0; - for( in_len = min_in_len; in_len <= max_in_len; in_len++ ) - { - mbedtls_test_set_step( max_in_len * 10000 + in_len ); - - /* Set up dummy data and add_data */ - rec_num++; - memset( add_data, rec_num, sizeof( add_data ) ); - for( i = 0; i < in_len; i++ ) - data[i] = ( i & 0xff ) ^ rec_num; - - /* Get the function's result */ - TEST_CF_SECRET( &in_len, sizeof( in_len ) ); -#if defined(MBEDTLS_USE_PSA_CRYPTO) - TEST_EQUAL( 0, mbedtls_ct_hmac( key, PSA_ALG_HMAC( alg ), - add_data, sizeof( add_data ), - data, in_len, - min_in_len, max_in_len, - out ) ); -#else - TEST_EQUAL( 0, mbedtls_ct_hmac( &ctx, add_data, sizeof( add_data ), - data, in_len, - min_in_len, max_in_len, - out ) ); -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - TEST_CF_PUBLIC( &in_len, sizeof( in_len ) ); - TEST_CF_PUBLIC( out, out_len ); - -#if defined(MBEDTLS_USE_PSA_CRYPTO) - TEST_EQUAL( PSA_SUCCESS, psa_mac_verify_setup( &operation, - key, alg ) ); - TEST_EQUAL( PSA_SUCCESS, psa_mac_update( &operation, add_data, - sizeof( add_data ) ) ); - TEST_EQUAL( PSA_SUCCESS, psa_mac_update( &operation, - data, in_len ) ); - TEST_EQUAL( PSA_SUCCESS, psa_mac_verify_finish( &operation, - out, out_len ) ); -#else - /* Compute the reference result */ - TEST_EQUAL( 0, mbedtls_md_hmac_update( &ref_ctx, add_data, - sizeof( add_data ) ) ); - TEST_EQUAL( 0, mbedtls_md_hmac_update( &ref_ctx, data, in_len ) ); - TEST_EQUAL( 0, mbedtls_md_hmac_finish( &ref_ctx, ref_out ) ); - TEST_EQUAL( 0, mbedtls_md_hmac_reset( &ref_ctx ) ); - - /* Compare */ - ASSERT_COMPARE( out, out_len, ref_out, out_len ); -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - } - - mbedtls_free( data ); - data = NULL; - } - -exit: -#if defined(MBEDTLS_USE_PSA_CRYPTO) - psa_mac_abort( &operation ); - psa_destroy_key( key ); -#else - mbedtls_md_free( &ref_ctx ); - mbedtls_md_free( &ctx ); -#endif /* MBEDTLS_USE_PSA_CRYPTO */ - - mbedtls_free( data ); - mbedtls_free( out ); - - USE_PSA_DONE( ); -} -/* END_CASE */ - -/* BEGIN_CASE depends_on:MBEDTLS_SSL_SOME_SUITES_USE_TLS_CBC:MBEDTLS_TEST_HOOKS */ -void ssl_cf_memcpy_offset( int offset_min, int offset_max, int len ) -{ - unsigned char *dst = NULL; - unsigned char *src = NULL; - size_t src_len = offset_max + len; - size_t secret; - - ASSERT_ALLOC( dst, len ); - ASSERT_ALLOC( src, src_len ); - - /* Fill src in a way that we can detect if we copied the right bytes */ - mbedtls_test_rnd_std_rand( NULL, src, src_len ); - - for( secret = offset_min; secret <= (size_t) offset_max; secret++ ) - { - mbedtls_test_set_step( (int) secret ); - - TEST_CF_SECRET( &secret, sizeof( secret ) ); - mbedtls_ct_memcpy_offset( dst, src, secret, - offset_min, offset_max, len ); - TEST_CF_PUBLIC( &secret, sizeof( secret ) ); - TEST_CF_PUBLIC( dst, len ); - - ASSERT_COMPARE( dst, len, src + secret, len ); - } - -exit: - mbedtls_free( dst ); - mbedtls_free( src ); -} -/* END_CASE */ - -/* BEGIN_CASE depends_on:MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED */ void test_multiple_psks() { unsigned char psk0[10] = { 0 }; @@ -5462,7 +5468,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED:MBEDTLS_USE_PSA_CRYPTO */ void test_multiple_psks_opaque( int mode ) { /* @@ -5574,10 +5580,10 @@ void conf_curve() MBEDTLS_ECP_DP_SECP224R1, MBEDTLS_ECP_DP_SECP256R1, MBEDTLS_ECP_DP_NONE }; - mbedtls_ecp_group_id iana_tls_group_list[] = { MBEDTLS_SSL_IANA_TLS_GROUP_SECP192R1, - MBEDTLS_SSL_IANA_TLS_GROUP_SECP224R1, - MBEDTLS_SSL_IANA_TLS_GROUP_SECP256R1, - MBEDTLS_SSL_IANA_TLS_GROUP_NONE }; + uint16_t iana_tls_group_list[] = { MBEDTLS_SSL_IANA_TLS_GROUP_SECP192R1, + MBEDTLS_SSL_IANA_TLS_GROUP_SECP224R1, + MBEDTLS_SSL_IANA_TLS_GROUP_SECP256R1, + MBEDTLS_SSL_IANA_TLS_GROUP_NONE }; mbedtls_ssl_config conf; mbedtls_ssl_config_init( &conf ); @@ -5639,7 +5645,7 @@ void conf_group() } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_CACHE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_DEBUG_C:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_ENTROPY_C:MBEDTLS_CTR_DRBG_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_CACHE_C:!MBEDTLS_SSL_PROTO_TLS1_3:MBEDTLS_DEBUG_C:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void force_bad_session_id_len( ) { enum { BUFFSIZE = 1024 }; @@ -5656,6 +5662,8 @@ void force_bad_session_id_len( ) options.srv_log_fun = log_analyzer; USE_PSA_INIT( ); + mbedtls_platform_zeroize( &client, sizeof(client) ); + mbedtls_platform_zeroize( &server, sizeof(server) ); mbedtls_message_socket_init( &server_context ); mbedtls_message_socket_init( &client_context ); @@ -5824,7 +5832,7 @@ void cid_sanity( ) } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ENTROPY_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_CTR_DRBG_C:MBEDTLS_ECP_C:MBEDTLS_ECDSA_C */ +/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_USE_PSA_CRYPTO:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECDSA_C */ void raw_key_agreement_fail( int bad_server_ecdhe_key ) { enum { BUFFSIZE = 17000 }; @@ -5836,6 +5844,8 @@ void raw_key_agreement_fail( int bad_server_ecdhe_key ) uint16_t iana_tls_group_list[] = { MBEDTLS_SSL_IANA_TLS_GROUP_SECP256R1, MBEDTLS_SSL_IANA_TLS_GROUP_NONE }; USE_PSA_INIT( ); + mbedtls_platform_zeroize( &client, sizeof(client) ); + mbedtls_platform_zeroize( &server, sizeof(server) ); init_handshake_options( &options ); options.pk_alg = MBEDTLS_PK_ECDSA; @@ -5893,7 +5903,7 @@ exit: USE_PSA_DONE( ); } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED */ +/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED */ void tls13_server_certificate_msg_invalid_vector_len( ) { int ret = -1; @@ -5910,6 +5920,8 @@ void tls13_server_certificate_msg_invalid_vector_len( ) * Test set-up */ USE_PSA_INIT( ); + mbedtls_platform_zeroize( &client_ep, sizeof(client_ep) ); + mbedtls_platform_zeroize( &server_ep, sizeof(server_ep) ); init_handshake_options( &client_options ); client_options.pk_alg = MBEDTLS_PK_ECDSA; diff --git a/tests/suites/test_suite_version.data b/tests/suites/test_suite_version.data index f131029d5b..ea6fc62f91 100644 --- a/tests/suites/test_suite_version.data +++ b/tests/suites/test_suite_version.data @@ -1,8 +1,8 @@ Check compile time library version -check_compiletime_version:"3.2.1" +check_compiletime_version:"3.3.0" Check runtime library version -check_runtime_version:"3.2.1" +check_runtime_version:"3.3.0" Check for MBEDTLS_VERSION_C check_feature:"MBEDTLS_VERSION_C":0 diff --git a/tests/suites/test_suite_x509parse.data b/tests/suites/test_suite_x509parse.data index eb9e9aa23d..bd03016cc6 100644 --- a/tests/suites/test_suite_x509parse.data +++ b/tests/suites/test_suite_x509parse.data @@ -1,345 +1,353 @@ X509 CRT information #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server1.crt":"cert. version \: 3\nserial number \: 01\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information #1 (DER) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server1.crt.der":"cert. version \: 3\nserial number \: 01\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information #2 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server2.crt":"cert. version \: 3\nserial number \: 02\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information #2 (DER) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server2.crt.der":"cert. version \: 3\nserial number \: 02\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information #3 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca.crt":"cert. version \: 3\nserial number \: 03\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-02-10 14\:44\:00\nexpires on \: 2029-02-10 14\:44\:00\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\n" X509 CRT information #3 (DER) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca.crt.der":"cert. version \: 3\nserial number \: 03\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-02-10 14\:44\:00\nexpires on \: 2029-02-10 14\:44\:00\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\n" X509 CRT information MD5 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_MD5_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_md5.crt":"cert. version \: 3\nserial number \: 06\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert MD5\nissued on \: 2000-01-01 12\:12\:12\nexpires on \: 2030-01-01 12\:12\:12\nsigned using \: RSA with MD5\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_sha1.crt":"cert. version \: 3\nserial number \: 07\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA224_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_sha224.crt":"cert. version \: 3\nserial number \: 08\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA-224\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_sha256.crt":"cert. version \: 3\nserial number \: 09\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA384_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_sha384.crt":"cert. version \: 3\nserial number \: 0A\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA-384\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA512_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_sha512.crt":"cert. version \: 3\nserial number \: 0B\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA-512\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information RSA-PSS, SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server9.crt":"cert. version \: 3\nserial number \: 16\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2014-01-20 13\:38\:16\nexpires on \: 2024-01-18 13\:38\:16\nsigned using \: RSASSA-PSS (SHA1, MGF1-SHA1, 0xEA)\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\n" X509 CRT information RSA-PSS, SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA224_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server9-sha224.crt":"cert. version \: 3\nserial number \: 17\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2014-01-20 13\:57\:36\nexpires on \: 2024-01-18 13\:57\:36\nsigned using \: RSASSA-PSS (SHA224, MGF1-SHA224, 0xE2)\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\n" X509 CRT information RSA-PSS, SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server9-sha256.crt":"cert. version \: 3\nserial number \: 18\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2014-01-20 13\:57\:45\nexpires on \: 2024-01-18 13\:57\:45\nsigned using \: RSASSA-PSS (SHA256, MGF1-SHA256, 0xDE)\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\n" X509 CRT information RSA-PSS, SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA384_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server9-sha384.crt":"cert. version \: 3\nserial number \: 19\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2014-01-20 13\:57\:58\nexpires on \: 2024-01-18 13\:57\:58\nsigned using \: RSASSA-PSS (SHA384, MGF1-SHA384, 0xCE)\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\n" X509 CRT information RSA-PSS, SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA512_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server9-sha512.crt":"cert. version \: 3\nserial number \: 1A\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2014-01-20 13\:58\:12\nexpires on \: 2024-01-18 13\:58\:12\nsigned using \: RSASSA-PSS (SHA512, MGF1-SHA512, 0xBE)\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5-sha1.crt":"cert. version \: 3\nserial number \: 12\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 16\:21\:27\nexpires on \: 2023-09-22 16\:21\:27\nsigned using \: ECDSA with SHA1\nEC key size \: 256 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA224_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5-sha224.crt":"cert. version \: 3\nserial number \: 13\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 16\:21\:27\nexpires on \: 2023-09-22 16\:21\:27\nsigned using \: ECDSA with SHA224\nEC key size \: 256 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5.crt":"cert. version \: 3\nserial number \: 09\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 15\:52\:04\nexpires on \: 2023-09-22 15\:52\:04\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA384_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5-sha384.crt":"cert. version \: 3\nserial number \: 14\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 16\:21\:27\nexpires on \: 2023-09-22 16\:21\:27\nsigned using \: ECDSA with SHA384\nEC key size \: 256 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA512_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5-sha512.crt":"cert. version \: 3\nserial number \: 15\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 16\:21\:27\nexpires on \: 2023-09-22 16\:21\:27\nsigned using \: ECDSA with SHA512\nEC key size \: 256 bits\nbasic constraints \: CA=false\n" X509 CRT information EC, SHA256 Digest, hardware module name SAN -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -x509_cert_info:"data_files/server5-othername.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nissued on \: 2019-03-24 09\:06\:02\nexpires on \: 2029-03-21 09\:06\:02\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 123456\n" +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_cert_info:"data_files/server5-othername.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS othername SAN\nissued on \: 2019-03-24 09\:06\:02\nexpires on \: 2029-03-21 09\:06\:02\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 313233343536\n" + +X509 CRT information EC, SHA256 Digest, binary hardware module name SAN +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_cert_info:"data_files/server5-nonprintable_othername.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS non-printable othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS non-printable othername SAN\nissued on \: 2022-09-06 15\:56\:47\nexpires on \: 2032-09-03 15\:56\:47\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 3132338081008180333231\n" X509 CRT information EC, SHA256 Digest, Wisun Fan device -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server5-fan.crt":"cert. version \: 3\nserial number \: 4D\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS FAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS FAN\nissued on \: 2019-03-25 09\:03\:46\nexpires on \: 2029-03-22 09\:03\:46\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\next key usage \: Wi-SUN Alliance Field Area Network (FAN)\n" X509 CRT information, NS Cert Type -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server1.cert_type.crt":"cert. version \: 3\nserial number \: 01\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\ncert. type \: SSL Server\n" X509 CRT information, Key Usage -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server1.key_usage.crt":"cert. version \: 3\nserial number \: 01\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2019-02-10 14\:44\:06\nexpires on \: 2029-02-10 14\:44\:06\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\nkey usage \: Digital Signature, Non Repudiation, Key Encipherment\n" X509 CRT information, Key Usage with decipherOnly -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/keyUsage.decipherOnly.crt":"cert. version \: 3\nserial number \: 9B\:13\:CE\:4C\:A5\:6F\:DE\:52\nissuer name \: C=GB, L=Cambridge, O=Default Company Ltd\nsubject name \: C=GB, L=Cambridge, O=Default Company Ltd\nissued on \: 2015-05-12 10\:36\:55\nexpires on \: 2018-05-11 10\:36\:55\nsigned using \: RSA with SHA1\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\nkey usage \: Digital Signature, Non Repudiation, Key Encipherment, Decipher Only\n" X509 CRT information, Subject Alt Name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_example_multi.crt":"cert. version \: 3\nserial number \: 11\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=www.example.com\nissued on \: 2019-07-10 11\:27\:52\nexpires on \: 2029-07-10 11\:27\:52\nsigned using \: RSA with SHA-256\nRSA key size \: 1024 bits\nsubject alt name \:\n dNSName \: example.com\n dNSName \: example.net\n dNSName \: *.example.org\n" X509 CRT information, Multiple different Subject Alt Name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -x509_cert_info:"data_files/multiple_san.crt":"cert. version \: 3\nserial number \: 04\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nissued on \: 2019-04-22 16\:10\:48\nexpires on \: 2029-04-19 16\:10\:48\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n dNSName \: example.com\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 123456\n dNSName \: example.net\n dNSName \: *.example.org\n" +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_cert_info:"data_files/multiple_san.crt":"cert. version \: 3\nserial number \: 04\nissuer name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nsubject name \: C=UK, O=Mbed TLS, CN=Mbed TLS multiple othername SAN\nissued on \: 2019-04-22 16\:10\:48\nexpires on \: 2029-04-19 16\:10\:48\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\nsubject alt name \:\n dNSName \: example.com\n otherName \:\n hardware module name \:\n hardware type \: 1.3.6.1.4.1.17.3\n hardware serial number \: 313233343536\n dNSName \: example.net\n dNSName \: *.example.org\n" X509 CRT information, Subject Alt Name + Key Usage -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/cert_example_multi_nocn.crt":"cert. version \: 3\nserial number \: F7\:C6\:7F\:F8\:E9\:A9\:63\:F9\nissuer name \: C=NL\nsubject name \: C=NL\nissued on \: 2014-01-22 10\:04\:33\nexpires on \: 2024-01-22 10\:04\:33\nsigned using \: RSA with SHA1\nRSA key size \: 1024 bits\nbasic constraints \: CA=false\nsubject alt name \:\n dNSName \: www.shotokan-braunschweig.de\n dNSName \: www.massimo-abate.eu\n \n \nkey usage \: Digital Signature, Non Repudiation, Key Encipherment\n" X509 CRT information, RSA Certificate Policy any -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-any_policy.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-03-21 16\:40\:59\nexpires on \: 2029-03-21 16\:40\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\ncertificate policies \: Any Policy\n" X509 CRT information, ECDSA Certificate Policy any -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-any_policy_ec.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nissued on \: 2019-03-25 09\:02\:45\nexpires on \: 2029-03-25 09\:02\:45\nsigned using \: ECDSA with SHA256\nEC key size \: 384 bits\nbasic constraints \: CA=true\ncertificate policies \: Any Policy\n" X509 CRT information, RSA Certificate Policy any with qualifier -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-any_policy_with_qualifier.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-04-28 13\:14\:31\nexpires on \: 2029-04-28 13\:14\:31\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\ncertificate policies \: Any Policy\n" X509 CRT information, ECDSA Certificate Policy any with qualifier -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-any_policy_with_qualifier_ec.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nissued on \: 2019-04-28 10\:16\:05\nexpires on \: 2029-04-28 10\:16\:05\nsigned using \: ECDSA with SHA256\nEC key size \: 384 bits\nbasic constraints \: CA=true\ncertificate policies \: Any Policy\n" X509 CRT information, RSA Certificate multiple Policies -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-multi_policy.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-04-28 12\:59\:19\nexpires on \: 2029-04-28 12\:59\:19\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\ncertificate policies \: ???, Any Policy\n" X509 CRT information, ECDSA Certificate multiple Policies -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-multi_policy_ec.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nissued on \: 2019-04-28 12\:59\:51\nexpires on \: 2029-04-28 12\:59\:51\nsigned using \: ECDSA with SHA256\nEC key size \: 384 bits\nbasic constraints \: CA=true\ncertificate policies \: ???, Any Policy\n" X509 CRT information, RSA Certificate unsupported policy -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-unsupported_policy.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2019-04-28 13\:00\:13\nexpires on \: 2029-04-28 13\:00\:13\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\ncertificate policies \: ???\n" X509 CRT information, ECDSA Certificate unsupported policy -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/test-ca-unsupported_policy_ec.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nissued on \: 2019-04-28 13\:00\:19\nexpires on \: 2029-04-28 13\:00\:19\nsigned using \: ECDSA with SHA256\nEC key size \: 384 bits\nbasic constraints \: CA=true\ncertificate policies \: ???\n" X509 CRT information, Key Usage + Extended Key Usage -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/server1.ext_ku.crt":"cert. version \: 3\nserial number \: 21\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2014-04-01 14\:44\:43\nexpires on \: 2024-03-29 14\:44\:43\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\nkey usage \: Digital Signature, Non Repudiation, Key Encipherment\next key usage \: TLS Web Server Authentication\n" X509 CRT information RSA signed by EC -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C x509_cert_info:"data_files/server4.crt":"cert. version \: 3\nserial number \: 08\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-09-24 15\:52\:04\nexpires on \: 2023-09-22 15\:52\:04\nsigned using \: ECDSA with SHA256\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\n" X509 CRT information EC signed by RSA -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509_cert_info:"data_files/server3.crt":"cert. version \: 3\nserial number \: 0D\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2013-08-09 09\:17\:03\nexpires on \: 2023-08-07 09\:17\:03\nsigned using \: RSA with SHA1\nEC key size \: 192 bits\nbasic constraints \: CA=false\n" X509 CRT information Bitstring in subject name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/bitstring-in-dn.pem":"cert. version \: 3\nserial number \: 02\nissuer name \: CN=Test CA 01, ST=Ecnivorp, C=XX, emailAddress=tca@example.com, O=Test CA Authority\nsubject name \: C=XX, O=tca, ST=Ecnivorp, OU=TCA, CN=Client, emailAddress=client@example.com, serialNumber=7101012255, uniqueIdentifier=?7101012255\nissued on \: 2015-03-11 12\:06\:51\nexpires on \: 2025-03-08 12\:06\:51\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\nbasic constraints \: CA=false\nsubject alt name \:\n \next key usage \: TLS Web Client Authentication\n" X509 CRT information Non-ASCII string in issuer name and subject name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_cert_info:"data_files/non-ascii-string-in-issuer.crt":"cert. version \: 3\nserial number \: 05\:E6\:53\:E7\:1B\:74\:F0\:B5\:D3\:84\:6D\:0C\:6D\:DC\:FA\:3F\:A4\:5A\:2B\:E0\nissuer name \: C=JP, ST=Tokyo, O=?????????????????? Ltd, CN=?????????????????? CA\nsubject name \: C=JP, ST=Tokyo, O=?????????????????? Ltd, CN=?????????????????? CA\nissued on \: 2020-05-20 16\:17\:23\nexpires on \: 2020-06-19 16\:17\:23\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\n" X509 SAN parsing otherName -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -x509_parse_san:"data_files/server5-othername.crt":"type \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 123456\n" +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_parse_san:"data_files/server5-othername.crt":"type \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 313233343536\n" + +X509 SAN parsing binary otherName +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_parse_san:"data_files/server5-nonprintable_othername.crt":"type \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 3132338081008180333231\n" X509 SAN parsing dNSName -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_san:"data_files/cert_example_multi.crt":"type \: 2\ndNSName \: example.com\ntype \: 2\ndNSName \: example.net\ntype \: 2\ndNSName \: *.example.org\n" X509 SAN parsing Multiple different types -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C -x509_parse_san:"data_files/multiple_san.crt":"type \: 2\ndNSName \: example.com\ntype \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 123456\ntype \: 2\ndNSName \: example.net\ntype \: 2\ndNSName \: *.example.org\n" +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_parse_san:"data_files/multiple_san.crt":"type \: 2\ndNSName \: example.com\ntype \: 0\notherName \: hardware module name \: hardware type \: 1.3.6.1.4.1.17.3, hardware serial number \: 313233343536\ntype \: 2\ndNSName \: example.net\ntype \: 2\ndNSName \: *.example.org\n" X509 SAN parsing, no subject alt name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C x509_parse_san:"data_files/server4.crt":"" X509 SAN parsing, unsupported otherName name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_san:"data_files/server5-unsupported_othername.crt":"" X509 CRL information #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_expired.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-20 10\:24\:19\nnext update \: 2011-02-20 11\:24\:19\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA1\n" X509 CRL Information MD5 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_MD5_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_md5.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with MD5\n" X509 CRL Information SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_sha1.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA1\n" X509 CRL Information SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA224_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_sha224.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA-224\n" X509 CRL Information SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_sha256.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA-256\n" X509 CRL Information SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA384_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_sha384.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA-384\n" X509 CRL Information SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA512_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl_sha512.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA with SHA-512\n" X509 CRL information RSA-PSS, SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-rsa-pss-sha1.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2014-01-20 13\:46\:35\nnext update \: 2024-01-18 13\:46\:35\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nserial number\: 16 revocation date\: 2014-01-20 13\:43\:05\nsigned using \: RSASSA-PSS (SHA1, MGF1-SHA1, 0xEA)\n" X509 CRL information RSA-PSS, SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA224_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-rsa-pss-sha224.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2014-01-20 13\:56\:06\nnext update \: 2024-01-18 13\:56\:06\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nserial number\: 16 revocation date\: 2014-01-20 13\:43\:05\nsigned using \: RSASSA-PSS (SHA224, MGF1-SHA224, 0xE2)\n" X509 CRL information RSA-PSS, SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-rsa-pss-sha256.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2014-01-20 13\:56\:16\nnext update \: 2024-01-18 13\:56\:16\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nserial number\: 16 revocation date\: 2014-01-20 13\:43\:05\nsigned using \: RSASSA-PSS (SHA256, MGF1-SHA256, 0xDE)\n" X509 CRL information RSA-PSS, SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA384_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-rsa-pss-sha384.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2014-01-20 13\:56\:28\nnext update \: 2024-01-18 13\:56\:28\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nserial number\: 16 revocation date\: 2014-01-20 13\:43\:05\nsigned using \: RSASSA-PSS (SHA384, MGF1-SHA384, 0xCE)\n" X509 CRL information RSA-PSS, SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA512_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-rsa-pss-sha512.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2014-01-20 13\:56\:38\nnext update \: 2024-01-18 13\:56\:38\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nserial number\: 16 revocation date\: 2014-01-20 13\:43\:05\nsigned using \: RSASSA-PSS (SHA512, MGF1-SHA512, 0xBE)\n" X509 CRL Information EC, SHA1 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-ec-sha1.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nthis update \: 2013-09-24 16\:31\:08\nnext update \: 2023-09-22 16\:31\:08\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nsigned using \: ECDSA with SHA1\n" X509 CRL Information EC, SHA224 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA224_C:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-ec-sha224.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nthis update \: 2013-09-24 16\:31\:08\nnext update \: 2023-09-22 16\:31\:08\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nsigned using \: ECDSA with SHA224\n" X509 CRL Information EC, SHA256 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-ec-sha256.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nthis update \: 2013-09-24 16\:31\:08\nnext update \: 2023-09-22 16\:31\:08\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nsigned using \: ECDSA with SHA256\n" X509 CRL Information EC, SHA384 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA384_C:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-ec-sha384.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nthis update \: 2013-09-24 16\:31\:08\nnext update \: 2023-09-22 16\:31\:08\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nsigned using \: ECDSA with SHA384\n" X509 CRL Information EC, SHA512 Digest -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA512_C:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_crl_info:"data_files/crl-ec-sha512.pem":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=Polarssl Test EC CA\nthis update \: 2013-09-24 16\:31\:08\nnext update \: 2023-09-22 16\:31\:08\nRevoked certificates\:\nserial number\: 0A revocation date\: 2013-09-24 16\:28\:38\nsigned using \: ECDSA with SHA512\n" X509 CRL Malformed Input (trailing spaces at end of file) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA512_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C mbedtls_x509_crl_parse:"data_files/crl-malformed-trailing-spaces.pem":MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT X509 CRL Unsupported critical extension (issuingDistributionPoint) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crl_parse:"data_files/crl-idp.pem":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRL Unsupported non-critical extension (issuingDistributionPoint) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crl_parse:"data_files/crl-idpnc.pem":0 X509 CSR Information RSA with MD5 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_MD5_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server1.req.md5":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with MD5\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server1.req.sha1":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA1\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA224 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA224_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server1.req.sha224":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-224\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA-256 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTS_X509_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTS_X509_INFO mbedtls_x509_csr_info:"data_files/server1.req.sha256":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA384 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA384_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server1.req.sha384":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-384\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA512 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA512_C:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server1.req.sha512":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-512\nRSA key size \: 2048 bits\n" X509 CSR Information RSA with SHA-256, containing commas -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTS_X509_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTS_X509_INFO mbedtls_x509_csr_info:"data_files/server1.req.commas.sha256":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL\, Commas, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\n" X509 CSR Information EC with SHA1 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server5.req.sha1":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA1\nEC key size \: 256 bits\n" X509 CSR Information EC with SHA224 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA224_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server5.req.sha224":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA224\nEC key size \: 256 bits\n" X509 CSR Information EC with SHA256 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server5.req.sha256":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA256\nEC key size \: 256 bits\n" X509 CSR Information EC with SHA384 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA384_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server5.req.sha384":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA384\nEC key size \: 256 bits\n" X509 CSR Information EC with SHA512 -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA512_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server5.req.sha512":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA512\nEC key size \: 256 bits\n" X509 CSR Information RSA-PSS with SHA1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server9.req.sha1":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: RSASSA-PSS (SHA1, MGF1-SHA1, 0x6A)\nRSA key size \: 1024 bits\n" X509 CSR Information RSA-PSS with SHA224 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA224_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server9.req.sha224":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: RSASSA-PSS (SHA224, MGF1-SHA224, 0x62)\nRSA key size \: 1024 bits\n" X509 CSR Information RSA-PSS with SHA256 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server9.req.sha256":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: RSASSA-PSS (SHA256, MGF1-SHA256, 0x5E)\nRSA key size \: 1024 bits\n" X509 CSR Information RSA-PSS with SHA384 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA384_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server9.req.sha384":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: RSASSA-PSS (SHA384, MGF1-SHA384, 0x4E)\nRSA key size \: 1024 bits\n" X509 CSR Information RSA-PSS with SHA512 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA512_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_info:"data_files/server9.req.sha512":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: RSASSA-PSS (SHA512, MGF1-SHA512, 0x3E)\nRSA key size \: 1024 bits\n" X509 CSR Information RSA with SHA-256 - Microsoft header -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_csr_info:"data_files/server1-ms.req.sha256":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\n" X509 Verify Information: empty @@ -364,43 +372,43 @@ X509 Verify Information: two issues, with prefix x509_verify_info:MBEDTLS_X509_BADCERT_EXPIRED | MBEDTLS_X509_BADCRL_EXPIRED:" ! ":" ! The certificate validity has expired\n ! The CRL is expired\n" X509 Get Distinguished Name #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets:"data_files/server1.crt":"subject":"C=NL, O=PolarSSL, CN=PolarSSL Server 1" X509 Get Distinguished Name #2 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets:"data_files/server1.crt":"issuer":"C=NL, O=PolarSSL, CN=PolarSSL Test CA" X509 Get Distinguished Name #3 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets:"data_files/server2.crt":"subject":"C=NL, O=PolarSSL, CN=localhost" X509 Get Distinguished Name #4 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets:"data_files/server2.crt":"issuer":"C=NL, O=PolarSSL, CN=PolarSSL Test CA" X509 Get Distinguished Name #5 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets:"data_files/server1.commas.crt":"subject":"C=NL, O=PolarSSL\, Commas, CN=PolarSSL Server 1" X509 Get Modified DN #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets_subject_replace:"data_files/server1.crt":"Modified":"C=NL, O=Modified, CN=PolarSSL Server 1":0 X509 Get Modified DN #2 Name exactly 255 bytes -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets_subject_replace:"data_files/server1.crt":"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345":"C=NL, O=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345, CN=PolarSSL Server 1":0 X509 Get Modified DN #3 Name exceeds 255 bytes -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets_subject_replace:"data_files/server1.crt":"1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456":"":MBEDTLS_ERR_X509_BUFFER_TOO_SMALL X509 Get Modified DN #4 Name exactly 255 bytes, with comma requiring escaping -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets_subject_replace:"data_files/server1.crt":"1234567890,1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234":"":MBEDTLS_ERR_X509_BUFFER_TOO_SMALL X509 Get Modified DN #5 Name exactly 255 bytes, ending with comma requiring escaping -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_dn_gets_subject_replace:"data_files/server1.crt":"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234,":"":MBEDTLS_ERR_X509_BUFFER_TOO_SMALL X509 Get Next DN #1 No Multivalue RDNs @@ -415,600 +423,640 @@ mbedtls_x509_dn_get_next:"C=NL, O=PolarSSL, CN=PolarSSL Server 1":0x03:"C":1:"C= X509 Get Next DN #4 Consecutive Multivalue RDNs mbedtls_x509_dn_get_next:"C=NL, O=PolarSSL, title=Example, CN=PolarSSL Server 1":0x05:"C title":2:"C=NL + O=PolarSSL, title=Example + CN=PolarSSL Server 1" +# Parse the following valid DN: +# +# 31 0B <- Set of +# 30 09 <- Sequence of +# 06 03 55 04 06 <- OID 2.5.4.6 countryName (C) +# 13 02 4E 4C <- PrintableString "NL" +# 31 11 <- Set of +# 30 0F <- Sequence of +# 06 03 55 04 0A <- OID 2.5.4.10 organizationName (O) +# 0C 08 50 6F 6C 61 72 53 53 4C <- UTF8String "PolarSSL" +# 31 19 <- Set of +# 30 17 <- Sequence of +# 06 03 55 04 03 <- OID 2.5.4.3 commonName (CN) +# 0C 10 50 6F 6C 61 72 53 53 4C 20 54 65 73 74 20 43 41 <- UTF8String "PolarSSL Test CA" +# +X509 Get Name Valid DN +mbedtls_x509_get_name:"310B3009060355040613024E4C3111300F060355040A0C08506F6C617253534C3119301706035504030C10506F6C617253534C2054657374204341":0 + +# Parse the following corrupted DN: +# +# 31 0B <- Set of +# 30 09 <- Sequence of +# 06 03 55 04 06 <- OID 2.5.4.6 countryName (C) +# 13 02 4E 4C <- PrintableString "NL" +# 31 11 <- Set of +# 30 0F <- Sequence of +# 06 03 55 04 0A <- OID 2.5.4.10 organizationName (O) +# 0C 08 50 6F 6C 61 72 53 53 4C <- UTF8String "PolarSSL" +# 30 19 <- Sequence of (corrupted) +# 30 17 <- Sequence of +# 06 03 55 04 03 <- OID 2.5.4.3 commonName (CN) +# 0C 10 50 6F 6C 61 72 53 53 4C 20 54 65 73 74 20 43 41 <- UTF8String "PolarSSL Test CA" +# +# The third 'Set of' is corrupted to instead be a 'Sequence of', causing an +# error and forcing mbedtls_x509_get_name() to clean up the names it has +# already allocated. +# +X509 Get Name Corrupted DN Mem Leak +mbedtls_x509_get_name:"310B3009060355040613024E4C3111300F060355040A0C08506F6C617253534C3019301706035504030C10506F6C617253534C2054657374204341":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG + X509 Time Expired #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/server1.crt":"valid_from":1 X509 Time Expired #2 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/server1.crt":"valid_to":0 X509 Time Expired #3 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/server2.crt":"valid_from":1 X509 Time Expired #4 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/server2.crt":"valid_to":0 X509 Time Expired #5 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/test-ca.crt":"valid_from":1 X509 Time Expired #6 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_past:"data_files/test-ca.crt":"valid_to":0 X509 Time Future #1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/server5.crt":"valid_from":0 X509 Time Future #2 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/server5.crt":"valid_to":1 X509 Time Future #3 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/server5-future.crt":"valid_from":1 X509 Time Future #4 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/server5-future.crt":"valid_to":1 X509 Time Future #5 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/test-ca2.crt":"valid_from":0 X509 Time Future #6 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_time_is_future:"data_files/test-ca2.crt":"valid_to":1 X509 CRT verification #1 (Revoked Cert, Expired CRL, no CN) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_EXPIRED:"compat":"NULL" X509 CRT verification #1a (Revoked Cert, Future CRL, no CN) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca2.crt":"data_files/crl-future.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_FUTURE:"compat":"NULL" X509 CRT verification #2 (Revoked Cert, Expired CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"PolarSSL Server 1":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_EXPIRED:"compat":"NULL" X509 CRT verification #2a (Revoked Cert, Future CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca2.crt":"data_files/crl-future.pem":"localhost":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_FUTURE:"compat":"NULL" X509 CRT verification #3 (Revoked Cert, Future CRL, CN Mismatch) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"PolarSSL Wrong CN":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_EXPIRED | MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #3a (Revoked Cert, Expired CRL, CN Mismatch) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca2.crt":"data_files/crl-future.pem":"Wrong CN":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCRL_FUTURE | MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #4 (Valid Cert, Expired CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server2.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCRL_EXPIRED:"compat":"NULL" X509 CRT verification #4a (Revoked Cert, Future CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-future.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCRL_FUTURE:"compat":"NULL" X509 CRT verification #5 (Revoked Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #5' (Revoked Cert, differing DN string formats #1) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca_utf8.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #5'' (Revoked Cert, differing DN string formats #2) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca_printable.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #5''' (Revoked Cert, differing upper and lower case) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca_uppercase.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #6 (Revoked Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"PolarSSL Server 1":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #7 (Revoked Cert, CN Mismatch) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"PolarSSL Wrong CN":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED | MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #8 (Valid Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #8a (Expired Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server5-expired.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_EXPIRED:"compat":"NULL" X509 CRT verification #8b (Future Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server5-future.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_FUTURE:"compat":"NULL" X509 CRT verification #8c (Expired Cert, longer chain) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server7-expired.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_EXPIRED:"compat":"NULL" X509 CRT verification #8d (Future Cert, longer chain) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server7-future.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_FUTURE:"compat":"NULL" X509 CRT verification #9 (Not trusted Cert) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #10 (Not trusted Cert, Expired CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl_expired.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #13 (Valid Cert MD5 Digest, MD5 forbidden) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_md5.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_BAD_MD:"compat":"NULL" X509 CRT verification #13 (Valid Cert MD5 Digest, MD5 allowed) -depends_on:MBEDTLS_MD5_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_md5.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"all":"NULL" X509 CRT verification #14 (Valid Cert SHA1 Digest explicitly allowed in profile) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #14 (Valid Cert SHA1 Digest forbidden in default profile) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCRL_BAD_MD | MBEDTLS_X509_BADCERT_BAD_MD:"":"NULL" X509 CRT verification #15 (Valid Cert SHA224 Digest) -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha224.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #16 (Valid Cert SHA256 Digest) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha256.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #17 (Valid Cert SHA384 Digest) -depends_on:MBEDTLS_SHA384_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha384.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #18 (Valid Cert SHA512 Digest) -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha512.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #19 (Valid Cert, denying callback) -depends_on:MBEDTLS_SHA512_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_sha512.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_OTHER:"compat":"verify_none" X509 CRT verification #19 (Not trusted Cert, allowing callback) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl_expired.pem":"NULL":0:0:"compat":"verify_all" X509 CRT verification #21 (domain matching wildcard certificate, case insensitive) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_wildcard.crt":"data_files/test-ca.crt":"data_files/crl.pem":"mail.ExAmPlE.com":0:0:"compat":"NULL" X509 CRT verification #22 (domain not matching wildcard certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_wildcard.crt":"data_files/test-ca.crt":"data_files/crl.pem":"mail.example.net":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #23 (domain not matching wildcard certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_wildcard.crt":"data_files/test-ca.crt":"data_files/crl.pem":"example.com":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #24 (domain matching CN of multi certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"www.example.com":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #25 (domain matching multi certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"example.net":0:0:"compat":"NULL" X509 CRT verification #26 (domain not matching multi certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"www.example.net":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #27.1 (domain not matching multi certificate: suffix) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"xample.net":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #27.2 (domain not matching multi certificate: head junk) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"bexample.net":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #28 (domain not matching wildcard in multi certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"example.org":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"compat":"NULL" X509 CRT verification #29 (domain matching wildcard in multi certificate) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi.crt":"data_files/test-ca.crt":"data_files/crl.pem":"mail.example.org":0:0:"compat":"NULL" X509 CRT verification #30 (domain matching multi certificate without CN) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi_nocn.crt":"data_files/test-ca.crt":"data_files/crl.pem":"www.shotokan-braunschweig.de":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #31 (domain not matching multi certificate without CN) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/cert_example_multi_nocn.crt":"data_files/test-ca.crt":"data_files/crl.pem":"www.example.net":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH + MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #32 (Valid, EC cert, RSA CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server3.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #33 (Valid, RSA cert, EC CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server4.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #34 (Valid, EC cert, EC CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #35 (Revoked, EC CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #36 (Valid, EC CA, SHA1 Digest) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5-sha1.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #37 (Valid, EC CA, SHA224 Digest) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA224_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5-sha224.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #38 (Valid, EC CA, SHA384 Digest) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_SHA384_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5-sha384.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #39 (Valid, EC CA, SHA512 Digest) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_SHA512_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5-sha512.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #40 (Valid, depth 0, RSA, CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/test-ca.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #41 (Valid, depth 0, EC, CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/test-ca2.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #42 (Depth 0, not CA, RSA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2.crt":"data_files/server2.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #43 (Depth 0, not CA, EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/server5.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #44 (Corrupted signature, EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #45 (Corrupted signature, RSA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2-badsign.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #45b (Corrupted signature, intermediate CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server7-badsign.crt":"data_files/test-ca2.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #46 (Valid, depth 2, EC-RSA-EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server7_int-ca.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #47 (Untrusted, depth 2, EC-RSA-EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server7_int-ca.crt":"data_files/test-ca.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #48 (Missing intermediate CA, EC-RSA-EC) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server7.crt":"data_files/test-ca.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #49 (Valid, depth 2, RSA-EC-RSA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server8_int-ca2.crt":"data_files/test-ca.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #50 (Valid, multiple CAs) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2.crt":"data_files/test-ca_cat12.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #51 (Valid, multiple CAs, reverse order) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2.crt":"data_files/test-ca_cat21.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #52 (CA keyUsage valid) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.ku-crt_crl.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #53 (CA keyUsage missing cRLSign) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.ku-crt.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCRL_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #54 (CA keyUsage missing cRLSign, no CRL) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509_verify:"data_files/server5.crt":"data_files/test-ca2.ku-crt.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #55 (CA keyUsage missing keyCertSign) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.ku-crl.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #56 (CA keyUsage plain wrong) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.ku-ds.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #57 (Valid, RSASSA-PSS, SHA-1) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PKCS1_V15 x509_verify:"data_files/server9.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #58 (Valid, RSASSA-PSS, SHA-224) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA224_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-sha224.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha224.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #59 (Valid, RSASSA-PSS, SHA-256) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-sha256.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #60 (Valid, RSASSA-PSS, SHA-384) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA384_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-sha384.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha384.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #61 (Valid, RSASSA-PSS, SHA-512) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA512_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-sha512.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha512.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #62 (Revoked, RSASSA-PSS, SHA-1) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server9.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #63 (Revoked, RSASSA-PSS, SHA-1, CRL badsign) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha1-badsign.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCRL_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #64 (Valid, RSASSA-PSS, SHA-1, not top) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/server9-with-ca.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #65 (RSASSA-PSS, SHA1, bad cert signature) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-badsign.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #66 (RSASSA-PSS, SHA1, no RSA CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9.crt":"data_files/test-ca2.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #67 (Valid, RSASSA-PSS, all defaults) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-defaults.crt":"data_files/test-ca.crt":"data_files/crl-rsa-pss-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #68 (RSASSA-PSS, wrong salt_len) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-bad-saltlen.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #69 (RSASSA-PSS, wrong mgf_hash) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server9-bad-mgfhash.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #70 (v1 trusted CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server1-v1.crt":"data_files/test-ca-v1.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #71 (v1 trusted CA, other) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2-v1.crt":"data_files/server1-v1.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #72 (v1 chain) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server2-v1-chain.crt":"data_files/test-ca-v1.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #73 (selfsigned trusted without CA bit) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509_verify:"data_files/server5-selfsigned.crt":"data_files/server5-selfsigned.crt":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #74 (signed by selfsigned trusted without CA bit) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509_verify:"data_files/server6-ss-child.crt":"data_files/server5-selfsigned.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"compat":"NULL" X509 CRT verification #75 (encoding mismatch) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/enco-cert-utf8str.pem":"data_files/enco-ca-prstr.pem":"data_files/crl.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #76 (multiple CRLs, not revoked) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca_cat12.crt":"data_files/crl_cat_ec-rsa.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #77 (multiple CRLs, revoked) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca_cat12.crt":"data_files/crl_cat_ec-rsa.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #78 (multiple CRLs, revoked by second) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca_cat12.crt":"data_files/crl_cat_rsa-ec.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #79 (multiple CRLs, revoked by future) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server6.crt":"data_files/test-ca_cat12.crt":"data_files/crl_cat_ecfut-rsa.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED|MBEDTLS_X509_BADCRL_FUTURE:"compat":"NULL" X509 CRT verification #80 (multiple CRLs, first future, revoked by second) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca_cat12.crt":"data_files/crl_cat_ecfut-rsa.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification #81 (multiple CRLs, none relevant) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/enco-cert-utf8str.pem":"data_files/enco-ca-prstr.pem":"data_files/crl_cat_rsa-ec.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #82 (Not yet valid CA and valid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-future-present.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #83 (valid CA and Not yet valid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-present-future.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #84 (valid CA and Not yet valid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-present-past.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #85 (Not yet valid CA and valid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-past-present.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #86 (Not yet valid CA and invalid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-future-invalid.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_FUTURE:"compat":"NULL" X509 CRT verification #87 (Expired CA and invalid CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server5.crt":"data_files/test-ca2_cat-past-invalid.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_EXPIRED:"compat":"NULL" X509 CRT verification #88 (Spurious cert in the chain) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/server7_spurious_int-ca.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #89 (Spurious cert later in the chain) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify:"data_files/server10_int3_spurious_int-ca2.crt":"data_files/test-ca.crt":"data_files/crl-ec-sha1.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #90 (EE with same name as trusted root) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server5-ss-forgeca.crt":"data_files/test-int-ca3.crt":"data_files/crl-ec-sha1.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:"":"NULL" X509 CRT verification #91 (same CA with good then bad key) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C x509_verify:"data_files/server1.crt":"data_files/test-ca-good-alt.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #91 (same CA with bad then good key) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C x509_verify:"data_files/server1.crt":"data_files/test-ca-alt-good.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"compat":"NULL" X509 CRT verification #92 (bad name, allowing callback) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"globalhost":0:0:"":"verify_all" X509 CRT verification #93 (Suite B invalid, EC cert, RSA CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/server3.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_BAD_MD|MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY|MBEDTLS_X509_BADCRL_BAD_MD|MBEDTLS_X509_BADCRL_BAD_PK:"suite_b":"NULL" X509 CRT verification #94 (Suite B invalid, RSA cert, EC CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server4.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_BAD_PK:"suite_b":"NULL" X509 CRT verification #95 (Suite B Valid, EC cert, EC CA) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"suite_b":"NULL" X509 CRT verification #96 (next profile Invalid Cert SHA224 Digest) -depends_on:MBEDTLS_SHA224_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/cert_sha224.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_BAD_MD|MBEDTLS_X509_BADCRL_BAD_MD:"next":"NULL" X509 CRT verification #97 (next profile Valid Cert SHA256 Digest) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify:"data_files/cert_sha256.crt":"data_files/test-ca.crt":"data_files/crl-ec-sha256.pem":"NULL":0:0:"next":"NULL" X509 CRT verification #98 (Revoked Cert, revocation date in the future, _with_ MBEDTLS_HAVE_TIME_DATE) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl-futureRevocationDate.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED|MBEDTLS_X509_BADCRL_FUTURE:"compat":"NULL" X509 CRT verification #99 (Revoked Cert, revocation date in the future, _without_ MBEDTLS_HAVE_TIME_DATE) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:!MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:!MBEDTLS_HAVE_TIME_DATE x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl-futureRevocationDate.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_REVOKED:"compat":"NULL" X509 CRT verification: domain identical to IPv4 in SubjectAltName -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C x509_verify:"data_files/server5-tricky-ip-san.crt":"data_files/server5-tricky-ip-san.crt":"data_files/crl_sha256.pem":"abcd":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"":"NULL" X509 CRT verification: domain identical to IPv6 in SubjectAltName -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C x509_verify:"data_files/server5-tricky-ip-san.crt":"data_files/server5-tricky-ip-san.crt":"data_files/crl_sha256.pem":"abcd.example.com":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_CN_MISMATCH:"":"NULL" X509 CRT verification with ca callback: failure -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK x509_verify_ca_cb_failure:"data_files/server1.crt":"data_files/test-ca.crt":"NULL":MBEDTLS_ERR_X509_FATAL_ERROR X509 CRT verification callback: bad name -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_callback:"data_files/server5.crt":"data_files/test-ca2.crt":"globalhost":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 1 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 0 - serial 09 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000004\n" X509 CRT verification callback: trusted EE cert -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED x509_verify_callback:"data_files/server5-selfsigned.crt":"data_files/server5-selfsigned.crt":"NULL":0:"depth 0 - serial 53\:A2\:CB\:4B\:12\:4E\:AD\:83\:7D\:A8\:94\:B2 - subject CN=selfsigned, OU=testing, O=PolarSSL, C=NL - flags 0x00000000\n" X509 CRT verification callback: trusted EE cert, expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server5-ss-expired.crt":"data_files/server5-ss-expired.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 0 - serial D8\:64\:61\:05\:E3\:A3\:CD\:78 - subject C=UK, O=mbed TLS, OU=testsuite, CN=localhost - flags 0x00000001\n" X509 CRT verification callback: simple -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_verify_callback:"data_files/server1.crt":"data_files/test-ca.crt":"NULL":0:"depth 1 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 0 - serial 01 - subject C=NL, O=PolarSSL, CN=PolarSSL Server 1 - flags 0x00000000\n" X509 CRT verification callback: simple, EE expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server5-expired.crt":"data_files/test-ca2.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 1 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 0 - serial 1E - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000001\n" X509 CRT verification callback: simple, root expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server5.crt":"data_files/test-ca2-expired.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 1 - serial 01 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000001\ndepth 0 - serial 09 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: two trusted roots -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server1.crt":"data_files/test-ca_cat12.crt":"NULL":0:"depth 1 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 0 - serial 01 - subject C=NL, O=PolarSSL, CN=PolarSSL Server 1 - flags 0x00000000\n" X509 CRT verification callback: two trusted roots, reversed order -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server1.crt":"data_files/test-ca_cat21.crt":"NULL":0:"depth 1 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 0 - serial 01 - subject C=NL, O=PolarSSL, CN=PolarSSL Server 1 - flags 0x00000000\n" X509 CRT verification callback: root included -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server1_ca.crt":"data_files/test-ca_cat21.crt":"NULL":0:"depth 1 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 0 - serial 01 - subject C=NL, O=PolarSSL, CN=PolarSSL Server 1 - flags 0x00000000\n" X509 CRT verification callback: intermediate ca -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server7_int-ca.crt":"data_files/test-ca_cat12.crt":"NULL":0:"depth 2 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: intermediate ca, root included -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server7_int-ca_ca2.crt":"data_files/test-ca_cat12.crt":"NULL":0:"depth 2 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: intermediate ca trusted -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server7_int-ca_ca2.crt":"data_files/test-int-ca.crt":"NULL":0:"depth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: intermediate ca, EE expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server7-expired.crt":"data_files/test-ca2.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 2 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000001\n" X509 CRT verification callback: intermediate ca, int expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server7_int-ca-exp.crt":"data_files/test-ca2.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 2 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000001\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: intermediate ca, root expired -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C:MBEDTLS_HAVE_TIME_DATE +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAVE_TIME_DATE x509_verify_callback:"data_files/server7_int-ca.crt":"data_files/test-ca2-expired.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 2 - serial 01 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000001\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000000\n" X509 CRT verification callback: two intermediates -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server10_int3_int-ca2.crt":"data_files/test-ca_cat21.crt":"NULL":0:"depth 3 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 2 - serial 0F - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate EC CA - flags 0x00000000\ndepth 1 - serial 4D - subject C=UK, O=mbed TLS, CN=mbed TLS Test intermediate CA 3 - flags 0x00000000\ndepth 0 - serial 4B - subject CN=localhost - flags 0x00000000\n" X509 CRT verification callback: two intermediates, root included -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca_cat21.crt":"NULL":0:"depth 3 - serial 03 - subject C=NL, O=PolarSSL, CN=PolarSSL Test CA - flags 0x00000000\ndepth 2 - serial 0F - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate EC CA - flags 0x00000000\ndepth 1 - serial 4D - subject C=UK, O=mbed TLS, CN=mbed TLS Test intermediate CA 3 - flags 0x00000000\ndepth 0 - serial 4B - subject CN=localhost - flags 0x00000000\n" X509 CRT verification callback: two intermediates, top int trusted -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server10_int3_int-ca2.crt":"data_files/test-int-ca2.crt":"NULL":0:"depth 2 - serial 0F - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate EC CA - flags 0x00000000\ndepth 1 - serial 4D - subject C=UK, O=mbed TLS, CN=mbed TLS Test intermediate CA 3 - flags 0x00000000\ndepth 0 - serial 4B - subject CN=localhost - flags 0x00000000\n" X509 CRT verification callback: two intermediates, low int trusted -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-int-ca3.crt":"NULL":0:"depth 1 - serial 4D - subject C=UK, O=mbed TLS, CN=mbed TLS Test intermediate CA 3 - flags 0x00000000\ndepth 0 - serial 4B - subject CN=localhost - flags 0x00000000\n" X509 CRT verification callback: no intermediate, bad signature -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_callback:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 0 - serial 09 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000008\n" X509 CRT verification callback: one intermediate, bad signature -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_verify_callback:"data_files/server7-badsign.crt":"data_files/test-ca2.crt":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"depth 2 - serial C1\:43\:E2\:7E\:62\:43\:CC\:E8 - subject C=NL, O=PolarSSL, CN=Polarssl Test EC CA - flags 0x00000000\ndepth 1 - serial 0E - subject C=NL, O=PolarSSL, CN=PolarSSL Test Intermediate CA - flags 0x00000000\ndepth 0 - serial 10 - subject C=NL, O=PolarSSL, CN=localhost - flags 0x00000008\n" X509 CRT ASN1 (Empty Certificate) @@ -1045,500 +1093,500 @@ X509 CRT ASN1 (inv TBS, length out of bounds) x509parse_crt:"30023003":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS empty) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30153000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, invalid version tag, serial missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301730020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, valid outer version tag, no outer length) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30163001a0300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv inner version tag) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30193004a0020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, valid inner version tag, no inner length) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30183003a00102300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, valid inner version tag, inv inner length encoding) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30193004a0020285300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, valid inner version tag, inner length too large for int) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C # tbsCertificate.version = 0x01000000000000000000000000000000 rejected by mbedtls_asn1_get_int x509parse_crt:"30293014a012021001000000000000000000000000000000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, valid inner version tag, inner vs. outer length mismatch) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301b3006a00402010200300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, valid version tag, length exceeds TBS) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30293014a012021100000000000000000000000000000000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_VERSION + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, valid version tag + length, unknown version number 3) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308196308180a0030201038204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_UNKNOWN_VERSION X509 CRT ASN1 (TBS, valid version tag + length, unknown version number 4) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308196308180a0030201048204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_UNKNOWN_VERSION X509 CRT ASN1 (TBS, valid version tag + length, version number overflow) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308199308183a00602047FFFFFFF8204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_UNKNOWN_VERSION X509 CRT ASN1 (TBS, serial missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301a3005a003020102300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv serial, tag wrong) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301c3007a0030201020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv serial, length missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301b3006a00302010282300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv serial, inv length encoding) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301c3007a0030201028285300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv serial, length out of bounds) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"301c3007a0030201028201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, AlgID missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3020300ba0030201028204deadbeef300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv AlgID, tag wrong) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3022300da0030201028204deadbeef0500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv AlgID, OID missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"307b3073a0030201008204deadbeef3000300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff3000030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv AlgID, OID tag wrong) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"307f3075a0030201008204deadbeef30020500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff30020500030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv AlgID, OID inv length encoding) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"307f3075a0030201008204deadbeef30020685300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff30020685030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv AlgID, OID length out of bounds) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"307f3075a0030201008204deadbeef30020601300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff30020601030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv AlgID, OID empty) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"307f3075a0030201008204deadbeef30020600300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff30020600030200ff":"":MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG + MBEDTLS_ERR_OID_NOT_FOUND X509 CRT ASN1 (TBS, inv AlgID, OID unknown) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3081873079a0030201008204deadbeef30060604deadbeef300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff30060604deadbeef030200ff":"":MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG + MBEDTLS_ERR_OID_NOT_FOUND X509 CRT ASN1 (TBS, inv AlgID, param inv length encoding) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0685300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0685030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv AlgID, param length out of bounds) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0601300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0601030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv AlgID, param length mismatch) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"30819a308182a0030201008204deadbeef300f06092a864886f70d01010b06010000300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300f06092a864886f70d01010b06010000030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv AlgID, params present but empty) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0600300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0600030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG X509 CRT ASN1 (TBS, inv AlgID, bad RSASSA-PSS params) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_X509_RSASSA_PSS_SUPPORT +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_X509_RSASSA_PSS_SUPPORT x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010a3100300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010a3100030200ff":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, Issuer missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"302f301aa0030201008204deadbeef300d06092a864886f70d01010b0500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, RDNSequence inv tag) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3031301ca0030201008204deadbeef300d06092a864886f70d01010b05000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Issuer, RDNSequence length missing) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3030301ba0030201008204deadbeef300d06092a864886f70d01010b050030300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, RDNSequence inv length encoding) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3031301ca0030201008204deadbeef300d06092a864886f70d01010b05003085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Issuer, RDNSequence length out of bounds) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3031301ca0030201008204deadbeef300d06092a864886f70d01010b05003001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, RDNSequence empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201028204deadbeef300d06092a864886f70d01010b05003000301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, RDN inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b050030020500301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Issuer, RDN inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b050030023185301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Issuer, RDN length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b050030023101301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, RDN empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b050030023100301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300431020500301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300431023085301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300431023001301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300431023000301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue type inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b05003006310430020500301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue type inv no length data) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818e3079a0030201028204deadbeef300d06092a864886f70d01010b050030053103300106301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue type inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b05003006310430020685301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue type length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b05003006310430020601301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b05003006310430020600301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b050030083106300406000500301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG; X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308190307ba0030201028204deadbeef300d06092a864886f70d01010b050030073105300306000c301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b050030083106300406000C85301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b050030083106300406000c01301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Issuer, AttrTypeAndValue value length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308193307ea0030201028204deadbeef300d06092a864886f70d01010b0500300a3108300606000c010000301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv Issuer, 2nd AttributeTypeValue empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300e310c300806000c04546573743000301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, Validity missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"303d3028a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c0454657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"303f302aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c04546573740500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Validity, length field missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"303e3029a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c045465737430300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"303f302aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c04546573743085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Validity, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"303f302aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c04546573743001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notBefore missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30793064a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c04546573743000300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notBefore inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307b3066a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c045465737430020500300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Validity, notBefore no length) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307a3065a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c0454657374300117300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notBefore inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307b3066a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c04546573743002178f300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Validity, notBefore length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307b3066a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a300806000c045465737430021701300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notBefore empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a3008060013045465737430101700170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE X509 CRT ASN1 (TBS, inv Validity, notBefore invalid) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303000000000170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE X509 CRT ASN1 (TBS, inv Validity, notAfter missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081873072a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374300e170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notAfter inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a300806001304546573743010170c3039313233313233353935390500300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Validity, notAfter length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081883073a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374300f170c30393132333132333539353917300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notAfter inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a300806001304546573743010170c3039313233313233353935391785300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Validity, notAfter length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a300806001304546573743010170c3039313233313233353935391701300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Validity, notAfter empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a300806001304546573743010170c3039313233313233353935391700300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE X509 CRT ASN1 (TBS, inv Validity, notAfter invalid) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303931323331323335393539170c303930313031303000000000300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE X509 CRT ASN1 (TBS, inv Validity, data remaining after 'notAfter') -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301e170c303930313031303030303030170c3039313233313233353935391700300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, Subject missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"305b3046a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, RDNSequence inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"305c3047a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353900300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Subject, RDNSequence length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"305c3047a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, RDNSequence inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"305d3048a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Subject, RDNSequence length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"305d3048a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, RDN inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930020500302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Subject, RDN inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930023185302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Subject, RDN length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930023101302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, RDN empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818b3076a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930023100302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300431020500302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300431023085302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300431023001302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818d3078a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300431023000302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue type inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393006310430020500302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue type inv no length data) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818e3079a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930053103300106302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue type inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393006310430020685302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue type length out of bounds ) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393006310430020601302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30818f307aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c3039313233313233353935393006310430020600302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930083106300406000500302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG; X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308190307ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930073105300306000c302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930083106300406000C85302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308191307ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c30393132333132333539353930083106300406000c01302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv Subject, AttrTypeAndValue value length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308193307ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300a3108300606000c010000302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv Subject, 2nd AttributeTypeValue empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300e310c300806000c04546573743000302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, SubPubKeyInfo missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30693054a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306b3056a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573740500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306a3055a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a3008060013045465737430300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306b3056a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv SubPubKeyInfo, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306b3056a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306b3056a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv algorithm tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306d3058a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a3008060013045465737430020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, algorithm length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306c3057a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374300130300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, algorithm inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306d3058a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a3008060013045465737430023085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv SubPubKeyInfo, algorithm length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"306d3058a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a3008060013045465737430023001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, algorithm empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081883073a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374301d300003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, algorithm unknown) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010100050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_UNKNOWN_PK_ALG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, bitstring missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307a3065a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374300f300d06092A864886F70D0101010500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, bitstring inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307c3067a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743011300d06092A864886F70D01010105000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, bitstring length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307b3066a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743010300d06092A864886F70D010101050003300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, bitstring inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307c3067a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743011300d06092A864886F70D01010105000385300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv SubPubKeyInfo, bitstring length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307c3067a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743011300d06092A864886F70D01010105000301300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, no bitstring data) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307c3067a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743011300d06092A864886F70D01010105000300300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_INVALID_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv bitstring start) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"307d3068a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743012300d06092A864886F70D0101010500030101300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_INVALID_DATA X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv internal bitstring length) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308180306ba0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743015300d06092A864886F70D0101010500030400300000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv internal bitstring tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308180306ba0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a300806001304546573743015300d06092A864886F70D0101010500030400310000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, inv RSA modulus) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081873072a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374301c300d06092A864886F70D0101010500030b0030080202ffff0302ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv SubPubKeyInfo, total length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081893074a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374301e300d06092A864886F70D0101010500030b0030080202ffff0202ffff0500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv SubPubKeyInfo, check failed) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081873072a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374301c300d06092A864886F70D0101010500030b0030080202ffff0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY X509 CRT ASN1 (TBS, inv SubPubKeyInfo, check failed, expanded length notation) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210fffffffffffffffffffffffffffffffe0202ffff300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_PK_INVALID_PUBKEY # We expect an extension parsing error here because the IssuerID is optional. @@ -1547,497 +1595,497 @@ x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b05003 # namely the v3 extensions. However, the tag the test exercises is a NULL tag, # and hence we obtain an INVALID_TAG error during extension parsing. X509 CRT ASN1 (TBS, inv IssuerID, inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff0500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv IssuerID, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308197308181a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa1300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv IssuerID, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa185300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv IssuerID, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa101300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, no IssuerID, inv SubjectID, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308197308181a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa2300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, no IssuerID, inv SubjectID, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa285300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, no IssuerID, inv SubjectID, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, valid IssuerID, inv SubjectID, inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819a308184a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa1000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBSCertificate v3, ext SubjectAlternativeName malformed) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30820220308201ffa0030201020209202020202020202020300d06092a864886f70d01010505003045310b30090603202020130220203113301106032020200c0a202020202020202020203121301f06032020200c18202020202020202020202020202020202020202020202020301e170d3134303432333230353034305a170d3137303432323230353034305a3045310b30090603202020130220203113301106032020200c0a202020202020202020203121301f06032020200c1820202020202020202020202020202020202020202020202030819f300d06092a864886f70d010101050003818d003081890281812020202020202020ff20202020202020202020202020202020202020ff202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020ff020320ffffa350304e301d0603202020041620202020202020202020202020202020202020202020301f0603551d11041830169104202020208000be002020202020202020202020202020202020202020202020202020202020202020ff20202020202020202020202020202020202020ff2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020ff2020ff202020202020202020202020202020ff2020202020202020202020202020202020202020202020202020":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, valid IssuerID, inv SubjectID, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a2300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, valid IssuerID, inv SubjectID, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819a308184a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a285300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, valid IssuerID, inv SubjectID, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819a308184a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, IssuerID unsupported in v1 CRT) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819a308184a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, SubjectID unsupported in v1 CRT) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819a308184a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa200a201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv v3Ext, inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819c308186a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a2000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, outer length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819b308185a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, outer length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819c308186a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a385300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, outer length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819c308186a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a301300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, outer length 0) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819c308186a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a300300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, inner tag invalid) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819e308188a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, inner length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819d308187a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30130300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, inner length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819e308188a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3023085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, inner length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819e308188a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3023001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, inner/outer length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819f308189a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a303300000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv v3Ext, first ext inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a030818aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30430020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, first ext length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819f308189a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a303300130300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, inv first ext length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a030818aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30430023085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, first ext length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a030818aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30430023001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, first ext empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a030818aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30430023000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, first ext extnID inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a230818ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a306300430020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, first ext extnID length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a130818ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3053003300106300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, first ext extnID inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a230818ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a306300430020685300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, first ext extnID length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a230818ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a306300430020601300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, no extnValue) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a230818ca0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a306300430020600300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, inv critical tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a430818ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3083006300406000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, critical length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a330818da0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30730053003060001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, critical inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a430818ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3083006300406000185300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, critical length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a430818ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3083006300406000101300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, critical length 0) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a430818ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3083006300406000100300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, critical length 2) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a6308190a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30a30083006060001020000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, extnValue inv tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a7308191a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30b3009300706000101000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, extnValue length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a6308190a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30a30083006060001010004300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, extnValue length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a7308191a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30b3009300706000101000485300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv v3Ext, extnValue length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a7308191a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30b3009300706000101000401300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv v3Ext, data remaining after extnValue) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a9308193a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30d300b3009060001010004000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, data missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a7308191a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30b300930070603551d200400300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, invalid outer tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a9308193a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30d300b30090603551d2004020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, outer length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a8308192a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30c300a30080603551d20040130300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, outer length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a9308193a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30d300b30090603551d2004023085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, outer length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a9308193a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30d300b30090603551d2004023001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, no policies) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081a9308193a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30d300b30090603551d2004023000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy invalid tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ab308195a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30f300d300b0603551d20040430020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081aa308194a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30e300c300a0603551d200403300130300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ab308195a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30f300d300b0603551d20040430023085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ab308195a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30f300d300b0603551d20040430023001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, empty policy) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ab308195a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a30f300d300b0603551d20040430023000300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy invalid OID tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ad308197a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a311300f300d0603551d200406300430020500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy no OID length) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ac308196a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a310300e300c0603551d2004053003300106300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy OID length inv encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ad308197a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a311300f300d0603551d200406300430020685300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy OID length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ad308197a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a311300f300d0603551d200406300430020601300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, unknown critical policy) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d20010101040730053003060100300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy qualifier invalid tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b030819aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a314301230100603551d200409300730050601000500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy qualifier no length) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081af308199a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a3133011300f0603551d2004083006300406010030300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy qualifier inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b030819aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a314301230100603551d200409300730050601003085300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBSCertificate v3, inv CertificatePolicies, policy qualifier length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b030819aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a314301230100603551d200409300730050601003001300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv extBasicConstraint, no pathlen length) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b030819aa0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a314301230100603551d130101010406300402010102300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv extBasicConstraint, pathlen is INT_MAX) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_file:"data_files/server1_pathlen_int_max.crt":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (pathlen is INT_MAX-1) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_file:"data_files/server1_pathlen_int_max-1.crt":0 X509 CRT ASN1 (TBS, inv extBasicConstraint, pathlen inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d13010101040730050201010285300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv extBasicConstraint, pathlen length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d13010101040730050201010201300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (TBS, inv extBasicConstraint, pathlen empty) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d13010101040730050201010200300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (TBS, inv extBasicConstraint, pathlen length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b430819ea0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a318301630140603551d13010101040a30080201010201010500300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, inv v3Ext, ExtKeyUsage bad second tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081bd3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d250416301406082b0601050507030107082b06010505070302300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (TBS, inv v3Ext, SubjectAltName repeated) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081dc3081c6a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a340303e301d0603551d11041630148208666f6f2e7465737482086261722e74657374301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS X509 CRT ASN1 (TBS, inv v3Ext, ExtKeyUsage repeated) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081dc3081c6a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a340303e301d0603551d250416301406082b0601050507030106082b06010505070302301d0603551d250416301406082b0601050507030106082b06010505070302300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS X509 CRT ASN1 (TBS, inv v3Ext, SubjectAltName repeated outside Extensions) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081dc3081c6a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT (TBS, valid v3Ext in v3 CRT) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b93081a3a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\nsubject alt name \:\n dNSName \: foo.test\n dNSName \: bar.test\n":0 X509 CRT ASN1 (TBS, valid v3Ext in v1 CRT) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b93081a3a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, valid v3Ext in v2 CRT) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b93081a3a0030201018204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (TBS, valid SubjectID, valid IssuerID, inv v3Ext, SubjectAltName repeated outside Extensions, inv SubjectAltNames tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308203723082025aa003020102020111300d06092a864886f70d0101050500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341301e170d3132303531303133323334315a170d3232303531313133323334315a303a310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c311830160603550403130f7777772e6578616d706c652e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100b93c4ac5c8a38e9017a49e52aa7175266180e7c7b56d8cffaab64126b7be11ad5c73160c64114804ffd6e13b05db89bbb39709d51c14dd688739b03d71cbe276d01ad8182d801b54f6e5449af1cbaf612edf490d9d09b7edb1fd3cfd3cfa24cf5dbf7ce453e725b5ea4422e926d3ea20949ee66167ba2e07670b032fa209edf0338f0bce10ef67a4c608dac1edc23fd74add153df95e1c8160463eb5b33d2fa6de471cbc92aeebdf276b1656b7dcecd15557a56eec7525f5b77bdfabd23a5a91987d97170b130aa76b4a8bc14730fb3af84104d5c1dfb81dbf7b01a565a2e01e36b7a65ccc305af8cd6fcdf1196225ca01e3357ffa20f5dcfd69b26a007d17f70203010001a38181307f30090603551d1304023000301d0603551d0e041604147de49c6be6f9717d46d2123dad6b1dfdc2aa784c301f0603551d23041830168014b45ae4a5b3ded252f6b9d5a6950feb3ebcc7fdff30320603551d11042b3029c20b6578616d706c652e636f6d820b6578616d706c652e6e6574820d2a2e6578616d706c652e6f7267300d06092a864886f70d010105050003820101004f09cb7ad5eef5ef620ddc7ba285d68cca95b46bda115b92007513b9ca0bceeafbc31fe23f7f217479e2e6bcda06e52f6ff655c67339cf48bc0d2f0cd27a06c34a4cd9485da0d07389e4d4851d969a0e5799c66f1d21271f8d0529e840ae823968c39707cf3c934c1adf2fa6a455487f7c8c1ac922da24cd9239c68aecb08df5698267cb04eede534196c127dc2ffe33fad30eb8d432a9842853a5f0d189d5a298e71691bb9cc0418e8c58acffe3dd2e7aabb0b97176ad0f2733f7a929d3c076c0bf06407c0ed5a47c8ae2326e16aeda641fb0557cdbddf1a4ba447cb39958d2346e00ea976c143af2101e0aa249107601f4f2c818fdcc6346128b091bf194e6":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (SignatureAlgorithm missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081aa3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv SignatureAlgorithm, bad tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ac3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e746573740500":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (inv SignatureAlgorithm, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ab3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e7465737430":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv SignatureAlgorithm, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ac3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e746573743085":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (inv SignatureAlgorithm, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ac3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e746573743001":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv SignatureAlgorithm, not the same as SignatureAlgorithm in TBS) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081bd3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010a0500030200ff":"":MBEDTLS_ERR_X509_SIG_MISMATCH X509 CRT ASN1 (Signature missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081b93081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv Signature, bad tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081bb3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b05000500":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (inv Signature, length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081ba3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b050003":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv Signature, inv length encoding) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081bb3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b05000385":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRT ASN1 (inv Signature, length out of bounds) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081bb3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b05000301":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRT ASN1 (inv Signature, inv data #1) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA # signature = bit string with invalid encoding (missing number of unused bits) x509parse_crt:"3081bb3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b05000300":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_INVALID_DATA X509 CRT ASN1 (inv Signature, inv data #2) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA # signature = bit string with invalid encoding (number of unused bits too large) x509parse_crt:"3081bc3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030108":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_INVALID_DATA X509 CRT ASN1 (empty Signature) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA # signature = empty bit string in DER encoding x509parse_crt:"3081bc3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030100":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\nsubject alt name \:\n dNSName \: foo.test\n dNSName \: bar.test\n":0 X509 CRT ASN1 (dummy 24-bit Signature) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA # signature = bit string "011001100110111101101111" x509parse_crt:"3081bf3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030400666f6f":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\nsubject alt name \:\n dNSName \: foo.test\n dNSName \: bar.test\n":0 # The ASN.1 module rejects non-octet-aligned bit strings. X509 CRT ASN1 (inv Signature: not octet-aligned) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA # signature = bit string "01100110011011110110111" x509parse_crt:"3081bf3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030401666f6e":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_INVALID_DATA X509 CRT ASN1 (inv Signature, length mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081be3081a7a0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a321301f301d0603551d11041630148208666f6f2e7465737482086261722e74657374300d06092a864886f70d01010b0500030200ff00":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRT ASN1 (well-formed) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308196308180a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ?\?=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (GeneralizedTime in notBefore, UTCTime in notAfter) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301e180e3230313030313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ?\?=Test\nsubject name \: ?\?=Test\nissued on \: 2010-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (UTCTime in notBefore, GeneralizedTime in notAfter) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308198308182a0030201008204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301e170c303931323331323335393539180e3230313030313031303030303030300c310a30080600130454657374302a300d06092A864886F70D010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ?\?=Test\nsubject name \: ?\?=Test\nissued on \: 2009-12-31 23\:59\:59\nexpires on \: 2010-01-01 00\:00\:00\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 CN) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b0603550403130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: CN=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 C) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b0603550406130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: C=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 L) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b0603550407130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: L=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 ST) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b0603550408130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ST=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 O) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b060355040a130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: O=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with X520 OU) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b060355040b130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: OU=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with unknown X520 part) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308199308183a0030201008204deadbeef300d06092a864886f70d01010b0500300f310d300b06035504de130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ?\?=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with composite RDN) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3082029f30820208a00302010202044c20e3bd300d06092a864886f70d01010505003056310b3009060355040613025553310b300906035504080c0243413121301f060355040a0c18496e7465726e6574205769646769747320507479204c74643117301506035504030c0e4672616e6b656e63657274204341301e170d3133303830323135313433375a170d3135303831373035353433315a3081d1310b3009060355040613025553311330110603550408130a57617368696e67746f6e31133011060b2b0601040182373c0201031302555331193017060b2b0601040182373c020102130844656c6177617265311a3018060355040a1311417574686f72697a652e4e6574204c4c43311d301b060355040f131450726976617465204f7267616e697a6174696f6e312a300e06035504051307343336393139313018060355040313117777772e617574686f72697a652e6e6574311630140603550407130d53616e204672616e636973636f30819f300d06092a864886f70d010101050003818d0030818902818100d885c62e209b6ac005c64f0bcfdaac1f2b67a18802f75b08851ff933deed888b7b68a62fcabdb21d4a8914becfeaaa1b7e08a09ffaf9916563586dc95e2877262b0b5f5ec27eb4d754aa6facd1d39d25b38a2372891bacdd3e919f791ed25704e8920e380e5623a38e6a23935978a3aec7a8e761e211d42effa2713e44e7de0b0203010001300d06092a864886f70d010105050003818100092f7424d3f6da4b8553829d958ed1980b9270b42c0d3d5833509a28c66bb207df9f3c51d122065e00b87c08c2730d2745fe1c279d16fae4d53b4bf5bdfa3631fceeb2e772b6b08a3eca5a2e2c687aefd23b4b73bf77ac6099711342cf070b35c6f61333a7cbf613d8dd4bd73e9df34bcd4284b0b4df57c36c450613f11e5dac":"cert. version \: 3\nserial number \: 4C\:20\:E3\:BD\nissuer name \: C=US, ST=CA, O=Internet Widgits Pty Ltd, CN=Frankencert CA\nsubject name \: C=US, ST=Washington, ??=US, ??=Delaware, O=Authorize.Net LLC, ??=Private Organization, serialNumber=4369191 + CN=www.authorize.net, L=San Francisco\nissued on \: 2013-08-02 15\:14\:37\nexpires on \: 2015-08-17 05\:54\:31\nsigned using \: RSA with SHA1\nRSA key size \: 1024 bits\n":0 X509 CRT ASN1 (Name with PKCS9 email) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819f308189a0030201008204deadbeef300d06092a864886f70d01010b050030153113301106092a864886f70d010901130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: emailAddress=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (Name with unknown PKCS9 part) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"30819f308189a0030201008204deadbeef300d06092a864886f70d01010b050030153113301106092a864886f70d0109ab130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffff300d06092a864886f70d01010b0500030200ff":"cert. version \: 1\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ?\?=Test\nsubject name \: ?\?=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\n":0 X509 CRT ASN1 (ECDSA signature, RSA key) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C x509parse_crt:"3081e630819e020103300906072a8648ce3d0401300f310d300b0603550403130454657374301e170d3133303731303039343631385a170d3233303730383039343631385a300f310d300b0603550403130454657374304c300d06092a864886f70d0101010500033b003038023100e8f546061d3b49bc2f6b7524b7ea4d73a8d5293ee8c64d9407b70b5d16baebc32b8205591eab4e1eb57e9241883701250203010001300906072a8648ce3d0401033800303502186e18209afbed14a0d9a796efcad68891e3ccd5f75815c833021900e92b4fd460b1994693243b9ffad54729de865381bda41d25":"cert. version \: 1\nserial number \: 03\nissuer name \: CN=Test\nsubject name \: CN=Test\nissued on \: 2013-07-10 09\:46\:18\nexpires on \: 2023-07-08 09\:46\:18\nsigned using \: ECDSA with SHA1\nRSA key size \: 384 bits\n":0 X509 CRT ASN1 (ECDSA signature, EC key) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"3081eb3081a3020900f41534662ec7e912300906072a8648ce3d0401300f310d300b0603550403130454657374301e170d3133303731303039343031395a170d3233303730383039343031395a300f310d300b06035504031304546573743049301306072a8648ce3d020106082a8648ce3d030101033200042137969fabd4e370624a0e1a33e379cab950cce00ef8c3c3e2adaeb7271c8f07659d65d3d777dcf21614363ae4b6e617300906072a8648ce3d04010338003035021858cc0f957946fe6a303d92885a456aa74c743c7b708cbd37021900fe293cac21af352d16b82eb8ea54e9410b3abaadd9f05dd6":"cert. version \: 1\nserial number \: F4\:15\:34\:66\:2E\:C7\:E9\:12\nissuer name \: CN=Test\nsubject name \: CN=Test\nissued on \: 2013-07-10 09\:40\:19\nexpires on \: 2023-07-08 09\:40\:19\nsigned using \: ECDSA with SHA1\nEC key size \: 192 bits\n":0 X509 CRT ASN1 (RSA signature, EC key) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt:"3081e430819f020104300d06092a864886f70d0101050500300f310d300b0603550403130454657374301e170d3133303731303135303233375a170d3233303730383135303233375a300f310d300b06035504031304546573743049301306072a8648ce3d020106082a8648ce3d03010103320004e962551a325b21b50cf6b990e33d4318fd16677130726357a196e3efe7107bcb6bdc6d9db2a4df7c964acfe81798433d300d06092a864886f70d01010505000331001a6c18cd1e457474b2d3912743f44b571341a7859a0122774a8e19a671680878936949f904c9255bdd6fffdb33a7e6d8":"cert. version \: 1\nserial number \: 04\nissuer name \: CN=Test\nsubject name \: CN=Test\nissued on \: 2013-07-10 15\:02\:37\nexpires on \: 2023-07-08 15\:02\:37\nsigned using \: RSA with SHA1\nEC key size \: 192 bits\n":0 X509 CRT ASN1 (Unsupported critical extension) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt:"308203353082021da00302010202104d3ebbb8a870f9c78c55a8a7e12fd516300d06092a864886f70d01010b05003010310e300c06035504030c0564756d6d79301e170d3230303432383137343234335a170d3230303632373137343234335a3010310e300c06035504030c0564756d6d7930820122300d06092a864886f70d01010105000382010f003082010a0282010100a51b75b3f7da2d60ea1b0fc077f0dbb2bbb6fe1b474028368af8dc2664672896efff171033b0aede0b323a89d5c6db4d517404bc97b65264e41b9e9e86a6f40ace652498d4b3b859544d1bacfd7f86325503eed046f517406545c0ffb5560f83446dedce0fcafcc41ac8495488a6aa912ae45192ef7e3efa20d0f7403b0baa62c7e2e5404c620c5793623132aa20f624f08d88fbf0985af39433f5a24d0b908e5219d8ba6a404d3ee8418203b62a40c8eb18837354d50281a6a2bf5012e505c419482787b7a81e5935613ceea0c6d93e86f76282b6aa406fb3a1796c56b32e8a22afc3f7a3c9daa8f0e2846ff0d50abfc862a52f6cf0aaece6066c860376f3ed0203010001a3818a308187300c0603551d13040530030101ff30130603551d110101ff04093007820564756d6d79301206082b0601050507011f0101ff0403040100300e0603551d0f0101ff040403020184301d0603551d0e04160414e6e451ec8d19d9677b2d272a9d73b939fa2d915a301f0603551d23041830168014e6e451ec8d19d9677b2d272a9d73b939fa2d915a300d06092a864886f70d01010b0500038201010056d06047b7f48683e2347ca726997d9700b4f2cf1d8bc0ef17addac8445d38ffd7f8079055ead878b6a74c8384d0e30150c8990aa74f59cda6ebcb49465d8991ffa16a4c927a26e4639d1875a3ac396c7455c7eda40dbe66054a03d27f961c15e86bd5b06db6b26572977bcda93453b6b6a88ef96b31996a7bd17323525b33050d28deec9c33a3f9765a11fb99d0e222bd39a6db3a788474c9ca347377688f837d42f5841667bffcbe6b473e6f229f286a0829963e591a99aa7f67e9d20c36ccd2ac84cb85b7a8b3396a6cbe59a573ffff726f373197c230de5c92a52c5bc87e29c20bdf6e89609764a60c649022aabd768f3557661b083ae00e6afc8a5bf2ed":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (Unsupported critical extension recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"308203353082021da00302010202104d3ebbb8a870f9c78c55a8a7e12fd516300d06092a864886f70d01010b05003010310e300c06035504030c0564756d6d79301e170d3230303432383137343234335a170d3230303632373137343234335a3010310e300c06035504030c0564756d6d7930820122300d06092a864886f70d01010105000382010f003082010a0282010100a51b75b3f7da2d60ea1b0fc077f0dbb2bbb6fe1b474028368af8dc2664672896efff171033b0aede0b323a89d5c6db4d517404bc97b65264e41b9e9e86a6f40ace652498d4b3b859544d1bacfd7f86325503eed046f517406545c0ffb5560f83446dedce0fcafcc41ac8495488a6aa912ae45192ef7e3efa20d0f7403b0baa62c7e2e5404c620c5793623132aa20f624f08d88fbf0985af39433f5a24d0b908e5219d8ba6a404d3ee8418203b62a40c8eb18837354d50281a6a2bf5012e505c419482787b7a81e5935613ceea0c6d93e86f76282b6aa406fb3a1796c56b32e8a22afc3f7a3c9daa8f0e2846ff0d50abfc862a52f6cf0aaece6066c860376f3ed0203010001a3818a308187300c0603551d13040530030101ff30130603551d110101ff04093007820564756d6d79301206082b0601050507011f0101ff0403040100300e0603551d0f0101ff040403020184301d0603551d0e04160414e6e451ec8d19d9677b2d272a9d73b939fa2d915a301f0603551d23041830168014e6e451ec8d19d9677b2d272a9d73b939fa2d915a300d06092a864886f70d01010b0500038201010056d06047b7f48683e2347ca726997d9700b4f2cf1d8bc0ef17addac8445d38ffd7f8079055ead878b6a74c8384d0e30150c8990aa74f59cda6ebcb49465d8991ffa16a4c927a26e4639d1875a3ac396c7455c7eda40dbe66054a03d27f961c15e86bd5b06db6b26572977bcda93453b6b6a88ef96b31996a7bd17323525b33050d28deec9c33a3f9765a11fb99d0e222bd39a6db3a788474c9ca347377688f837d42f5841667bffcbe6b473e6f229f286a0829963e591a99aa7f67e9d20c36ccd2ac84cb85b7a8b3396a6cbe59a573ffff726f373197c230de5c92a52c5bc87e29c20bdf6e89609764a60c649022aabd768f3557661b083ae00e6afc8a5bf2ed":"cert. version \: 3\nserial number \: 4D\:3E\:BB\:B8\:A8\:70\:F9\:C7\:8C\:55\:A8\:A7\:E1\:2F\:D5\:16\nissuer name \: CN=dummy\nsubject name \: CN=dummy\nissued on \: 2020-04-28 17\:42\:43\nexpires on \: 2020-06-27 17\:42\:43\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\nsubject alt name \:\n dNSName \: dummy\nkey usage \: Digital Signature, Key Cert Sign\n":0 X509 CRT ASN1 (Unsupported critical extension not recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"308203353082021da00302010202104d3ebbb8a870f9c78c55a8a7e12fd516300d06092a864886f70d01010b05003010310e300c06035504030c0564756d6d79301e170d3230303432383137343234335a170d3230303632373137343234335a3010310e300c06035504030c0564756d6d7930820122300d06092a864886f70d01010105000382010f003082010a0282010100a51b75b3f7da2d60ea1b0fc077f0dbb2bbb6fe1b474028368af8dc2664672896efff171033b0aede0b323a89d5c6db4d517404bc97b65264e41b9e9e86a6f40ace652498d4b3b859544d1bacfd7f86325503eed046f517406545c0ffb5560f83446dedce0fcafcc41ac8495488a6aa912ae45192ef7e3efa20d0f7403b0baa62c7e2e5404c620c5793623132aa20f624f08d88fbf0985af39433f5a24d0b908e5219d8ba6a404d3ee8418203b62a40c8eb18837354d50281a6a2bf5012e505c419482787b7a81e5935613ceea0c6d93e86f76282b6aa406fb3a1796c56b32e8a22afc3f7a3c9daa8f0e2846ff0d50abfc862a52f6cf0aaece6066c860376f3ed0203010001a3818a308187300c0603551d13040530030101ff30130603551d110101ff04093007820564756d6d79301206082b0601050507011e0101ff0403040100300e0603551d0f0101ff040403020184301d0603551d0e04160414e6e451ec8d19d9677b2d272a9d73b939fa2d915a301f0603551d23041830168014e6e451ec8d19d9677b2d272a9d73b939fa2d915a300d06092a864886f70d01010b0500038201010056d06047b7f48683e2347ca726997d9700b4f2cf1d8bc0ef17addac8445d38ffd7f8079055ead878b6a74c8384d0e30150c8990aa74f59cda6ebcb49465d8991ffa16a4c927a26e4639d1875a3ac396c7455c7eda40dbe66054a03d27f961c15e86bd5b06db6b26572977bcda93453b6b6a88ef96b31996a7bd17323525b33050d28deec9c33a3f9765a11fb99d0e222bd39a6db3a788474c9ca347377688f837d42f5841667bffcbe6b473e6f229f286a0829963e591a99aa7f67e9d20c36ccd2ac84cb85b7a8b3396a6cbe59a573ffff726f373197c230de5c92a52c5bc87e29c20bdf6e89609764a60c649022aabd768f3557661b083ae00e6afc8a5bf2ed":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRT ASN1 (Unsupported non critical extension recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"308203353082021da00302010202104d3ebbb8a870f9c78c55a8a7e12fd516300d06092a864886f70d01010b05003010310e300c06035504030c0564756d6d79301e170d3230303432383137343234335a170d3230303632373137343234335a3010310e300c06035504030c0564756d6d7930820122300d06092a864886f70d01010105000382010f003082010a0282010100a51b75b3f7da2d60ea1b0fc077f0dbb2bbb6fe1b474028368af8dc2664672896efff171033b0aede0b323a89d5c6db4d517404bc97b65264e41b9e9e86a6f40ace652498d4b3b859544d1bacfd7f86325503eed046f517406545c0ffb5560f83446dedce0fcafcc41ac8495488a6aa912ae45192ef7e3efa20d0f7403b0baa62c7e2e5404c620c5793623132aa20f624f08d88fbf0985af39433f5a24d0b908e5219d8ba6a404d3ee8418203b62a40c8eb18837354d50281a6a2bf5012e505c419482787b7a81e5935613ceea0c6d93e86f76282b6aa406fb3a1796c56b32e8a22afc3f7a3c9daa8f0e2846ff0d50abfc862a52f6cf0aaece6066c860376f3ed0203010001a3818a308187300c0603551d13040530030101ff30130603551d110101ff04093007820564756d6d79301206082b0601050507011f0101000403040100300e0603551d0f0101ff040403020184301d0603551d0e04160414e6e451ec8d19d9677b2d272a9d73b939fa2d915a301f0603551d23041830168014e6e451ec8d19d9677b2d272a9d73b939fa2d915a300d06092a864886f70d01010b0500038201010056d06047b7f48683e2347ca726997d9700b4f2cf1d8bc0ef17addac8445d38ffd7f8079055ead878b6a74c8384d0e30150c8990aa74f59cda6ebcb49465d8991ffa16a4c927a26e4639d1875a3ac396c7455c7eda40dbe66054a03d27f961c15e86bd5b06db6b26572977bcda93453b6b6a88ef96b31996a7bd17323525b33050d28deec9c33a3f9765a11fb99d0e222bd39a6db3a788474c9ca347377688f837d42f5841667bffcbe6b473e6f229f286a0829963e591a99aa7f67e9d20c36ccd2ac84cb85b7a8b3396a6cbe59a573ffff726f373197c230de5c92a52c5bc87e29c20bdf6e89609764a60c649022aabd768f3557661b083ae00e6afc8a5bf2ed":"cert. version \: 3\nserial number \: 4D\:3E\:BB\:B8\:A8\:70\:F9\:C7\:8C\:55\:A8\:A7\:E1\:2F\:D5\:16\nissuer name \: CN=dummy\nsubject name \: CN=dummy\nissued on \: 2020-04-28 17\:42\:43\nexpires on \: 2020-06-27 17\:42\:43\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\nsubject alt name \:\n dNSName \: dummy\nkey usage \: Digital Signature, Key Cert Sign\n":0 X509 CRT ASN1 (Unsupported non critical extension not recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"308203353082021da00302010202104d3ebbb8a870f9c78c55a8a7e12fd516300d06092a864886f70d01010b05003010310e300c06035504030c0564756d6d79301e170d3230303432383137343234335a170d3230303632373137343234335a3010310e300c06035504030c0564756d6d7930820122300d06092a864886f70d01010105000382010f003082010a0282010100a51b75b3f7da2d60ea1b0fc077f0dbb2bbb6fe1b474028368af8dc2664672896efff171033b0aede0b323a89d5c6db4d517404bc97b65264e41b9e9e86a6f40ace652498d4b3b859544d1bacfd7f86325503eed046f517406545c0ffb5560f83446dedce0fcafcc41ac8495488a6aa912ae45192ef7e3efa20d0f7403b0baa62c7e2e5404c620c5793623132aa20f624f08d88fbf0985af39433f5a24d0b908e5219d8ba6a404d3ee8418203b62a40c8eb18837354d50281a6a2bf5012e505c419482787b7a81e5935613ceea0c6d93e86f76282b6aa406fb3a1796c56b32e8a22afc3f7a3c9daa8f0e2846ff0d50abfc862a52f6cf0aaece6066c860376f3ed0203010001a3818a308187300c0603551d13040530030101ff30130603551d110101ff04093007820564756d6d79301206082b0601050507011e0101000403040100300e0603551d0f0101ff040403020184301d0603551d0e04160414e6e451ec8d19d9677b2d272a9d73b939fa2d915a301f0603551d23041830168014e6e451ec8d19d9677b2d272a9d73b939fa2d915a300d06092a864886f70d01010b0500038201010056d06047b7f48683e2347ca726997d9700b4f2cf1d8bc0ef17addac8445d38ffd7f8079055ead878b6a74c8384d0e30150c8990aa74f59cda6ebcb49465d8991ffa16a4c927a26e4639d1875a3ac396c7455c7eda40dbe66054a03d27f961c15e86bd5b06db6b26572977bcda93453b6b6a88ef96b31996a7bd17323525b33050d28deec9c33a3f9765a11fb99d0e222bd39a6db3a788474c9ca347377688f837d42f5841667bffcbe6b473e6f229f286a0829963e591a99aa7f67e9d20c36ccd2ac84cb85b7a8b3396a6cbe59a573ffff726f373197c230de5c92a52c5bc87e29c20bdf6e89609764a60c649022aabd768f3557661b083ae00e6afc8a5bf2ed":"cert. version \: 3\nserial number \: 4D\:3E\:BB\:B8\:A8\:70\:F9\:C7\:8C\:55\:A8\:A7\:E1\:2F\:D5\:16\nissuer name \: CN=dummy\nsubject name \: CN=dummy\nissued on \: 2020-04-28 17\:42\:43\nexpires on \: 2020-06-27 17\:42\:43\nsigned using \: RSA with SHA-256\nRSA key size \: 2048 bits\nbasic constraints \: CA=true\nsubject alt name \:\n dNSName \: dummy\nkey usage \: Digital Signature, Key Cert Sign\n":0 X509 CRT ASN1 (Unsupported critical policy recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d20010101040730053003060101300d06092a864886f70d01010b0500030200ff":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\ncertificate policies \: ???\n":0 X509 CRT ASN1 (Unsupported critical policy not recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d20010101040730053003060100300d06092a864886f70d01010b0500030200ff":"":MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE X509 CRT ASN1 (Unsupported non critical policy recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d20010100040730053003060101300d06092a864886f70d01010b0500030200ff":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\ncertificate policies \: ???\n":0 X509 CRT ASN1 (Unsupported non critical policy not recognized by callback) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crt_cb:"3081b130819ba0030201028204deadbeef300d06092a864886f70d01010b0500300c310a30080600130454657374301c170c303930313031303030303030170c303931323331323335393539300c310a30080600130454657374302a300d06092a864886f70d010101050003190030160210ffffffffffffffffffffffffffffffff0202ffffa100a200a315301330110603551d20010100040730053003060100300d06092a864886f70d01010b0500030200ff":"cert. version \: 3\nserial number \: DE\:AD\:BE\:EF\nissuer name \: ??=Test\nsubject name \: ??=Test\nissued on \: 2009-01-01 00\:00\:00\nexpires on \: 2009-12-31 23\:59\:59\nsigned using \: RSA with SHA-256\nRSA key size \: 128 bits\ncertificate policies \: ???\n":0 X509 CRL ASN1 (Incorrect first tag) @@ -2065,35 +2113,35 @@ X509 CRL ASN1 (TBSCertList, sig_oid1 id unknown) x509parse_crl:"30143012020100300d06092a864886f70d01010f0500":"":MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG X509 CRL ASN1 (TBSCertList, sig_oid1 correct, issuer missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30143012020100300d06092a864886f70d01010e0500":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, issuer set missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30163014020100300d06092a864886f70d01010e05003000":"":MBEDTLS_ERR_X509_INVALID_NAME + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, correct issuer, thisUpdate missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30253023020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, correct thisUpdate, nextUpdate missing, entries length missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30343032020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c30393031303130303030303030":"":MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, entries present, invalid sig_alg) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"304a3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c30383132333132333539353900":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRL ASN1 (TBSCertList, entries present, date in entry invalid) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"304a3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd190c30383132333132333539353900":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRL ASN1 (TBSCertList, sig_alg present, sig_alg does not match) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30583047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c303831323331323335393539300d06092a864886f70d01010d0500":"":MBEDTLS_ERR_X509_SIG_MISMATCH X509 CRL ASN1 (TBSCertList, sig present, len mismatch) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"305d3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c303831323331323335393539300d06092a864886f70d01010e05000302000100":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH # 305c @@ -2115,43 +2163,43 @@ x509parse_crl:"305d3047020100300d06092a864886f70d01010e0500300f310d300b060355040 # 03020001 signatureValue BIT STRING # The subsequent TBSCertList negative tests remove or modify some elements. X509 CRL ASN1 (TBSCertList, sig present) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA224_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO x509parse_crl:"305c3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c303831323331323335393539300d06092a864886f70d01010e050003020001":"CRL version \: 1\nissuer name \: CN=ABCD\nthis update \: 2009-01-01 00\:00\:00\nnext update \: 0000-00-00 00\:00\:00\nRevoked certificates\:\nserial number\: AB\:CD revocation date\: 2008-12-31 23\:59\:59\nsigned using \: RSA with SHA-224\n":0 X509 CRL ASN1 (TBSCertList, signatureValue missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30583047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c303831323331323335393539300d06092a864886f70d01010e0500":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, signatureAlgorithm missing) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30493047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd170c303831323331323335393539":"":MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, single empty entry at end) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"30373035020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c30393031303130303030303030023000":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, good entry then empty entry at end) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"304b3049020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301630128202abcd170c3038313233313233353935393000":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, missing time in entry) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"304e3039020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030300630048202abcd300d06092a864886f70d01010e050003020001":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, missing time in entry at end) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"303b3039020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030300630048202abcd":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (TBSCertList, invalid tag for time in entry) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"305c3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128202abcd190c303831323331323335393539300d06092a864886f70d01010e050003020001":"":MBEDTLS_ERR_X509_INVALID_DATE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRL ASN1 (TBSCertList, invalid tag for serial) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"305c3047020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030301430128402abcd170c303831323331323335393539300d06092a864886f70d01010e050003020001":"":MBEDTLS_ERR_X509_INVALID_SERIAL + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CRL ASN1 (TBSCertList, no entries) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA224_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO x509parse_crl:"30463031020100300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030300d06092a864886f70d01010e050003020001":"CRL version \: 1\nissuer name \: CN=ABCD\nthis update \: 2009-01-01 00\:00\:00\nnext update \: 0000-00-00 00\:00\:00\nRevoked certificates\:\nsigned using \: RSA with SHA-224\n":0 X509 CRL ASN1 (invalid version 2) @@ -2161,155 +2209,155 @@ X509 CRL ASN1 (invalid version overflow) x509parse_crl:"3049303102047fffffff300d06092a864886f70d01010e0500300f310d300b0603550403130441424344170c303930313031303030303030300d06092a864886f70d01010e050003020001":"":MBEDTLS_ERR_X509_UNKNOWN_VERSION X509 CRL ASN1 (extension seq too long, crl-idp.pem byte 121) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30300603551d1c0101ff041f301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (extension oid too long, crl-idp.pem byte 123) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30290628551d1c0101ff041f301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (extension critical invalid length, crl-idp.pem byte 128) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30290603551d1c0102ff041f301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_INVALID_LENGTH X509 CRL ASN1 (extension data too long, crl-idp.pem byte 131) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30290603551d1c0101ff0420301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CRL ASN1 (extension data too short, crl-idp.pem byte 131) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30290603551d1c0101ff041e301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"":MBEDTLS_ERR_X509_INVALID_EXTENSIONS + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CRL ASN1 (extension not critical explicit, crl-idp.pem byte 129) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO x509parse_crl:"308201b330819c020101300d06092a864886f70d01010b0500303b310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c3119301706035504031310506f6c617253534c2054657374204341170d3138303331343037333134385a170d3238303331343037333134385aa02d302b30290603551d1c010100041f301da01ba0198617687474703a2f2f706b692e6578616d706c652e636f6d2f300d06092a864886f70d01010b05000382010100b3fbe9d586eaf4b8ff60cf8edae06a85135db78f78198498719725b5b403c0b803c2c150f52faae7306d6a7871885dc2e9dc83a164bac7263776474ef642b660040b35a1410ac291ac8f6f18ab85e7fd6e22bd1af1c41ca95cf2448f6e2b42a018493dfc03c6b6aa1b9e3fe7b76af2182fb2121db4166bf0167d6f379c5a58adee5082423434d97be2909f5e7488053f996646db10dd49782626da53ad8eada01813c031b2bacdb0203bc017aac1735951a11d013ee4d1d5f7143ccbebf2371e66a1bec6e1febe69148f50784eef8adbb66664c96196d7e0c0bcdc807f447b54e058f37642a3337995bfbcd332208bd6016936705c82263eabd7affdba92fae3":"CRL version \: 2\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2018-03-14 07\:31\:48\nnext update \: 2028-03-14 07\:31\:48\nRevoked certificates\:\nsigned using \: RSA with SHA-256\n":0 X509 CRT parse path #2 (one cert) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_parse_path:"data_files/dir1":0:1 X509 CRT parse path #3 (two certs) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_parse_path:"data_files/dir2":0:2 X509 CRT parse path #4 (two certs, one non-cert) -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_parse_path:"data_files/dir3":1:2 X509 CRT verify long chain (max intermediate CA, trusted) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_max:"data_files/dir-maxpath/00.crt":"data_files/dir-maxpath":MBEDTLS_X509_MAX_INTERMEDIATE_CA:0:0 X509 CRT verify long chain (max intermediate CA, untrusted) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_max:"data_files/test-ca2.crt":"data_files/dir-maxpath":MBEDTLS_X509_MAX_INTERMEDIATE_CA-1:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED X509 CRT verify long chain (max intermediate CA + 1) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_max:"data_files/dir-maxpath/00.crt":"data_files/dir-maxpath":MBEDTLS_X509_MAX_INTERMEDIATE_CA+1:MBEDTLS_ERR_X509_FATAL_ERROR:-1 X509 CRT verify chain #1 (zero pathlen intermediate) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_verify_chain:"data_files/dir4/cert14.crt data_files/dir4/cert13.crt data_files/dir4/cert12.crt":"data_files/dir4/cert11.crt":MBEDTLS_X509_BADCERT_NOT_TRUSTED:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"":0 X509 CRT verify chain #2 (zero pathlen root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_verify_chain:"data_files/dir4/cert23.crt data_files/dir4/cert22.crt":"data_files/dir4/cert21.crt":MBEDTLS_X509_BADCERT_NOT_TRUSTED:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"":0 X509 CRT verify chain #3 (nonzero pathlen root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_verify_chain:"data_files/dir4/cert34.crt data_files/dir4/cert33.crt data_files/dir4/cert32.crt":"data_files/dir4/cert31.crt":MBEDTLS_X509_BADCERT_NOT_TRUSTED:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"":0 X509 CRT verify chain #4 (nonzero pathlen intermediate) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_verify_chain:"data_files/dir4/cert45.crt data_files/dir4/cert44.crt data_files/dir4/cert43.crt data_files/dir4/cert42.crt":"data_files/dir4/cert41.crt":MBEDTLS_X509_BADCERT_NOT_TRUSTED:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"":0 X509 CRT verify chain #5 (nonzero maxpathlen intermediate) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 mbedtls_x509_crt_verify_chain:"data_files/dir4/cert54.crt data_files/dir4/cert53.crt data_files/dir4/cert52.crt":"data_files/dir4/cert51.crt":0:0:"":0 X509 CRT verify chain #6 (nonzero maxpathlen root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 mbedtls_x509_crt_verify_chain:"data_files/dir4/cert63.crt data_files/dir4/cert62.crt":"data_files/dir4/cert61.crt":0:0:"":0 X509 CRT verify chain #7 (maxpathlen root, self signed in path) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 mbedtls_x509_crt_verify_chain:"data_files/dir4/cert74.crt data_files/dir4/cert73.crt data_files/dir4/cert72.crt":"data_files/dir4/cert71.crt":0:0:"":0 X509 CRT verify chain #8 (self signed maxpathlen root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 mbedtls_x509_crt_verify_chain:"data_files/dir4/cert61.crt data_files/dir4/cert63.crt data_files/dir4/cert62.crt":"data_files/dir4/cert61.crt":0:0:"":0 X509 CRT verify chain #9 (zero pathlen first intermediate, valid) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/dir4/cert83.crt data_files/dir4/cert82.crt":"data_files/dir4/cert81.crt":0:0:"":0 X509 CRT verify chain #10 (zero pathlen root, valid) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/dir4/cert92.crt":"data_files/dir4/cert91.crt":0:0:"":0 X509 CRT verify chain #11 (valid chain, missing profile) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/dir4/cert92.crt":"data_files/dir4/cert91.crt":-1:MBEDTLS_ERR_X509_BAD_INPUT_DATA:"nonesuch":0 X509 CRT verify chain #12 (suiteb profile, RSA root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crt_verify_chain:"data_files/server3.crt":"data_files/test-ca.crt":MBEDTLS_X509_BADCERT_BAD_MD|MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"suiteb":0 X509 CRT verify chain #13 (RSA only profile, EC root) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server4.crt":"data_files/test-ca2.crt":MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"rsa3072":0 X509 CRT verify chain #13 (RSA only profile, EC trusted EE) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server5-selfsigned.crt":"data_files/server5-selfsigned.crt":MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"rsa3072":0 X509 CRT verify chain #14 (RSA-3072 profile, root key too small) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crt_verify_chain:"data_files/server1.crt":"data_files/test-ca.crt":MBEDTLS_X509_BADCERT_BAD_MD|MBEDTLS_X509_BADCERT_BAD_KEY:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"rsa3072":0 X509 CRT verify chain #15 (suiteb profile, rsa intermediate) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server7.crt data_files/test-int-ca.crt":"data_files/test-ca2.crt":MBEDTLS_X509_BADCERT_BAD_PK:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"suiteb":0 X509 CRT verify chain #16 (RSA-only profile, EC intermediate) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crt_verify_chain:"data_files/server8.crt data_files/test-int-ca2.crt":"data_files/test-ca.crt":MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"rsa3072":0 X509 CRT verify chain #17 (SHA-512 profile) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server7.crt data_files/test-int-ca.crt":"data_files/test-ca2.crt":MBEDTLS_X509_BADCERT_BAD_MD:MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:"sha512":0 X509 CRT verify chain #18 (len=1, vrfy fatal on depth 1) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crt_verify_chain:"data_files/server5.crt":"data_files/test-ca2.crt":-1:-2:"":2 X509 CRT verify chain #19 (len=0, vrfy fatal on depth 0) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA512_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_crt_verify_chain:"data_files/server5.crt":"data_files/test-ca2.crt":-1:-1:"":1 X509 CRT verify chain #20 (len=1, vrfy fatal on depth 0) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_SHA512_C:MBEDTLS_SHA1_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C mbedtls_x509_crt_verify_chain:"data_files/server5.crt":"data_files/test-ca.crt":-1:-1:"":1 X509 CRT verify chain #21 (len=3, vrfy fatal on depth 3) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_SHA1_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca.crt":-1:-4:"":8 X509 CRT verify chain #22 (len=3, vrfy fatal on depth 2) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca.crt":-1:-3:"":4 X509 CRT verify chain #23 (len=3, vrfy fatal on depth 1) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca.crt":-1:-2:"":2 X509 CRT verify chain #24 (len=3, vrfy fatal on depth 0) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca.crt":-1:-1:"":1 X509 CRT verify chain #25 (len=3, vrfy fatal on depth 3, untrusted) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_SHA1_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP384R1_ENABLED mbedtls_x509_crt_verify_chain:"data_files/server10_int3_int-ca2_ca.crt":"data_files/test-ca2.crt":-1:-4:"":8 X509 OID description #1 @@ -2337,75 +2385,75 @@ X509 OID numstring #5 (arithmetic overflow) x509_oid_numstr:"2a8648f9f8f7f6f5f4f3f2f1f001":"":100:MBEDTLS_ERR_OID_BUF_TOO_SMALL X509 CRT keyUsage #1 (no extension, expected KU) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE|MBEDTLS_X509_KU_KEY_ENCIPHERMENT:0 X509 CRT keyUsage #2 (no extension, surprising KU) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.crt":MBEDTLS_X509_KU_KEY_CERT_SIGN:0 X509 CRT keyUsage #3 (extension present, no KU) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":0:0 X509 CRT keyUsage #4 (extension present, single KU present) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE:0 X509 CRT keyUsage #5 (extension present, single KU absent) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_KEY_CERT_SIGN:MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT keyUsage #6 (extension present, combined KU present) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE|MBEDTLS_X509_KU_KEY_ENCIPHERMENT:0 X509 CRT keyUsage #7 (extension present, combined KU both absent) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_KEY_CERT_SIGN|MBEDTLS_X509_KU_CRL_SIGN:MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT keyUsage #8 (extension present, combined KU one absent) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_KEY_ENCIPHERMENT|MBEDTLS_X509_KU_KEY_AGREEMENT:MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT keyUsage #9 (extension present, decOnly allowed absent) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/server1.key_usage.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE|MBEDTLS_X509_KU_KEY_ENCIPHERMENT|MBEDTLS_X509_KU_DECIPHER_ONLY:0 X509 CRT keyUsage #10 (extension present, decOnly non-allowed present) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/keyUsage.decipherOnly.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE|MBEDTLS_X509_KU_KEY_ENCIPHERMENT:MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT keyUsage #11 (extension present, decOnly allowed present) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_key_usage:"data_files/keyUsage.decipherOnly.crt":MBEDTLS_X509_KU_DIGITAL_SIGNATURE|MBEDTLS_X509_KU_KEY_ENCIPHERMENT|MBEDTLS_X509_KU_DECIPHER_ONLY:0 X509 CRT extendedKeyUsage #1 (no extension, serverAuth) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.crt":"2b06010505070301":0 X509 CRT extendedKeyUsage #2 (single value, present) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-srv.crt":"2b06010505070301":0 X509 CRT extendedKeyUsage #3 (single value, absent) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-cli.crt":"2b06010505070301":MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT extendedKeyUsage #4 (two values, first) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-srv_cli.crt":"2b06010505070301":0 X509 CRT extendedKeyUsage #5 (two values, second) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-srv_cli.crt":"2b06010505070302":0 X509 CRT extendedKeyUsage #6 (two values, other) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-srv_cli.crt":"2b06010505070303":MBEDTLS_ERR_X509_BAD_INPUT_DATA X509 CRT extendedKeyUsage #7 (any, random) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_check_extended_key_usage:"data_files/server5.eku-cs_any.crt":"2b060105050703ff":0 X509 RSASSA-PSS parameters ASN1 (good, all defaults) @@ -2418,18 +2466,18 @@ X509 RSASSA-PSS parameters ASN1 (unknown tag in top-level sequence) x509_parse_rsassa_pss_params:"a400":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 RSASSA-PSS parameters ASN1 (good, HashAlg SHA256) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a00d300b0609608648016503040201":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:20:0 X509 RSASSA-PSS parameters ASN1 (good, explicit HashAlg = default) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a009300706052b0e03021a":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:0 X509 RSASSA-PSS parameters ASN1 (HashAlg wrong len #1) x509_parse_rsassa_pss_params:"a00a300706052b0e03021a":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 RSASSA-PSS parameters ASN1 (HashAlg wrong len #2) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a00a300706052b0e03021a00":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 RSASSA-PSS parameters ASN1 (HashAlg with parameters) @@ -2439,18 +2487,18 @@ X509 RSASSA-PSS parameters ASN1 (HashAlg unknown OID) x509_parse_rsassa_pss_params:"a00d300b06096086480165030402ff":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA256:MBEDTLS_MD_SHA1:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_OID_NOT_FOUND X509 RSASSA-PSS parameters ASN1 (good, MGAlg = MGF1-SHA256) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a11a301806092a864886f70d010108300b0609608648016503040201":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:0 X509 RSASSA-PSS parameters ASN1 (good, explicit MGAlg = default) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA1_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a116301406092a864886f70d010108300706052b0e03021a":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:0 X509 RSASSA-PSS parameters ASN1 (MGAlg wrong len #1) x509_parse_rsassa_pss_params:"a11b301806092a864886f70d010108300b0609608648016503040201":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 RSASSA-PSS parameters ASN1 (MGAlg wrong len #2) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a11b301806092a864886f70d010108300b060960864801650304020100":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 RSASSA-PSS parameters ASN1 (MGAlg AlgId wrong len #1) @@ -2475,18 +2523,18 @@ X509 RSASSA-PSS parameters ASN1 (MGAlg.params.alg unknown OID) x509_parse_rsassa_pss_params:"a11a301806092a864886f70d010108300b06096086480165030402ff":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_OID_NOT_FOUND X509 RSASSA-PSS parameters ASN1 (MGAlg.params.params NULL) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a11c301a06092a864886f70d010108300d06096086480165030402010500":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:0 X509 RSASSA-PSS parameters ASN1 (MGAlg.params.params wrong tag) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a11c301a06092a864886f70d010108300d06096086480165030402013000":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 RSASSA-PSS parameters ASN1 (MGAlg.params wrong len #1c) x509_parse_rsassa_pss_params:"a11d301b06092a864886f70d010108300e06096086480165030402010500":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 RSASSA-PSS parameters ASN1 (MGAlg.params wrong len #2) -depends_on:MBEDTLS_RSA_C:MBEDTLS_SHA256_C +depends_on:MBEDTLS_RSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA x509_parse_rsassa_pss_params:"a11d301b06092a864886f70d010108300e0609608648016503040201050000":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA256:20:MBEDTLS_ERR_X509_INVALID_ALG + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 RSASSA-PSS parameters ASN1 (good, saltLen = 94) @@ -2520,7 +2568,7 @@ X509 RSASSA-PSS parameters ASN1 (trailerField not 1) x509_parse_rsassa_pss_params:"a303020102":MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE:MBEDTLS_MD_SHA1:MBEDTLS_MD_SHA1:20:MBEDTLS_ERR_X509_INVALID_ALG X509 CSR ASN.1 (OK) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C:!MBEDTLS_X509_REMOVE_INFO +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:!MBEDTLS_X509_REMOVE_INFO mbedtls_x509_csr_parse:"308201183081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d04010349003046022100b49fd8c8f77abfa871908dfbe684a08a793d0f490a43d86fcf2086e4f24bb0c2022100f829d5ccd3742369299e6294394717c4b723a0f68b44e831b6e6c3bcabf97243":"CSR version \: 1\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nsigned using \: ECDSA with SHA1\nEC key size \: 256 bits\n":0 X509 CSR ASN.1 (bad first tag) @@ -2594,30 +2642,30 @@ depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED mbedtls_x509_csr_parse:"3081cd3081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d04ff":"":MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG X509 CSR ASN.1 (bad sig: missing) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_csr_parse:"3081cd3081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d0401":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CSR ASN.1 (bad sig: not a bit string) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_csr_parse:"3081cf3081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d04010400":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_UNEXPECTED_TAG X509 CSR ASN.1 (bad sig: overlong) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_csr_parse:"3081cf3081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d04010301":"":MBEDTLS_ERR_X509_INVALID_SIGNATURE + MBEDTLS_ERR_ASN1_OUT_OF_DATA X509 CSR ASN.1 (extra data after signature) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA1_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA mbedtls_x509_csr_parse:"308201193081bf0201003034310b3009060355040613024e4c3111300f060355040a1308506f6c617253534c31123010060355040313096c6f63616c686f73743059301306072a8648ce3d020106082a8648ce3d0301070342000437cc56d976091e5a723ec7592dff206eee7cf9069174d0ad14b5f768225962924ee500d82311ffea2fd2345d5d16bd8a88c26b770d55cd8a2a0efa01c8b4edffa029302706092a864886f70d01090e311a301830090603551d1304023000300b0603551d0f0404030205e0300906072a8648ce3d04010349003046022100b49fd8c8f77abfa871908dfbe684a08a793d0f490a43d86fcf2086e4f24bb0c2022100f829d5ccd3742369299e6294394717c4b723a0f68b44e831b6e6c3bcabf9724300":"":MBEDTLS_ERR_X509_INVALID_FORMAT + MBEDTLS_ERR_ASN1_LENGTH_MISMATCH X509 CSR ASN.1 (invalid version overflow) mbedtls_x509_csr_parse:"3008300602047fffffff":"":MBEDTLS_ERR_X509_UNKNOWN_VERSION X509 File parse (no issues) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt_file:"data_files/server7_int-ca.crt":0 X509 File parse (extra space in one certificate) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt_file:"data_files/server7_pem_space.crt":1 X509 File parse (all certificates fail) @@ -2625,11 +2673,11 @@ depends_on:MBEDTLS_ECDSA_C:MBEDTLS_RSA_C x509parse_crt_file:"data_files/server7_all_space.crt":MBEDTLS_ERR_PEM_INVALID_DATA + MBEDTLS_ERR_BASE64_INVALID_CHARACTER X509 File parse (trailing spaces, OK) -depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt_file:"data_files/server7_trailing_space.crt":0 X509 File parse (Algorithm Params Tag mismatch) -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C x509parse_crt_file:"data_files/cli-rsa-sha256-badalg.crt.der":MBEDTLS_ERR_X509_SIG_MISMATCH X509 Get time (UTC no issues) @@ -2745,91 +2793,91 @@ depends_on:MBEDTLS_X509_USE_C x509_get_time:MBEDTLS_ASN1_GENERALIZED_TIME:"19910229000000Z":MBEDTLS_ERR_X509_INVALID_DATE:0:0:0:0:0:0 X509 CRT verify restart: trusted EE, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED x509_verify_restart:"data_files/server5-selfsigned.crt":"data_files/server5-selfsigned.crt":0:0:0:0:0 X509 CRT verify restart: trusted EE, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED x509_verify_restart:"data_files/server5-selfsigned.crt":"data_files/server5-selfsigned.crt":0:0:1:0:0 X509 CRT verify restart: no intermediate, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5.crt":"data_files/test-ca2.crt":0:0:0:0:0 X509 CRT verify restart: no intermediate, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5.crt":"data_files/test-ca2.crt":0:0:1:100:10000 X509 CRT verify restart: no intermediate, max_ops=40000 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5.crt":"data_files/test-ca2.crt":0:0:40000:0:0 X509 CRT verify restart: no intermediate, max_ops=500 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5.crt":"data_files/test-ca2.crt":0:0:500:20:80 X509 CRT verify restart: no intermediate, badsign, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:0:0:0 X509 CRT verify restart: no intermediate, badsign, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:1:100:10000 X509 CRT verify restart: no intermediate, badsign, max_ops=40000 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:40000:0:0 X509 CRT verify restart: no intermediate, badsign, max_ops=500 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED x509_verify_restart:"data_files/server5-badsign.crt":"data_files/test-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:500:20:80 X509 CRT verify restart: one int, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3_int-ca2.crt":"data_files/test-int-ca2.crt":0:0:0:0:0 X509 CRT verify restart: one int, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3_int-ca2.crt":"data_files/test-int-ca2.crt":0:0:1:100:10000 X509 CRT verify restart: one int, max_ops=30000 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3_int-ca2.crt":"data_files/test-int-ca2.crt":0:0:30000:0:0 X509 CRT verify restart: one int, max_ops=500 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3_int-ca2.crt":"data_files/test-int-ca2.crt":0:0:500:25:100 X509 CRT verify restart: one int, EE badsign, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10-bs_int3.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:0:0:0 X509 CRT verify restart: one int, EE badsign, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10-bs_int3.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:1:100:10000 X509 CRT verify restart: one int, EE badsign, max_ops=30000 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10-bs_int3.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:30000:0:0 X509 CRT verify restart: one int, EE badsign, max_ops=500 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10-bs_int3.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:500:25:100 X509 CRT verify restart: one int, int badsign, max_ops=0 (disabled) -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3-bs.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:0:0:0 X509 CRT verify restart: one int, int badsign, max_ops=1 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3-bs.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:1:100:10000 X509 CRT verify restart: one int, int badsign, max_ops=30000 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3-bs.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:30000:0:0 X509 CRT verify restart: one int, int badsign, max_ops=500 -depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_SHA256_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C +depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECDSA_C:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_RSA_C x509_verify_restart:"data_files/server10_int3-bs.pem":"data_files/test-int-ca2.crt":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_NOT_TRUSTED:500:25:100 X509 ext types accessor: ext type present diff --git a/tests/suites/test_suite_x509parse.function b/tests/suites/test_suite_x509parse.function index 3bb68d9d53..2585720ed5 100644 --- a/tests/suites/test_suite_x509parse.function +++ b/tests/suites/test_suite_x509parse.function @@ -10,6 +10,8 @@ #include "mbedtls/error.h" #include "string.h" +#include "mbedtls/legacy_or_psa.h" + #if MBEDTLS_X509_MAX_INTERMEDIATE_CA > 19 #error "The value of MBEDTLS_X509_MAX_INTERMEDIATE_C is larger \ than the current threshold 19. To test larger values, please \ @@ -244,36 +246,30 @@ int verify_parse_san( mbedtls_x509_subject_alternative_name *san, switch( san->type ) { - case( MBEDTLS_X509_SAN_OTHER_NAME ): - ret = mbedtls_snprintf( p, n, "\notherName :"); - MBEDTLS_X509_SAFE_SNPRINTF; - - if( MBEDTLS_OID_CMP( MBEDTLS_OID_ON_HW_MODULE_NAME, - &san->san.other_name.value.hardware_module_name.oid ) != 0 ) - { - ret = mbedtls_snprintf( p, n, " hardware module name :" ); - MBEDTLS_X509_SAFE_SNPRINTF; - ret = mbedtls_snprintf( p, n, " hardware type : " ); - MBEDTLS_X509_SAFE_SNPRINTF; - - ret = mbedtls_oid_get_numeric_string( p, n, - &san->san.other_name.value.hardware_module_name.oid ); - MBEDTLS_X509_SAFE_SNPRINTF; - - ret = mbedtls_snprintf( p, n, ", hardware serial number : " ); - MBEDTLS_X509_SAFE_SNPRINTF; - - if( san->san.other_name.value.hardware_module_name.val.len >= n ) - { - *p = '\0'; - return( MBEDTLS_ERR_X509_BUFFER_TOO_SMALL ); - } - - for( i=0; i < san->san.other_name.value.hardware_module_name.val.len; i++ ) - { - *p++ = san->san.other_name.value.hardware_module_name.val.p[i]; - } - n -= san->san.other_name.value.hardware_module_name.val.len; + case( MBEDTLS_X509_SAN_OTHER_NAME ): + ret = mbedtls_snprintf( p, n, "\notherName :"); + MBEDTLS_X509_SAFE_SNPRINTF; + + if( MBEDTLS_OID_CMP( MBEDTLS_OID_ON_HW_MODULE_NAME, + &san->san.other_name.value.hardware_module_name.oid ) != 0 ) + { + ret = mbedtls_snprintf( p, n, " hardware module name :" ); + MBEDTLS_X509_SAFE_SNPRINTF; + ret = mbedtls_snprintf( p, n, " hardware type : " ); + MBEDTLS_X509_SAFE_SNPRINTF; + + ret = mbedtls_oid_get_numeric_string( p, n, + &san->san.other_name.value.hardware_module_name.oid ); + MBEDTLS_X509_SAFE_SNPRINTF; + + ret = mbedtls_snprintf( p, n, ", hardware serial number : " ); + MBEDTLS_X509_SAFE_SNPRINTF; + + for( i = 0; i < san->san.other_name.value.hardware_module_name.val.len; i++ ) + { + ret = mbedtls_snprintf( p, n, "%02X", san->san.other_name.value.hardware_module_name.val.p[i] ); + MBEDTLS_X509_SAFE_SNPRINTF; + } } break;/* MBEDTLS_OID_ON_HW_MODULE_NAME */ case( MBEDTLS_X509_SAN_DNS_NAME ): @@ -816,13 +812,37 @@ exit: } /* END_CASE */ +/* BEGIN_CASE depends_on:MBEDTLS_X509_CRT_PARSE_C */ +void mbedtls_x509_get_name( char * rdn_sequence, int exp_ret ) +{ + unsigned char *name; + unsigned char *p; + size_t name_len; + mbedtls_x509_name head; + int ret; + + memset( &head, 0, sizeof( head ) ); + + name = mbedtls_test_unhexify_alloc( rdn_sequence, &name_len ); + p = name; + + ret = mbedtls_x509_get_name( &p, ( name + name_len ), &head ); + if( ret == 0 ) + mbedtls_asn1_free_named_data_list_shallow( head.next ); + + TEST_EQUAL( ret, exp_ret ); + + mbedtls_free( name ); +} +/* END_CASE */ + /* BEGIN_CASE depends_on:MBEDTLS_X509_CREATE_C:MBEDTLS_X509_USE_C:MBEDTLS_X509_CRT_PARSE_C:!MBEDTLS_X509_REMOVE_INFO */ void mbedtls_x509_dn_get_next( char * name_str, int next_merged, char * expected_oids, int exp_count, char * exp_dn_gets ) { int ret = 0, i; size_t len = 0, out_size; mbedtls_asn1_named_data *names = NULL; - mbedtls_x509_name parsed, *parsed_cur, *parsed_prv; + mbedtls_x509_name parsed, *parsed_cur; // Size of buf is maximum required for test cases unsigned char buf[80], *out = NULL, *c; const char *short_name; @@ -876,14 +896,7 @@ void mbedtls_x509_dn_get_next( char * name_str, int next_merged, char * expected exit: mbedtls_free( out ); mbedtls_asn1_free_named_data_list( &names ); - - parsed_cur = parsed.next; - while( parsed_cur != 0 ) - { - parsed_prv = parsed_cur; - parsed_cur = parsed_cur->next; - mbedtls_free( parsed_prv ); - } + mbedtls_asn1_free_named_data_list_shallow( parsed.next ); } /* END_CASE */ diff --git a/tests/suites/test_suite_x509write.data b/tests/suites/test_suite_x509write.data index 91fdd86d7b..c55c9d1ed7 100644 --- a/tests/suites/test_suite_x509write.data +++ b/tests/suites/test_suite_x509write.data @@ -1,142 +1,154 @@ Certificate Request check Server1 SHA1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha1":MBEDTLS_MD_SHA1:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha1":MBEDTLS_MD_SHA1:0:0:0:0:0 Certificate Request check Server1 SHA224 -depends_on:MBEDTLS_SHA224_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha224":MBEDTLS_MD_SHA224:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_224_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha224":MBEDTLS_MD_SHA224:0:0:0:0:0 Certificate Request check Server1 SHA256 -depends_on:MBEDTLS_SHA256_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha256":MBEDTLS_MD_SHA256:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha256":MBEDTLS_MD_SHA256:0:0:0:0:0 Certificate Request check Server1 SHA384 -depends_on:MBEDTLS_SHA384_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha384":MBEDTLS_MD_SHA384:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha384":MBEDTLS_MD_SHA384:0:0:0:0:0 Certificate Request check Server1 SHA512 -depends_on:MBEDTLS_SHA512_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha512":MBEDTLS_MD_SHA512:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_512_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha512":MBEDTLS_MD_SHA512:0:0:0:0:0 Certificate Request check Server1 MD5 -depends_on:MBEDTLS_MD5_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.md5":MBEDTLS_MD_MD5:0:0:0:0 +depends_on:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.md5":MBEDTLS_MD_MD5:0:0:0:0:0 Certificate Request check Server1 key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.key_usage":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.key_usage":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:0:0:0 Certificate Request check opaque Server1 key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 x509_csr_check_opaque:"data_files/server1.key":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION:0 Certificate Request check Server1 key_usage empty -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.key_usage_empty":MBEDTLS_MD_SHA1:0:1:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.key_usage_empty":MBEDTLS_MD_SHA1:0:1:0:0:0 Certificate Request check Server1 ns_cert_type -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.cert_type":MBEDTLS_MD_SHA1:0:0:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.cert_type":MBEDTLS_MD_SHA1:0:0:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:0 Certificate Request check Server1 ns_cert_type empty -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.cert_type_empty":MBEDTLS_MD_SHA1:0:0:0:1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.cert_type_empty":MBEDTLS_MD_SHA1:0:0:0:1:0 Certificate Request check Server1 key_usage + ns_cert_type -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 -x509_csr_check:"data_files/server1.key":"data_files/server1.req.ku-ct":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.ku-ct":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:0 Certificate Request check Server5 ECDSA, key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP256R1_ENABLED -x509_csr_check:"data_files/server5.key":"data_files/server5.req.ku.sha1":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION:1:0:0 +depends_on:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP256R1_ENABLED +x509_csr_check:"data_files/server5.key":"data_files/server5.req.ku.sha1":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION:1:0:0:0 + +Certificate Request check Server1, set_extension +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15 +x509_csr_check:"data_files/server1.key":"data_files/server1.req.sha256.ext":MBEDTLS_MD_SHA256:0:0:0:0:1 Certificate Request check opaque Server5 ECDSA, key_usage -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED x509_csr_check_opaque:"data_files/server5.key":MBEDTLS_MD_SHA256:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION:0 Certificate write check Server1 SHA1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"data_files/server1.crt":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"data_files/server1.crt":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, not before 1970 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"19700210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"19700210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, not after 2050 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20500210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20500210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, not before 1970, not after 2050 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"19700210144406":"20500210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"19700210144406":"20500210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, not before 2050, not after 2059 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20500210144406":"20590210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20500210144406":"20590210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:0:0:1:-1:"data_files/server1.key_usage.crt":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:"NULL":0:0:1:-1:"data_files/server1.key_usage.crt":0:0:"data_files/test-ca.crt" + +Certificate write check Server1 SHA1, one ext_key_usage +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20110212144406":"20210212144406":MBEDTLS_MD_SHA1:0:0:"serverAuth":0:0:1:-1:"data_files/server1.key_ext_usage.crt":0:0:"data_files/test-ca.crt" + +Certificate write check Server1 SHA1, two ext_key_usages +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20110212144406":"20210212144406":MBEDTLS_MD_SHA1:0:0:"codeSigning,timeStamping":0:0:1:-1:"data_files/server1.key_ext_usages.crt":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, ns_cert_type -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:1:-1:"data_files/server1.cert_type.crt":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:1:-1:"data_files/server1.cert_type.crt":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, version 1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":0:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":0:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, CA -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"data_files/server1.ca.crt":0:1:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"data_files/server1.ca.crt":0:1:"data_files/test-ca.crt" Certificate write check Server1 SHA1, RSA_ALT -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:0:-1:"data_files/server1.noauthid.crt":1:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:0:-1:"data_files/server1.noauthid.crt":1:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, RSA_ALT, key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:0:0:0:-1:"data_files/server1.key_usage_noauthid.crt":1:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:"NULL":0:0:0:-1:"data_files/server1.key_usage_noauthid.crt":1:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, RSA_ALT, ns_cert_type -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:0:-1:"data_files/server1.cert_type_noauthid.crt":1:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:0:-1:"data_files/server1.cert_type_noauthid.crt":1:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, RSA_ALT, version 1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:0:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":1:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:0:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":1:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, RSA_ALT, CA -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:0:-1:"data_files/server1.ca_noauthid.crt":1:1:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:0:-1:"data_files/server1.ca_noauthid.crt":1:1:"data_files/test-ca.crt" Certificate write check Server1 SHA1, Opaque -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"data_files/server1.crt":2:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"data_files/server1.crt":2:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, Opaque, key_usage -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:0:0:1:-1:"data_files/server1.key_usage.crt":2:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_NON_REPUDIATION | MBEDTLS_X509_KU_KEY_ENCIPHERMENT:1:"NULL":0:0:1:-1:"data_files/server1.key_usage.crt":2:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, Opaque, ns_cert_type -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:1:-1:"data_files/server1.cert_type.crt":2:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER:1:1:-1:"data_files/server1.cert_type.crt":2:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, Opaque, version 1 -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":2:0:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:MBEDTLS_X509_CRT_VERSION_1:"data_files/server1.v1.crt":2:0:"data_files/test-ca.crt" Certificate write check Server1 SHA1, Opaque, CA -depends_on:MBEDTLS_SHA1_C:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_MD5_C:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:0:0:1:-1:"data_files/server1.ca.crt":2:1:"data_files/test-ca.crt" +depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_DES_C:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server1.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=PolarSSL Test CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA1:0:0:"NULL":0:0:1:-1:"data_files/server1.ca.crt":2:1:"data_files/test-ca.crt" Certificate write check Server5 ECDSA -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED -x509_crt_check:"data_files/server5.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca2.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=Polarssl Test EC CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA256:0:0:0:0:1:-1:"data_files/server5.crt":0:0:"data_files/test-ca2.crt" +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED +x509_crt_check:"data_files/server5.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca2.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=Polarssl Test EC CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA256:0:0:"NULL":0:0:1:-1:"data_files/server5.crt":0:0:"data_files/test-ca2.crt" Certificate write check Server5 ECDSA, Opaque -depends_on:MBEDTLS_SHA256_C:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_USE_PSA_CRYPTO -x509_crt_check:"data_files/server5.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca2.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=Polarssl Test EC CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA256:0:0:0:0:1:-1:"":2:0:"data_files/test-ca2.crt" +depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA:MBEDTLS_ECDSA_C:MBEDTLS_ECDSA_DETERMINISTIC:MBEDTLS_ECP_DP_SECP384R1_ENABLED:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_USE_PSA_CRYPTO +x509_crt_check:"data_files/server5.key":"":"C=NL,O=PolarSSL,CN=PolarSSL Server 1":"data_files/test-ca2.key":"PolarSSLTest":"C=NL,O=PolarSSL,CN=Polarssl Test EC CA":"1":"20190210144406":"20290210144406":MBEDTLS_MD_SHA256:0:0:"NULL":0:0:1:-1:"":2:0:"data_files/test-ca2.crt" X509 String to Names #1 mbedtls_x509_string_to_names:"C=NL,O=Offspark\, Inc., OU=PolarSSL":"C=NL, O=Offspark\, Inc., OU=PolarSSL":0 diff --git a/tests/suites/test_suite_x509write.function b/tests/suites/test_suite_x509write.function index 8f5c947a3b..5bd814ad8f 100644 --- a/tests/suites/test_suite_x509write.function +++ b/tests/suites/test_suite_x509write.function @@ -5,6 +5,10 @@ #include "mbedtls/pem.h" #include "mbedtls/oid.h" #include "mbedtls/rsa.h" +#include "mbedtls/asn1write.h" + +#include "hash_info.h" +#include "mbedtls/legacy_or_psa.h" #if defined(MBEDTLS_RSA_C) int mbedtls_rsa_decrypt_func( void *ctx, size_t *olen, @@ -32,8 +36,7 @@ size_t mbedtls_rsa_key_len_func( void *ctx ) defined(MBEDTLS_PEM_WRITE_C) && defined(MBEDTLS_X509_CSR_WRITE_C) static int x509_crt_verifycsr( const unsigned char *buf, size_t buflen ) { - unsigned char hash[MBEDTLS_MD_MAX_SIZE]; - const mbedtls_md_info_t *md_info; + unsigned char hash[PSA_HASH_MAX_SIZE]; mbedtls_x509_csr csr; int ret = 0; @@ -45,8 +48,12 @@ static int x509_crt_verifycsr( const unsigned char *buf, size_t buflen ) goto cleanup; } - md_info = mbedtls_md_info_from_type( csr.sig_md ); - if( mbedtls_md( md_info, csr.cri.p, csr.cri.len, hash ) != 0 ) + psa_algorithm_t psa_alg = mbedtls_hash_info_psa_from_md( csr.sig_md ); + size_t hash_size = 0; + psa_status_t status = psa_hash_compute( psa_alg, csr.cri.p, csr.cri.len, + hash, PSA_HASH_MAX_SIZE, &hash_size ); + + if( status != PSA_SUCCESS ) { /* Note: this can't happen except after an internal error */ ret = MBEDTLS_ERR_X509_BAD_INPUT_DATA; @@ -54,7 +61,7 @@ static int x509_crt_verifycsr( const unsigned char *buf, size_t buflen ) } if( mbedtls_pk_verify_ext( csr.sig_pk, csr.sig_opts, &csr.pk, - csr.sig_md, hash, mbedtls_md_get_size( md_info ), + csr.sig_md, hash, mbedtls_hash_info_get_size( csr.sig_md ), csr.sig.p, csr.sig.len ) != 0 ) { ret = MBEDTLS_ERR_X509_CERT_VERIFY_FAILED; @@ -68,6 +75,56 @@ cleanup: } #endif /* MBEDTLS_USE_PSA_CRYPTO && MBEDTLS_PEM_WRITE_C && MBEDTLS_X509_CSR_WRITE_C */ +#if defined(MBEDTLS_X509_CSR_WRITE_C) + +/* + * The size of this temporary buffer is given by the sequence of functions + * called hereinafter: + * - mbedtls_asn1_write_oid() + * - 8 bytes for MBEDTLS_OID_EXTENDED_KEY_USAGE raw value + * - 1 byte for MBEDTLS_OID_EXTENDED_KEY_USAGE length + * - 1 byte for MBEDTLS_ASN1_OID tag + * - mbedtls_asn1_write_len() + * - 1 byte since we're dealing with sizes which are less than 0x80 + * - mbedtls_asn1_write_tag() + * - 1 byte + * + * This length is fine as long as this function is called using the + * MBEDTLS_OID_SERVER_AUTH OID. If this is changed in the future, then this + * buffer's length should be adjusted accordingly. + * Unfortunately there's no predefined max size for OIDs which can be used + * to set an overall upper boundary which is always guaranteed. + */ +#define EXT_KEY_USAGE_TMP_BUF_MAX_LENGTH 12 + +static int csr_set_extended_key_usage( mbedtls_x509write_csr *ctx, + const char *oid, size_t oid_len ) +{ + unsigned char buf[EXT_KEY_USAGE_TMP_BUF_MAX_LENGTH] = { 0 }; + unsigned char *p = buf + sizeof( buf ); + int ret; + size_t len = 0; + + /* + * Following functions fail anyway if the temporary buffer is not large, + * but we set an extra check here to emphasize a possible source of errors + */ + if ( oid_len > EXT_KEY_USAGE_TMP_BUF_MAX_LENGTH ) + { + return MBEDTLS_ERR_X509_BAD_INPUT_DATA; + } + + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_oid( &p, buf, oid, oid_len ) ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_len( &p, buf, ret ) ); + MBEDTLS_ASN1_CHK_ADD( len, mbedtls_asn1_write_tag( &p, buf, + MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ) ); + + ret = mbedtls_x509write_csr_set_extension( ctx, MBEDTLS_OID_EXTENDED_KEY_USAGE, + MBEDTLS_OID_SIZE( MBEDTLS_OID_EXTENDED_KEY_USAGE ), 0, p, len ); + + return ret; +} +#endif /* MBEDTLS_X509_CSR_WRITE_C */ /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -78,7 +135,7 @@ cleanup: /* BEGIN_CASE depends_on:MBEDTLS_PEM_WRITE_C:MBEDTLS_X509_CSR_WRITE_C */ void x509_csr_check( char * key_file, char * cert_req_check_file, int md_type, int key_usage, int set_key_usage, int cert_type, - int set_cert_type ) + int set_cert_type, int set_extension ) { mbedtls_pk_context key; mbedtls_x509write_csr req; @@ -96,13 +153,14 @@ void x509_csr_check( char * key_file, char * cert_req_check_file, int md_type, memset( &rnd_info, 0x2a, sizeof( mbedtls_test_rnd_pseudo_info ) ); + mbedtls_x509write_csr_init( &req ); + USE_PSA_INIT( ); mbedtls_pk_init( &key ); TEST_ASSERT( mbedtls_pk_parse_keyfile( &key, key_file, NULL, mbedtls_test_rnd_std_rand, NULL ) == 0 ); - mbedtls_x509write_csr_init( &req ); mbedtls_x509write_csr_set_md_alg( &req, md_type ); mbedtls_x509write_csr_set_key( &req, &key ); TEST_ASSERT( mbedtls_x509write_csr_set_subject_name( &req, subject_name ) == 0 ); @@ -110,6 +168,9 @@ void x509_csr_check( char * key_file, char * cert_req_check_file, int md_type, TEST_ASSERT( mbedtls_x509write_csr_set_key_usage( &req, key_usage ) == 0 ); if( set_cert_type != 0 ) TEST_ASSERT( mbedtls_x509write_csr_set_ns_cert_type( &req, cert_type ) == 0 ); + if ( set_extension != 0 ) + TEST_ASSERT( csr_set_extended_key_usage( &req, MBEDTLS_OID_SERVER_AUTH, + MBEDTLS_OID_SIZE( MBEDTLS_OID_SERVER_AUTH ) ) == 0 ); ret = mbedtls_x509write_csr_pem( &req, buf, sizeof( buf ), mbedtls_test_rnd_pseudo_rand, &rnd_info ); @@ -178,10 +239,13 @@ void x509_csr_check_opaque( char *key_file, int md_type, int key_usage, const char *subject_name = "C=NL,O=PolarSSL,CN=PolarSSL Server 1"; mbedtls_test_rnd_pseudo_info rnd_info; - PSA_INIT( ); memset( &rnd_info, 0x2a, sizeof( mbedtls_test_rnd_pseudo_info ) ); - md_alg_psa = mbedtls_psa_translate_md( (mbedtls_md_type_t) md_type ); + mbedtls_x509write_csr_init( &req ); + + USE_PSA_INIT( ); + + md_alg_psa = mbedtls_hash_info_psa_from_md( (mbedtls_md_type_t) md_type ); TEST_ASSERT( md_alg_psa != MBEDTLS_MD_NONE ); mbedtls_pk_init( &key ); @@ -199,7 +263,6 @@ void x509_csr_check_opaque( char *key_file, int md_type, int key_usage, PSA_KEY_USAGE_SIGN_HASH, PSA_ALG_NONE ) == 0 ); - mbedtls_x509write_csr_init( &req ); mbedtls_x509write_csr_set_md_alg( &req, md_type ); mbedtls_x509write_csr_set_key( &req, &key ); TEST_ASSERT( mbedtls_x509write_csr_set_subject_name( &req, subject_name ) == 0 ); @@ -226,12 +289,13 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_PEM_WRITE_C:MBEDTLS_X509_CRT_WRITE_C:MBEDTLS_SHA1_C */ +/* BEGIN_CASE depends_on:MBEDTLS_PEM_WRITE_C:MBEDTLS_X509_CRT_WRITE_C:MBEDTLS_X509_CRT_PARSE_C:MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */ void x509_crt_check( char *subject_key_file, char *subject_pwd, char *subject_name, char *issuer_key_file, char *issuer_pwd, char *issuer_name, char *serial_str, char *not_before, char *not_after, int md_type, int key_usage, int set_key_usage, + char *ext_key_usage, int cert_type, int set_cert_type, int auth_ident, int ver, char *cert_check_file, int pk_wrap, int is_ca, char *cert_verify_file ) @@ -294,7 +358,7 @@ void x509_crt_check( char *subject_key_file, char *subject_pwd, { psa_algorithm_t alg_psa, md_alg_psa; - md_alg_psa = mbedtls_psa_translate_md( (mbedtls_md_type_t) md_type ); + md_alg_psa = mbedtls_hash_info_psa_from_md( (mbedtls_md_type_t) md_type ); TEST_ASSERT( md_alg_psa != MBEDTLS_MD_NONE ); if( mbedtls_pk_get_type( &issuer_key ) == MBEDTLS_PK_ECKEY ) @@ -313,7 +377,7 @@ void x509_crt_check( char *subject_key_file, char *subject_pwd, if( pk_wrap == 2 ) TEST_ASSERT( mbedtls_pk_get_type( &issuer_key ) == MBEDTLS_PK_OPAQUE ); - TEST_ASSERT( mbedtls_test_read_mpi( &serial, 10, serial_str ) == 0 ); + TEST_ASSERT( mbedtls_test_read_mpi( &serial, serial_str ) == 0 ); if( ver != -1 ) mbedtls_x509write_crt_set_version( &crt, ver ); @@ -340,6 +404,31 @@ void x509_crt_check( char *subject_key_file, char *subject_pwd, TEST_ASSERT( mbedtls_x509write_crt_set_key_usage( &crt, key_usage ) == 0 ); if( set_cert_type != 0 ) TEST_ASSERT( mbedtls_x509write_crt_set_ns_cert_type( &crt, cert_type ) == 0 ); + if( strcmp( ext_key_usage, "NULL" ) != 0 ) + { + mbedtls_asn1_sequence exts[2]; + memset( exts, 0, sizeof(exts) ); + +#define SET_OID(x, oid) \ + do { \ + x.len = MBEDTLS_OID_SIZE(oid); \ + x.p = (unsigned char*)oid; \ + x.tag = MBEDTLS_ASN1_OID; \ + } \ + while( 0 ) + + if( strcmp( ext_key_usage, "serverAuth" ) == 0 ) + { + SET_OID( exts[0].buf, MBEDTLS_OID_SERVER_AUTH ); + } + else if( strcmp( ext_key_usage, "codeSigning,timeStamping" ) == 0 ) + { + SET_OID( exts[0].buf, MBEDTLS_OID_CODE_SIGNING ); + exts[0].next = &exts[1]; + SET_OID( exts[1].buf, MBEDTLS_OID_TIME_STAMPING ); + } + TEST_ASSERT( mbedtls_x509write_crt_set_ext_key_usage( &crt, exts ) == 0 ); + } } ret = mbedtls_x509write_crt_pem( &crt, buf, sizeof( buf ), diff --git a/visualc/VS2010/mbedTLS.vcxproj b/visualc/VS2010/mbedTLS.vcxproj index 62237b7474..0981bbf37a 100644 --- a/visualc/VS2010/mbedTLS.vcxproj +++ b/visualc/VS2010/mbedTLS.vcxproj @@ -171,6 +171,8 @@ + + @@ -182,6 +184,7 @@ + @@ -236,12 +239,15 @@ + - + + + @@ -251,6 +257,8 @@ + + @@ -292,6 +300,9 @@ + + + @@ -313,8 +324,11 @@ + + + @@ -329,6 +343,7 @@ + @@ -342,6 +357,7 @@ + @@ -357,6 +373,7 @@ + @@ -390,6 +407,7 @@ +